aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32
diff options
context:
space:
mode:
Diffstat (limited to 'arch/avr32')
-rw-r--r--arch/avr32/boards/atngw100/evklcd10x.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/avr32/boards/atngw100/evklcd10x.c b/arch/avr32/boards/atngw100/evklcd10x.c
index fbc7b03ef886..4e3ab8e08007 100644
--- a/arch/avr32/boards/atngw100/evklcd10x.c
+++ b/arch/avr32/boards/atngw100/evklcd10x.c
@@ -11,6 +11,7 @@
11 11
12#include <linux/init.h> 12#include <linux/init.h>
13#include <linux/linkage.h> 13#include <linux/linkage.h>
14#include <linux/gpio.h>
14#include <linux/fb.h> 15#include <linux/fb.h>
15#include <linux/platform_device.h> 16#include <linux/platform_device.h>
16 17
@@ -19,6 +20,7 @@
19#include <asm/setup.h> 20#include <asm/setup.h>
20 21
21#include <mach/at32ap700x.h> 22#include <mach/at32ap700x.h>
23#include <mach/portmux.h>
22#include <mach/board.h> 24#include <mach/board.h>
23 25
24static struct ac97c_platform_data __initdata ac97c0_data = { 26static struct ac97c_platform_data __initdata ac97c0_data = {
@@ -144,13 +146,29 @@ static struct atmel_lcdfb_info __initdata atevklcd10x_lcdc_data = {
144}; 146};
145#endif 147#endif
146 148
149static void atevklcd10x_lcdc_power_control(int on)
150{
151 gpio_set_value(GPIO_PIN_PB(15), on);
152}
153
147static int __init atevklcd10x_init(void) 154static int __init atevklcd10x_init(void)
148{ 155{
149 at32_add_device_ac97c(0, &ac97c0_data); 156 /* PB15 is connected to the enable line on the boost regulator
157 * controlling the backlight for the LCD panel.
158 */
159 at32_select_gpio(GPIO_PIN_PB(15), AT32_GPIOF_OUTPUT);
160 gpio_request(GPIO_PIN_PB(15), "backlight");
161 gpio_direction_output(GPIO_PIN_PB(15), 0);
162
163 atevklcd10x_lcdc_data.atmel_lcdfb_power_control =
164 atevklcd10x_lcdc_power_control;
150 165
151 at32_add_device_lcdc(0, &atevklcd10x_lcdc_data, 166 at32_add_device_lcdc(0, &atevklcd10x_lcdc_data,
152 fbmem_start, fbmem_size, 167 fbmem_start, fbmem_size,
153 ATMEL_LCDC_ALT_18BIT | ATMEL_LCDC_PE_DVAL); 168 ATMEL_LCDC_ALT_18BIT | ATMEL_LCDC_PE_DVAL);
169
170 at32_add_device_ac97c(0, &ac97c0_data);
171
154 return 0; 172 return 0;
155} 173}
156postcore_initcall(atevklcd10x_init); 174postcore_initcall(atevklcd10x_init);