]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - drivers/video/mpc8xx_lcd.c
odroid: remove CONFIG_DM_I2C_COMPAT config
[people/ms/u-boot.git] / drivers / video / mpc8xx_lcd.c
index 2bc3ceb418bdf3c12aae70b280ea723777608502..b08576eab203f3ef6a6f6ab4ab348128fdff38da 100644 (file)
@@ -15,7 +15,6 @@
 #include <common.h>
 #include <command.h>
 #include <watchdog.h>
-#include <version.h>
 #include <stdarg.h>
 #include <lcdvideo.h>
 #include <linux/types.h>
 #define CONFIG_LCD_INFO                /* Display Logo, (C) and system info    */
 #endif
 
-#if defined(CONFIG_EDT32F10)
-#undef CONFIG_LCD_LOGO
-#undef CONFIG_LCD_INFO
-#endif
-
 /*----------------------------------------------------------------------*/
 #ifdef CONFIG_KYOCERA_KCS057QV1AJ
 /*
@@ -224,20 +218,6 @@ vidinfo_t panel_info = {
 };
 #endif /* CONFIG_OPTREX_BW */
 
-/*-----------------------------------------------------------------*/
-#ifdef CONFIG_EDT32F10
-/*
- * Emerging Display Technologies 320x240. Passive, monochrome, single scan.
- */
-#define LCD_BPP                LCD_MONOCHROME
-#define LCD_DF         10
-
-vidinfo_t panel_info = {
-    320, 240, 0, 0, CONFIG_SYS_HIGH, CONFIG_SYS_HIGH, CONFIG_SYS_HIGH, CONFIG_SYS_HIGH, CONFIG_SYS_LOW,
-    LCD_BPP,  0, 0, 0, 0, 33, 0, 0, 0
-};
-#endif
-
 /************************************************************************/
 /* ----------------- chipset specific functions ----------------------- */
 /************************************************************************/
@@ -305,7 +285,6 @@ void lcd_ctrl_init (void *lcdbase)
        immr->im_clkrst.car_sccr &= ~0x1F;
        immr->im_clkrst.car_sccr |= LCD_DF;     /* was 8 */
 
-#if !defined(CONFIG_EDT32F10)
        /* Enable LCD on port D.
         */
        immr->im_ioport.iop_pdpar |= 0x1FFF;
@@ -315,14 +294,6 @@ void lcd_ctrl_init (void *lcdbase)
         */
        immr->im_cpm.cp_pbpar |= 0x00005001;
        immr->im_cpm.cp_pbdir |= 0x00005001;
-#else
-       /* Enable LCD on port D.
-        */
-       immr->im_ioport.iop_pdpar |= 0x1DFF;
-       immr->im_ioport.iop_pdpar &= ~0x0200;
-       immr->im_ioport.iop_pddir |= 0x1FFF;
-       immr->im_ioport.iop_pddat |= 0x0200;
-#endif
 
        /* Load the physical address of the linear frame buffer
         * into the LCD controller.
@@ -373,9 +344,7 @@ lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue)
        colreg = ((red   & 0x0F) << 8) |
                 ((green & 0x0F) << 4) |
                  (blue  & 0x0F) ;
-#ifdef CONFIG_SYS_INVERT_COLORS
-       colreg ^= 0x0FFF;
-#endif
+
        *cmap_ptr = colreg;
 
        debug ("setcolreg: reg %2d @ %p: R=%02X G=%02X B=%02X => %02X%02X\n",
@@ -387,22 +356,34 @@ lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue)
 
 /*----------------------------------------------------------------------*/
 
-#if LCD_BPP == LCD_MONOCHROME
-static
-void lcd_initcolregs (void)
+ushort *configuration_get_cmap(void)
 {
-       volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
-       volatile cpm8xx_t *cp = &(immr->im_cpm);
-       ushort regno;
+       immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
+       cpm8xx_t *cp = &(immr->im_cpm);
+       return (ushort *)&(cp->lcd_cmap[255 * sizeof(ushort)]);
+}
 
