]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/video/atmel_hlcdfb.c
video: atmel: implement lcd_setcolreg function
[karo-tx-uboot.git] / drivers / video / atmel_hlcdfb.c
index beb7fa396ea94dc60a071aa3b9ce70241b268798..b10ca4b67719b33368b540ef941e4e09ffd8349f 100644 (file)
@@ -51,6 +51,18 @@ short console_row;
 #define lcdc_readl(reg)                __raw_readl((reg))
 #define lcdc_writel(reg, val)  __raw_writel((val), (reg))
 
+/*
+ * the CLUT register map as following
+ * RCLUT(24 ~ 16), GCLUT(15 ~ 8), BCLUT(7 ~ 0)
+ */
+void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
+{
+       lcdc_writel(((red << LCDC_BASECLUT_RCLUT_Pos) & LCDC_BASECLUT_RCLUT_Msk)
+               | ((green << LCDC_BASECLUT_GCLUT_Pos) & LCDC_BASECLUT_GCLUT_Msk)
+               | ((blue << LCDC_BASECLUT_BCLUT_Pos) & LCDC_BASECLUT_BCLUT_Msk),
+               panel_info.mmio + ATMEL_LCDC_LUT(regno));
+}
+
 void lcd_ctrl_init(void *lcdbase)
 {
        unsigned long value;