INKA4x0: Allow initialization of LCD backlight dimming from
"brightness" environment variable.
diff --git a/CHANGELOG b/CHANGELOG
index a5e679a..ad06b11 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,9 @@
 * 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:
diff --git a/board/inka4x0/inka4x0.c b/board/inka4x0/inka4x0.c
index f5e32cc..c17b8fe 100644
--- a/board/inka4x0/inka4x0.c
+++ b/board/inka4x0/inka4x0.c
@@ -177,6 +177,16 @@
 
 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 @@
 	*(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;
diff --git a/include/configs/inka4x0.h b/include/configs/inka4x0.h
index c817d2c..9e98e63 100644
--- a/include/configs/inka4x0.h
+++ b/include/configs/inka4x0.h
@@ -324,5 +324,6 @@
 #define CFG_ATA_STRIDE          4
 
 #define CONFIG_ATAPI            1
+#define CFG_BRIGHTNESS          0x20
 
 #endif /* __CONFIG_H */
diff --git a/include/mpc5xxx.h b/include/mpc5xxx.h
index 565e1cf..887dc3e 100644
--- a/include/mpc5xxx.h
+++ b/include/mpc5xxx.h
@@ -248,6 +248,7 @@
 #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)