aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2019-01-03 15:34:44 -0500
committerTom Rini <trini@konsulko.com>2019-01-03 15:34:44 -0500
commit53240275666acf32cb9811e44eaf2fd571a6cb75 (patch)
treeb7b219cc65acb70f58a8845e72d723d56c89949b
parent7436f5e54d35bcad53befec90e2e67288071f74e (diff)
parentdaaba089f9dd3eee779a995abccc7e9c12a4d8bf (diff)
downloadu-boot-53240275666acf32cb9811e44eaf2fd571a6cb75.zip
u-boot-53240275666acf32cb9811e44eaf2fd571a6cb75.tar.gz
u-boot-53240275666acf32cb9811e44eaf2fd571a6cb75.tar.bz2
Merge tag 'for-v2019.01' of git://git.denx.de/u-boot-video
TrueType fixes and documentation
-rw-r--r--configs/chromebook_jerry_defconfig3
-rw-r--r--doc/README.video20
-rw-r--r--drivers/video/fonts/Kconfig1
-rw-r--r--test/dm/video.c6
4 files changed, 26 insertions, 4 deletions
diff --git a/configs/chromebook_jerry_defconfig b/configs/chromebook_jerry_defconfig
index d892d65..94a1af0 100644
--- a/configs/chromebook_jerry_defconfig
+++ b/configs/chromebook_jerry_defconfig
@@ -80,7 +80,6 @@ CONFIG_ROCKCHIP_SPI=y
CONFIG_SYSRESET=y
CONFIG_USB=y
CONFIG_ROCKCHIP_USB2_PHY=y
-CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
CONFIG_USB_GADGET_VENDOR_NUM=0x2207
@@ -88,10 +87,12 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x320a
CONFIG_USB_GADGET_DWC2_OTG=y
CONFIG_USB_FUNCTION_MASS_STORAGE=y
CONFIG_DM_VIDEO=y
+CONFIG_CONSOLE_TRUETYPE=y
CONFIG_DISPLAY=y
CONFIG_VIDEO_ROCKCHIP=y
CONFIG_DISPLAY_ROCKCHIP_EDP=y
CONFIG_DISPLAY_ROCKCHIP_HDMI=y
+# CONFIG_USE_PRIVATE_LIBGCC is not set
CONFIG_USE_TINY_PRINTF=y
CONFIG_CMD_DHRYSTONE=y
CONFIG_ERRNO_STR=y
diff --git a/doc/README.video b/doc/README.video
index 09a26b1..ced35bd 100644
--- a/doc/README.video
+++ b/doc/README.video
@@ -75,3 +75,23 @@ The sunxi U-Boot driver supports the following video-mode options:
For example to always use the hdmi connector, even if no cable is inserted,
using edid info when available and otherwise initalizing it at 1024x768@60Hz,
use: "setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1".
+
+
+TrueType fonts
+--------------
+
+U-Boot supports the use of antialiased TrueType fonts on some platforms. This
+has been tested in x86, ARMv7 and sandbox.
+
+To enable this, select CONFIG_CONSOLE_TRUETYPE. You can choose between several
+fonts, with CONSOLE_TRUETYPE_NIMBUS being the default.
+
+TrueType support requires floating point at present. On ARMv7 platforms you
+need to disable use of the private libgcc. You can do this by disabling
+CONFIG_USE_PRIVATE_LIBGCC. See chromebook_jerry for an example. Note that this
+increases U-Boot's size by about 70KB at present.
+
+On ARM you should also make sure your toolchain supports hardfp. This is
+normally given in the name of your toolchain, e.g. arm-linux-gnueabihf (hf
+means hardware floating point). You can also run gcc with -v to see if it has
+this option.
diff --git a/drivers/video/fonts/Kconfig b/drivers/video/fonts/Kconfig
index 3f1398d..c692fa9 100644
--- a/drivers/video/fonts/Kconfig
+++ b/drivers/video/fonts/Kconfig
@@ -7,6 +7,7 @@ menu "TrueType Fonts"
config CONSOLE_TRUETYPE_NIMBUS
bool "Nimbus Sans Regular"
depends on CONSOLE_TRUETYPE
+ default y
help
Nimbus Sans L is a version of Nimbus Sans using Adobe font sources.
It was designed in 1987. A subset of Nimbus Sans L were released
diff --git a/test/dm/video.c b/test/dm/video.c
index 5d1faac..6be5def 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
@@ -335,7 +335,7 @@ static int dm_test_video_truetype(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
- ut_asserteq(12619, compress_frame_buffer(dev));
+ ut_asserteq(12237, compress_frame_buffer(dev));
return 0;
}
@@ -356,7 +356,7 @@ static int dm_test_video_truetype_scroll(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
- ut_asserteq(33849, compress_frame_buffer(dev));
+ ut_asserteq(35030, compress_frame_buffer(dev));
return 0;
}
@@ -377,7 +377,7 @@ static int dm_test_video_truetype_bs(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &con));
vidconsole_put_string(con, test_string);
- ut_asserteq(34871, compress_frame_buffer(dev));
+ ut_asserteq(29018, compress_frame_buffer(dev));
return 0;
}