MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / arch / arm / mach-sa1100 / huw_webpanel.c
blob771b106202496ca174f5b27c0f36cb3dfc2ea6f8
1 /*
2 * linux/arch/arm/mach-sa1100/huw_webpanel.c
4 */
5 #include <linux/module.h>
6 #include <linux/init.h>
7 #include <linux/kernel.h>
8 #include <linux/tty.h>
10 #include <asm/hardware.h>
11 #include <asm/mach-types.h>
12 #include <asm/setup.h>
14 #include <asm/mach/arch.h>
15 #include <asm/mach/map.h>
16 #include <asm/mach/serial_sa1100.h>
18 #include "generic.h"
21 unsigned long BCR_value;
22 EXPORT_SYMBOL(BCR_value);
24 static void huw_lcd_power(int on)
26 if (on)
27 BCR_clear(BCR_TFT_NPWR);
28 else
29 BCR_set(BCR_TFT_NPWR);
32 static void huw_backlight_power(int on)
34 #error FIXME
35 if (on) {
36 BCR_set(BCR_CCFL_POW | BCR_PWM_BACKLIGHT);
37 set_current_state(TASK_UNINTERRUPTIBLE);
38 schedule_task(200 * HZ / 1000);
39 BCR_set(BCR_TFT_ENA);
43 static int __init init_huw_cs3(void)
45 // here we can place some initcode
46 // BCR_value = 0x1045bf70; //*((volatile unsigned long*)0xf1fffff0);
47 if (machine_is_huw_webpanel()) {
48 sa1100fb_lcd_power = huw_lcd_power;
49 sa1100fb_backlight_power = huw_backlight_power;
52 return 0;
55 arch_initcall(init_huw_cs3);
58 /**
59 memory information (JOR):
60 32 MByte - 256KByte bootloader (init at boot time) - 32 kByte save area
61 area size = 288 kByte (0x48000 Bytes)
62 **/
63 static struct map_desc huw_webpanel_io_desc[] __initdata = {
64 /* virtual physical length type */
65 { 0xf0000000, 0xc1fb8000, 0x00048000, MT_DEVICE }, /* Parameter */
66 { 0xf1000000, 0x18000000, 0x00100000, MT_DEVICE } /* Paules CS3, write only */
69 static void __init huw_webpanel_map_io(void)
71 sa1100_map_io();
72 iotable_init(huw_webpanel_io_desc, ARRAY_SIZE(huw_webpanel_io_desc));
74 sa1100_register_uart(0, 3);
75 sa1100_register_uart(1, 1);
79 MACHINE_START(HUW_WEBPANEL, "HuW-Webpanel")
80 MAINTAINER("Roman Jordan")
81 BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000)
82 MAPIO(huw_webpanel_map_io)
83 INITIRQ(sa1100_init_irq)
84 INITTIME(sa1100_init_time)
85 MACHINE_END