diff options
-rw-r--r-- | sys/arch/arm/xscale/pxa2x0_lcd.c | 11 | ||||
-rw-r--r-- | sys/arch/arm/xscale/pxa2x0_lcd.h | 4 | ||||
-rw-r--r-- | sys/arch/arm/xscale/pxa2x0reg.h | 6 |
3 files changed, 10 insertions, 11 deletions
diff --git a/sys/arch/arm/xscale/pxa2x0_lcd.c b/sys/arch/arm/xscale/pxa2x0_lcd.c index fd2d2b2d0bd..ebf19167fb0 100644 --- a/sys/arch/arm/xscale/pxa2x0_lcd.c +++ b/sys/arch/arm/xscale/pxa2x0_lcd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pxa2x0_lcd.c,v 1.20 2005/09/15 20:23:10 miod Exp $ */ +/* $OpenBSD: pxa2x0_lcd.c,v 1.21 2005/12/22 18:45:46 deraadt Exp $ */ /* $NetBSD: pxa2x0_lcd.c,v 1.8 2003/10/03 07:24:05 bsh Exp $ */ /* @@ -89,8 +89,6 @@ void pxa2x0_lcd_setup_rasops(struct rasops_info *, void pxa2x0_lcd_start_dma(bus_space_tag_t, bus_space_handle_t, struct pxa2x0_lcd_screen *); void pxa2x0_lcd_stop_dma(bus_space_tag_t, bus_space_handle_t); -void pxa2x0_lcd_suspend(struct pxa2x0_lcd_softc *); -void pxa2x0_lcd_resume(struct pxa2x0_lcd_softc *); /* * Setup display geometry parameters. @@ -191,8 +189,7 @@ pxa2x0_lcd_initialize(bus_space_tag_t iot, bus_space_handle_t ioh, LCDPANEL_DUAL)) { /* active and color dual panel need L_DD[15:0] */ nldd = 16; - } else - if ((geom->panel_info & LCDPANEL_DUAL) || + } else if ((geom->panel_info & LCDPANEL_DUAL) || !(geom->panel_info & LCDPANEL_MONOCHROME)) { /* dual or color need L_DD[7:0] */ nldd = 8; @@ -827,8 +824,8 @@ pxa2x0_lcd_suspend(struct pxa2x0_lcd_softc *sc) if (sc->active != NULL) { pxa2x0_lcd_stop_dma(sc->iot, sc->ioh); + pxa2x0_clkman_config(CKEN_LCD, 0); - delay(1000000); /* XXX */ } } @@ -840,8 +837,6 @@ pxa2x0_lcd_resume(struct pxa2x0_lcd_softc *sc) pxa2x0_lcd_initialize(sc->iot, sc->ioh, sc->geometry, pxa2x0_clkman_config); pxa2x0_lcd_start_dma(sc->iot, sc->ioh, sc->active); - /* XXX wait here to avoid a weird fade-in effect. */ - delay(1000000); } } diff --git a/sys/arch/arm/xscale/pxa2x0_lcd.h b/sys/arch/arm/xscale/pxa2x0_lcd.h index 221769c0238..84b7a51ecaf 100644 --- a/sys/arch/arm/xscale/pxa2x0_lcd.h +++ b/sys/arch/arm/xscale/pxa2x0_lcd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pxa2x0_lcd.h,v 1.10 2005/09/15 20:23:10 miod Exp $ */ +/* $OpenBSD: pxa2x0_lcd.h,v 1.11 2005/12/22 18:45:46 deraadt Exp $ */ /* $NetBSD: pxa2x0_lcd.h,v 1.2 2003/06/17 09:43:14 bsh Exp $ */ /* * Copyright (c) 2002 Genetec Corporation. All rights reserved. @@ -142,5 +142,7 @@ paddr_t pxa2x0_lcd_mmap(void *, off_t, int); int pxa2x0_lcd_show_screen(void *, void *, int, void (*)(void *, int, int), void *); void pxa2x0_lcd_power(int, void *); +void pxa2x0_lcd_suspend(struct pxa2x0_lcd_softc *); +void pxa2x0_lcd_resume(struct pxa2x0_lcd_softc *); #endif /* _ARM_XSCALE_PXA2X0_LCD_H */ diff --git a/sys/arch/arm/xscale/pxa2x0reg.h b/sys/arch/arm/xscale/pxa2x0reg.h index 74a8b639d04..8797f521ec9 100644 --- a/sys/arch/arm/xscale/pxa2x0reg.h +++ b/sys/arch/arm/xscale/pxa2x0reg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pxa2x0reg.h,v 1.24 2005/12/02 19:22:21 deraadt Exp $ */ +/* $OpenBSD: pxa2x0reg.h,v 1.25 2005/12/22 18:45:47 deraadt Exp $ */ /* $NetBSD: pxa2x0reg.h,v 1.4 2003/06/11 20:43:01 scw Exp $ */ /* @@ -121,7 +121,7 @@ #define PXA2X0_LCDC_BASE 0x44000000 /* LCD Controller */ #define PXA2X0_LCDC_SIZE 0x220 #define PXA2X0_MEMCTL_BASE 0x48000000 /* Memory Controller */ -#define PXA2X0_MEMCTL_SIZE 0x48 +#define PXA2X0_MEMCTL_SIZE 0x84 #define PXA2X0_USBHC_BASE 0x4c000000 /* USB Host Controller */ #define PXA2X0_USBHC_SIZE 0x70 @@ -518,6 +518,8 @@ struct pxa2x0_dma_desc { #define MEMCTL_MDMRS 0x0040 +#define MEMCTL_ARB_CNTRL 0x0048 /* System Bus Arbiter */ + /* * LCD Controller */ |