INKA4x0: Allow initialization of LCD backlight dimming from
authorwdenk <wdenk>
Mon, 14 Mar 2005 13:14:58 +0000 (13:14 +0000)
committerwdenk <wdenk>
Mon, 14 Mar 2005 13:14:58 +0000 (13:14 +0000)
"brightness" environment variable.

CHANGELOG
board/inka4x0/inka4x0.c
include/configs/inka4x0.h
include/mpc5xxx.h

index a5e679a..ad06b11 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,9 @@ Changes for U-Boot 1.1.3:
 * Patch by Stefan Roese, 14 March 2005:
   Update for esd voh405 fpga image
 
+* INKA4x0: Allow initialization of LCD backlight dimming from
+  "brightness" environment variable.
+
 * Add port initialization for digital I/O on INKA4x0
 
 * Patch by Stefan Roese, 01 March 2005:
index f5e32cc..c17b8fe 100644 (file)
@@ -177,6 +177,16 @@ void flash_preinit(void)
 
 int misc_init_f (void)
 {
+       uchar tmp[10];
+       int i, br;
+
+       i = getenv_r("brightness", tmp, sizeof(tmp));
+       br = (i > 0)
+               ? (int) simple_strtoul (tmp, NULL, 10)
+               : CFG_BRIGHTNESS;
+       if (br > 255)
+               br = 255;
+
        /* Initialize GPIO output pins.
         */
        /* Configure GPT as GPIO output */
@@ -187,6 +197,11 @@ int misc_init_f (void)
        *(vu_long *)MPC5XXX_GPT4_ENABLE =
        *(vu_long *)MPC5XXX_GPT5_ENABLE = 0x24;
 
+       /* Configure GPT7 as PWM timer, 1kHz, no ints. */
+       *(vu_long *)MPC5XXX_GPT7_ENABLE = 0;/* Disable */
+       *(vu_long *)MPC5XXX_GPT7_COUNTER = 0x020000fe;
+       *(vu_long *)MPC5XXX_GPT7_PWMCFG = (br << 16);
+       *(vu_long *)MPC5XXX_GPT7_ENABLE = 0x3;/* Enable PWM mode and start */
 
        /* Configure PSC3_6,7 as GPIO output */
        *(vu_long *)MPC5XXX_GPIO_ENABLE |= 0x00003000;
index c817d2c..9e98e63 100644 (file)
 #define CFG_ATA_STRIDE          4
 
 #define CONFIG_ATAPI            1
+#define CFG_BRIGHTNESS          0x20
 
 #endif /* __CONFIG_H */
index 565e1cf..887dc3e 100644 (file)
 #define MPC5XXX_GPT7_ENABLE            (MPC5XXX_GPT + 0x70)
 #define MPC5XXX_GPT7_COUNTER           (MPC5XXX_GPT + 0x74)
 
+#define MPC5XXX_GPT7_PWMCFG            (MPC5XXX_GPT + 0x78)
 
 /* ATA registers */
 #define MPC5XXX_ATA_HOST_CONFIG         (MPC5XXX_ATA + 0x0000)