At present only a 16bpp display is supported for Truetype fonts. Add
support for 32bpp also since this is quite common.

Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed-by: Anatolij Gustschin <ag...@denx.de>
---

Changes in v2: None

 drivers/video/console_truetype.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
index 30086600fb..0a725c5c15 100644
--- a/drivers/video/console_truetype.c
+++ b/drivers/video/console_truetype.c
@@ -286,6 +286,27 @@ static int console_truetype_putc_xy(struct udevice *dev, 
uint x, uint y,
                        }
                        break;
                }
+#endif
+#ifdef CONFIG_VIDEO_BPP32
+               case VIDEO_BPP32: {
+                       u32 *dst = (u32 *)line + xoff;
+                       int i;
+
+                       for (i = 0; i < width; i++) {
+                               int val = *bits;
+                               int out;
+
+                               if (vid_priv->colour_bg)
+                                       val = 255 - val;
+                               out = val | val << 8 | val << 16;
+                               if (vid_priv->colour_fg)
+                                       *dst++ |= out;
+                               else
+                                       *dst++ &= out;
+                               bits++;
+                       }
+                       break;
+               }
 #endif
                default:
                        free(data);
-- 
2.25.0.341.g760bfbb309-goog

Reply via email to