From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 14 Apr 2010 21:44:04 +0200 Subject: [U-Boot] [PATCH 1/2] Enable PXAFB for PXA27X and PXA3XX In-Reply-To: <1269583071-5818-1-git-send-email-marek.vasut@gmail.com> References: <1269583071-5818-1-git-send-email-marek.vasut@gmail.com> Message-ID: <201004142144.04618.marek.vasut@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dne P? 26. b?ezna 2010 06:57:50 Marek Vasut napsal(a): > --- > common/lcd.c | 12 ++++++------ > cpu/pxa/pxafb.c | 9 ++++++++- > include/lcd.h | 2 +- > 3 files changed, 15 insertions(+), 8 deletions(-) > > diff --git a/common/lcd.c b/common/lcd.c > index 64fb1c6..c2e350e 100644 > --- a/common/lcd.c > +++ b/common/lcd.c > @@ -41,7 +41,7 @@ > #include > #include > > -#if defined(CONFIG_PXA250) > +#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS #include > #endif > > @@ -503,7 +503,7 @@ void bitmap_plot (int x, int y) > uchar *bmap; > uchar *fb; > ushort *fb16; > -#if defined(CONFIG_PXA250) > +#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS struct pxafb_info *fbi = &panel_info.pxa; > #elif defined(CONFIG_MPC823) > volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR; > @@ -519,7 +519,7 @@ void bitmap_plot (int x, int y) > > if (NBITS(panel_info.vl_bpix) < 12) { > /* Leave room for default color map */ > -#if defined(CONFIG_PXA250) > +#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS cmap = (ushort *)fbi->palette; > #elif defined(CONFIG_MPC823) > cmap = (ushort *)&(cp- >lcd_cmap[BMP_LOGO_OFFSET*sizeof(ushort)]); > @@ -615,7 +615,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) > unsigned long pwidth = panel_info.vl_col; > unsigned colors, bpix, bmp_bpix; > unsigned long compression; > -#if defined(CONFIG_PXA250) > +#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS struct pxafb_info *fbi = &panel_info.pxa; > #elif defined(CONFIG_MPC823) > volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR; > @@ -656,7 +656,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) > #if !defined(CONFIG_MCC200) > /* MCC200 LCD doesn't need CMAP, supports 1bpp b&w only */ > if (bmp_bpix == 8) { > -#if defined(CONFIG_PXA250) > +#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS cmap = (ushort *)fbi->palette; > #elif defined(CONFIG_MPC823) > cmap = (ushort *)&(cp->lcd_cmap[255*sizeof(ushort)]); > @@ -745,7 +745,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) > WATCHDOG_RESET(); > for (j = 0; j < width; j++) { > if (bpix != 16) { > -#if defined(CONFIG_PXA250) || defined(CONFIG_ATMEL_LCD) > +#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS || defined(CONFIG_ATMEL_LCD) *(fb++) = *(bmap++); > #elif defined(CONFIG_MPC823) || defined(CONFIG_MCC200) > *(fb++) = 255 - *(bmap++); > diff --git a/cpu/pxa/pxafb.c b/cpu/pxa/pxafb.c > index d56c5f0..1cb78f0 100644 > --- a/cpu/pxa/pxafb.c > +++ b/cpu/pxa/pxafb.c > @@ -292,7 +292,9 @@ static int pxafb_init_mem (void *lcdbase, vidinfo_t > *vid) > > return 0; > } > - > +#ifdef CONFIG_CPU_MONAHANS > +static inline void pxafb_setup_gpio (vidinfo_t *vid) {} > +#else > static void pxafb_setup_gpio (vidinfo_t *vid) > { > u_long lccr0; > @@ -349,6 +351,7 @@ static void pxafb_setup_gpio (vidinfo_t *vid) > printf("pxafb_setup_gpio: unable to determine bits per pixel\n"); > } > } > +#endif > > static void pxafb_enable_controller (vidinfo_t *vid) > { > @@ -363,7 +366,11 @@ static void pxafb_enable_controller (vidinfo_t *vid) > FDADR1 = vid->pxa.fdadr1; > LCCR0 |= LCCR0_ENB; > > +#ifdef CONFIG_CPU_MONAHANS > + CKENA |= CKENA_1_LCD; > +#else > CKEN |= CKEN16_LCD; > +#endif > > debug("FDADR0 = 0x%08x\n", (unsigned int)FDADR0); > debug("FDADR1 = 0x%08x\n", (unsigned int)FDADR1); > diff --git a/include/lcd.h b/include/lcd.h > index 1f85daa..cd9d49d 100644 > --- a/include/lcd.h > +++ b/include/lcd.h > @@ -87,7 +87,7 @@ typedef struct vidinfo { > u_char vl_wbf; /* Wait between frames */ > } vidinfo_t; > > -#elif defined CONFIG_PXA250 > +#elif defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined > CONFIG_CPU_MONAHANS /* > * PXA LCD DMA descriptor > */ Hi, any updates?