-       for (regno = 0; regno < 16; regno++) {
-               cp->lcd_cmap[regno * 2] = 0;
-               cp->lcd_cmap[(regno * 2) + 1] = regno & 0x0f;
-       }
+#if defined(CONFIG_MPC823)
+void fb_put_byte(uchar **fb, uchar **from)
+{
+       *(*fb)++ = (255 - *(*from)++);
 }
 #endif
 
-/*----------------------------------------------------------------------*/
+#ifdef CONFIG_LCD_LOGO
+#include <bmp_logo.h>
+void lcd_logo_set_cmap(void)
+{
+       int i;
+       ushort *cmap;
+       immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
+       cpm8xx_t *cp = &(immr->im_cpm);
+       cmap = (ushort *)&(cp->lcd_cmap[BMP_LOGO_OFFSET * sizeof(ushort)]);
+
+       for (i = 0; i < BMP_LOGO_COLORS; ++i)
+               *cmap++ = bmp_logo_palette[i];
+}
+#endif
 
 void lcd_enable (void)
 {
@@ -412,59 +393,6 @@ void lcd_enable (void)
        /* Enable the LCD panel */
        immr->im_siu_conf.sc_sdcr |= (1 << (31 - 25));          /* LAM = 1 */
        lcdp->lcd_lccr |= LCCR_PON;
-
-#if defined(CONFIG_LWMON)
-    {  uchar c = pic_read (0x60);
-#if defined(CONFIG_LCD) && defined(CONFIG_LWMON) && (CONFIG_POST & CONFIG_SYS_POST_SYSMON)
-       /* Enable LCD later in sysmon test, only if temperature is OK */
-#else
-       c |= 0x07;      /* Power on CCFL, Enable CCFL, Chip Enable LCD */
-#endif
-       pic_write (0x60, c);
-    }
-#endif /* CONFIG_LWMON */
-
-#if defined(CONFIG_R360MPI)
-    {
-       extern void r360_i2c_lcd_write (uchar data0, uchar data1);
-       unsigned long bgi, ctr;
-       char *p;
-
-       if ((p = getenv("lcdbgi")) != NULL) {
-               bgi = simple_strtoul (p, 0, 10) & 0xFFF;
-       } else {
-               bgi = 0xFFF;
-       }
-
-       if ((p = getenv("lcdctr")) != NULL) {
-               ctr = simple_strtoul (p, 0, 10) & 0xFFF;
-       } else {
-               ctr=0x7FF;
-       }
-
-       r360_i2c_lcd_write(0x10, 0x01);
-       r360_i2c_lcd_write(0x20, 0x01);
-       r360_i2c_lcd_write(0x30 | ((bgi>>8) & 0xF), bgi & 0xFF);
-       r360_i2c_lcd_write(0x40 | ((ctr>>8) & 0xF), ctr & 0xFF);
-    }
-#endif /* CONFIG_R360MPI */
-#ifdef CONFIG_RRVISION
-       debug ("PC4->Output(1): enable LVDS\n");
-       debug ("PC5->Output(0): disable PAL clock\n");
-       immr->im_ioport.iop_pddir |=  0x1000;
-       immr->im_ioport.iop_pcpar &= ~(0x0C00);
-       immr->im_ioport.iop_pcdir |=   0x0C00 ;
-       immr->im_ioport.iop_pcdat |=   0x0800 ;
-       immr->im_ioport.iop_pcdat &= ~(0x0400);
-       debug ("PDPAR=0x%04X PDDIR=0x%04X PDDAT=0x%04X\n",
-              immr->im_ioport.iop_pdpar,
-              immr->im_ioport.iop_pddir,
-              immr->im_ioport.iop_pddat);
-       debug ("PCPAR=0x%04X PCDIR=0x%04X PCDAT=0x%04X\n",
-              immr->im_ioport.iop_pcpar,
-              immr->im_ioport.iop_pcdir,
-              immr->im_ioport.iop_pcdat);
-#endif
 }
 
 /************************************************************************/