X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fvideo.h;h=ddc2eeb5a95f2ae820fa24b774c7abe5eb4eeedb;hb=aa29b11b3fdeaedb9689e89e467e6bbd036780ac;hp=b20f06f335d0d93eeeea260c2cc8513201490e9f;hpb=1acafc73bfc7535c185f321012ac70821471b816;p=u-boot diff --git a/include/video.h b/include/video.h index b20f06f335..ddc2eeb5a9 100644 --- a/include/video.h +++ b/include/video.h @@ -23,6 +23,11 @@ struct video_uc_platdata { ulong base; }; +enum video_polarity { + VIDEO_ACTIVE_HIGH, /* Pins are active high */ + VIDEO_ACTIVE_LOW, /* Pins are active low */ +}; + /* * Bits per pixel selector. Each value n is such that the bits-per-pixel is * 2 ^ n @@ -49,8 +54,11 @@ enum video_log2_bpp { * * @xsize: Number of pixel columns (e.g. 1366) * @ysize: Number of pixels rows (e.g.. 768) - * @tor: Display rotation (0=none, 1=90 degrees clockwise, etc.) + * @rot: Display rotation (0=none, 1=90 degrees clockwise, etc.) * @bpix: Encoded bits per pixel + * @vidconsole_drv_name: Driver to use for the text console, NULL to + * select automatically + * @font_size: Font size in pixels (0 to use a default value) * @fb: Frame buffer * @fb_size: Frame buffer size * @line_length: Length of each frame buffer line, in bytes @@ -59,6 +67,7 @@ enum video_log2_bpp { * @flush_dcache: true to enable flushing of the data cache after * the LCD is updated * @cmap: Colour map for 8-bit-per-pixel displays + * @fg_col_idx: Foreground color code (bit 3 = bold, bit 0-2 = color) */ struct video_priv { /* Things set up by the driver: */ @@ -66,6 +75,8 @@ struct video_priv { ushort ysize; ushort rot; enum video_log2_bpp bpix; + const char *vidconsole_drv_name; + int font_size; /* * Things that are private to the uclass: don't use these in the @@ -74,10 +85,11 @@ struct video_priv { void *fb; int fb_size; int line_length; - int colour_fg; - int colour_bg; + u32 colour_fg; + u32 colour_bg; bool flush_dcache; ushort *cmap; + u8 fg_col_idx; }; /* Placeholder - there are no video operations at present */ @@ -104,6 +116,13 @@ struct video_ops { */ int video_reserve(ulong *addrp); +/** + * video_clear() - Clear a device's frame buffer to background color. + * + * @dev: Device to clear + */ +void video_clear(struct udevice *dev); + /** * video_sync() - Sync a device's frame buffer with its hardware * @@ -158,6 +177,21 @@ int video_get_xsize(struct udevice *dev); */ int video_get_ysize(struct udevice *dev); +/** + * Set whether we need to flush the dcache when changing the image. This + * defaults to off. + * + * @param flush non-zero to flush cache after update, 0 to skip + */ +void video_set_flush_dcache(struct udevice *dev, bool flush); + +/** + * Set default colors and attributes + * + * @priv device information + */ +void video_set_default_colors(struct video_priv *priv); + #endif /* CONFIG_DM_VIDEO */ #ifndef CONFIG_DM_VIDEO @@ -227,6 +261,17 @@ int lg4573_spi_startup(unsigned int bus, unsigned int cs, unsigned int max_hz, unsigned int spi_mode); #endif +/* + * video_get_info_str() - obtain a board string: type, speed, etc. + * + * This is called if CONFIG_CONSOLE_EXTRA_INFO is enabled. + * + * line_number: location to place info string beside logo + * info: buffer for info string (empty if nothing to display on this + * line) + */ +void video_get_info_str(int line_number, char *info); + #endif /* CONFIG_DM_VIDEO */ #endif