17 #include <linux/errno.h>
20 #include <linux/slab.h>
21 #include <linux/module.h>
23 #include <linux/types.h>
32 #define LASI_VER 0xC008
34 #define LASI_IO_CONF 0x7FFFE
35 #define LASI_IO_CONF2 0x7FFFF
41 switch (dev->
id.sversion) {
42 case 0x74: irq = 7;
break;
43 case 0x7B: irq = 13;
break;
44 case 0x81: irq = 14;
break;
45 case 0x82: irq = 9;
break;
46 case 0x83: irq = 20;
break;
47 case 0x84: irq = 26;
break;
48 case 0x87: irq = 18;
break;
49 case 0x8A: irq = 8;
break;
50 case 0x8C: irq = 5;
break;
51 case 0x8D: irq = (dev->
hw_path == 13) ? 16 : 17;
break;
60 lasi_init_irq(
struct gsc_asic *this_lasi)
62 unsigned long lasi_base = this_lasi->
hpa;
77 gsc_writel(0xFFFFFFFF, lasi_base+0x4004);
80 gsc_writel(0xFFFFFFFF, lasi_base+0x7000);
81 gsc_writel(0xFFFFFFFF, lasi_base+0x8000);
82 gsc_writel(0xFFFFFFFF, lasi_base+0xA000);
104 #ifndef CONFIG_CHASSIS_LCD_LED
106 #define lasi_led_init(x)
112 unsigned long datareg;
123 datareg = lasi_hpa + 0x0000C000;
124 gsc_writeb(0, datareg);
133 datareg = lasi_hpa - 0x00020000;
137 datareg = lasi_hpa + 0x0000C000;
155 static void lasi_power_off(
void)
157 unsigned long datareg;
160 datareg = lasi_power_off_hpa + 0x0000C000;
163 gsc_writel(0x02, datareg);
178 lasi->
hpa = dev->
hpa.start;
224 lasi_power_off_hpa = lasi->
hpa;
237 .id_table = lasi_tbl,
238 .probe = lasi_init_chip,