diff options
| -rw-r--r-- | arch/mips/lasat/interrupt.c | 21 | ||||
| -rw-r--r-- | arch/mips/lasat/lasat_board.c | 3 | ||||
| -rw-r--r-- | arch/mips/lasat/prom.c | 8 | ||||
| -rw-r--r-- | arch/mips/lasat/serial.c | 3 | ||||
| -rw-r--r-- | arch/mips/lasat/setup.c | 8 | ||||
| -rw-r--r-- | arch/mips/pci/pci-lasat.c | 14 | ||||
| -rw-r--r-- | include/asm-mips/bootinfo.h | 6 | ||||
| -rw-r--r-- | include/asm-mips/lasat/lasat.h | 2 |
8 files changed, 24 insertions, 41 deletions
diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c index a56c15026965..d1ac7a25c856 100644 --- a/arch/mips/lasat/interrupt.c +++ b/arch/mips/lasat/interrupt.c | |||
| @@ -22,8 +22,8 @@ | |||
| 22 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
| 23 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
| 24 | 24 | ||
| 25 | #include <asm/bootinfo.h> | ||
| 26 | #include <asm/irq_cpu.h> | 25 | #include <asm/irq_cpu.h> |
| 26 | #include <asm/lasat/lasat.h> | ||
| 27 | #include <asm/lasat/lasatint.h> | 27 | #include <asm/lasat/lasatint.h> |
| 28 | 28 | ||
| 29 | #include <irq.h> | 29 | #include <irq.h> |
| @@ -112,23 +112,18 @@ void __init arch_init_irq(void) | |||
| 112 | { | 112 | { |
| 113 | int i; | 113 | int i; |
| 114 | 114 | ||
| 115 | switch (mips_machtype) { | 115 | if (IS_LASAT_200()) { |
| 116 | case MACH_LASAT_100: | ||
| 117 | lasat_int_status = (void *)LASAT_INT_STATUS_REG_100; | ||
| 118 | lasat_int_mask = (void *)LASAT_INT_MASK_REG_100; | ||
| 119 | lasat_int_mask_shift = LASATINT_MASK_SHIFT_100; | ||
| 120 | get_int_status = get_int_status_100; | ||
| 121 | *lasat_int_mask = 0; | ||
| 122 | break; | ||
| 123 | case MACH_LASAT_200: | ||
| 124 | lasat_int_status = (void *)LASAT_INT_STATUS_REG_200; | 116 | lasat_int_status = (void *)LASAT_INT_STATUS_REG_200; |
| 125 | lasat_int_mask = (void *)LASAT_INT_MASK_REG_200; | 117 | lasat_int_mask = (void *)LASAT_INT_MASK_REG_200; |
| 126 | lasat_int_mask_shift = LASATINT_MASK_SHIFT_200; | 118 | lasat_int_mask_shift = LASATINT_MASK_SHIFT_200; |
| 127 | get_int_status = get_int_status_200; | 119 | get_int_status = get_int_status_200; |
| 128 | *lasat_int_mask &= 0xffff; | 120 | *lasat_int_mask &= 0xffff; |
| 129 | break; | 121 | } else { |
| 130 | default: | 122 | lasat_int_status = (void *)LASAT_INT_STATUS_REG_100; |
| 131 | panic("arch_init_irq: mips_machtype incorrect"); | 123 | lasat_int_mask = (void *)LASAT_INT_MASK_REG_100; |
| 124 | lasat_int_mask_shift = LASATINT_MASK_SHIFT_100; | ||
| 125 | get_int_status = get_int_status_100; | ||
| 126 | *lasat_int_mask = 0; | ||
| 132 | } | 127 | } |
| 133 | 128 | ||
| 134 | mips_cpu_irq_init(); | 129 | mips_cpu_irq_init(); |
diff --git a/arch/mips/lasat/lasat_board.c b/arch/mips/lasat/lasat_board.c index 31e328b3814d..577bb463a871 100644 --- a/arch/mips/lasat/lasat_board.c +++ b/arch/mips/lasat/lasat_board.c | |||
| @@ -24,7 +24,6 @@ | |||
| 24 | #include <linux/string.h> | 24 | #include <linux/string.h> |
| 25 | #include <linux/ctype.h> | 25 | #include <linux/ctype.h> |
| 26 | #include <linux/mutex.h> | 26 | #include <linux/mutex.h> |
| 27 | #include <asm/bootinfo.h> | ||
| 28 | #include <asm/addrspace.h> | 27 | #include <asm/addrspace.h> |
| 29 | #include "at93c.h" | 28 | #include "at93c.h" |
| 30 | /* New model description table */ | 29 | /* New model description table */ |
| @@ -66,7 +65,7 @@ static void init_flash_sizes(void) | |||
| 66 | ls[LASAT_MTD_SERVICE] = 0xC0000; | 65 | ls[LASAT_MTD_SERVICE] = 0xC0000; |
| 67 | ls[LASAT_MTD_NORMAL] = 0x100000; | 66 | ls[LASAT_MTD_NORMAL] = 0x100000; |
| 68 | 67 | ||
| 69 | if (mips_machtype == MACH_LASAT_100) { | 68 | if (!IS_LASAT_200()) { |
| 70 | lasat_board_info.li_flash_base = 0x1e000000; | 69 | lasat_board_info.li_flash_base = 0x1e000000; |
| 71 | 70 | ||
| 72 | lb[LASAT_MTD_BOOTLOADER] = 0x1e400000; | 71 | lb[LASAT_MTD_BOOTLOADER] = 0x1e400000; |
diff --git a/arch/mips/lasat/prom.c b/arch/mips/lasat/prom.c index 209edcc26f07..6acc6cb85f0a 100644 --- a/arch/mips/lasat/prom.c +++ b/arch/mips/lasat/prom.c | |||
| @@ -86,18 +86,16 @@ void __init prom_init(void) | |||
| 86 | 86 | ||
| 87 | setup_prom_vectors(); | 87 | setup_prom_vectors(); |
| 88 | 88 | ||
| 89 | if (current_cpu_data.cputype == CPU_R5000) { | 89 | if (IS_LASAT_200()) { |
| 90 | printk(KERN_INFO "LASAT 200 board\n"); | 90 | printk(KERN_INFO "LASAT 200 board\n"); |
| 91 | mips_machtype = MACH_LASAT_200; | ||
| 92 | lasat_ndelay_divider = LASAT_200_DIVIDER; | 91 | lasat_ndelay_divider = LASAT_200_DIVIDER; |
| 92 | at93c = &at93c_defs[1]; | ||
| 93 | } else { | 93 | } else { |
| 94 | printk(KERN_INFO "LASAT 100 board\n"); | 94 | printk(KERN_INFO "LASAT 100 board\n"); |
| 95 | mips_machtype = MACH_LASAT_100; | ||
| 96 | lasat_ndelay_divider = LASAT_100_DIVIDER; | 95 | lasat_ndelay_divider = LASAT_100_DIVIDER; |
| 96 | at93c = &at93c_defs[0]; | ||
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | at93c = &at93c_defs[mips_machtype]; | ||
| 100 | |||
| 101 | lasat_init_board_info(); /* Read info from EEPROM */ | 99 | lasat_init_board_info(); /* Read info from EEPROM */ |
| 102 | 100 | ||
| 103 | /* Get the command line */ | 101 | /* Get the command line */ |
diff --git a/arch/mips/lasat/serial.c b/arch/mips/lasat/serial.c index 205bd397d75b..5bcb6e89ab78 100644 --- a/arch/mips/lasat/serial.c +++ b/arch/mips/lasat/serial.c | |||
| @@ -23,7 +23,6 @@ | |||
| 23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
| 24 | #include <linux/serial_8250.h> | 24 | #include <linux/serial_8250.h> |
| 25 | 25 | ||
| 26 | #include <asm/bootinfo.h> | ||
| 27 | #include <asm/lasat/lasat.h> | 26 | #include <asm/lasat/lasat.h> |
| 28 | #include <asm/lasat/serial.h> | 27 | #include <asm/lasat/serial.h> |
| 29 | 28 | ||
| @@ -47,7 +46,7 @@ static __init int lasat_uart_add(void) | |||
| 47 | if (!pdev) | 46 | if (!pdev) |
| 48 | return -ENOMEM; | 47 | return -ENOMEM; |
| 49 | 48 | ||
| 50 | if (mips_machtype == MACH_LASAT_100) { | 49 | if (!IS_LASAT_200()) { |
| 51 | lasat_serial_res[0].start = KSEG1ADDR(LASAT_UART_REGS_BASE_100); | 50 | lasat_serial_res[0].start = KSEG1ADDR(LASAT_UART_REGS_BASE_100); |
| 52 | lasat_serial_res[0].end = lasat_serial_res[0].start + LASAT_UART_REGS_SHIFT_100 * 8 - 1; | 51 | lasat_serial_res[0].end = lasat_serial_res[0].start + LASAT_UART_REGS_SHIFT_100 * 8 - 1; |
| 53 | lasat_serial_res[0].flags = IORESOURCE_MEM; | 52 | lasat_serial_res[0].flags = IORESOURCE_MEM; |
diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c index e072da4ff3b3..dbd3163a85c2 100644 --- a/arch/mips/lasat/setup.c +++ b/arch/mips/lasat/setup.c | |||
| @@ -127,9 +127,11 @@ void __init plat_time_init(void) | |||
| 127 | void __init plat_mem_setup(void) | 127 | void __init plat_mem_setup(void) |
| 128 | { | 128 | { |
| 129 | int i; | 129 | int i; |
| 130 | lasat_misc = &lasat_misc_info[mips_machtype]; | 130 | int lasat_type = IS_LASAT_200() ? 1 : 0; |
| 131 | |||
| 132 | lasat_misc = &lasat_misc_info[lasat_type]; | ||
| 131 | #ifdef CONFIG_PICVUE | 133 | #ifdef CONFIG_PICVUE |
| 132 | picvue = &pvc_defs[mips_machtype]; | 134 | picvue = &pvc_defs[lasat_type]; |
| 133 | #endif | 135 | #endif |
| 134 | 136 | ||
| 135 | /* Set up panic notifier */ | 137 | /* Set up panic notifier */ |
| @@ -140,7 +142,7 @@ void __init plat_mem_setup(void) | |||
| 140 | lasat_reboot_setup(); | 142 | lasat_reboot_setup(); |
| 141 | 143 | ||
| 142 | #ifdef CONFIG_DS1603 | 144 | #ifdef CONFIG_DS1603 |
| 143 | ds1603 = &ds_defs[mips_machtype]; | 145 | ds1603 = &ds_defs[lasat_type]; |
| 144 | #endif | 146 | #endif |
| 145 | 147 | ||
| 146 | #ifdef DYNAMIC_SERIAL_INIT | 148 | #ifdef DYNAMIC_SERIAL_INIT |
diff --git a/arch/mips/pci/pci-lasat.c b/arch/mips/pci/pci-lasat.c index e70ae3236e0b..a98e543a514a 100644 --- a/arch/mips/pci/pci-lasat.c +++ b/arch/mips/pci/pci-lasat.c | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | #include <linux/pci.h> | 10 | #include <linux/pci.h> |
| 11 | #include <linux/types.h> | 11 | #include <linux/types.h> |
| 12 | 12 | ||
| 13 | #include <asm/bootinfo.h> | 13 | #include <asm/lasat/lasat.h> |
| 14 | 14 | ||
| 15 | #include <irq.h> | 15 | #include <irq.h> |
| 16 | 16 | ||
| @@ -39,16 +39,10 @@ static int __init lasat_pci_setup(void) | |||
| 39 | { | 39 | { |
| 40 | printk(KERN_DEBUG "PCI: starting\n"); | 40 | printk(KERN_DEBUG "PCI: starting\n"); |
| 41 | 41 | ||
| 42 | switch (mips_machtype) { | 42 | if (IS_LASAT_200()) |
| 43 | case MACH_LASAT_100: | ||
| 44 | lasat_pci_controller.pci_ops = >64xxx_pci0_ops; | ||
| 45 | break; | ||
| 46 | case MACH_LASAT_200: | ||
| 47 | lasat_pci_controller.pci_ops = &nile4_pci_ops; | 43 | lasat_pci_controller.pci_ops = &nile4_pci_ops; |
| 48 | break; | 44 | else |
| 49 | default: | 45 | lasat_pci_controller.pci_ops = >64xxx_pci0_ops; |
| 50 | panic("pcibios_init: mips_machtype incorrect"); | ||
| 51 | } | ||
| 52 | 46 | ||
| 53 | register_pci_controller(&lasat_pci_controller); | 47 | register_pci_controller(&lasat_pci_controller); |
| 54 | 48 | ||
diff --git a/include/asm-mips/bootinfo.h b/include/asm-mips/bootinfo.h index 51dbec9dabfd..d39e143b4a3c 100644 --- a/include/asm-mips/bootinfo.h +++ b/include/asm-mips/bootinfo.h | |||
| @@ -41,12 +41,6 @@ | |||
| 41 | #define MACH_DS5900 10 /* DECsystem 5900 */ | 41 | #define MACH_DS5900 10 /* DECsystem 5900 */ |
| 42 | 42 | ||
| 43 | /* | 43 | /* |
| 44 | * Valid machtype for group LASAT | ||
| 45 | */ | ||
| 46 | #define MACH_LASAT_100 0 /* Masquerade II/SP100/SP50/SP25 */ | ||
| 47 | #define MACH_LASAT_200 1 /* Masquerade PRO/SP200 */ | ||
| 48 | |||
| 49 | /* | ||
| 50 | * Valid machtype for group PMC-MSP | 44 | * Valid machtype for group PMC-MSP |
| 51 | */ | 45 | */ |
| 52 | #define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */ | 46 | #define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */ |
diff --git a/include/asm-mips/lasat/lasat.h b/include/asm-mips/lasat/lasat.h index ea04d9262edc..caeba1e302a2 100644 --- a/include/asm-mips/lasat/lasat.h +++ b/include/asm-mips/lasat/lasat.h | |||
| @@ -240,6 +240,8 @@ static inline void lasat_ndelay(unsigned int ns) | |||
| 240 | __delay(ns / lasat_ndelay_divider); | 240 | __delay(ns / lasat_ndelay_divider); |
| 241 | } | 241 | } |
| 242 | 242 | ||
| 243 | #define IS_LASAT_200() (current_cpu_data.cputype == CPU_R5000) | ||
| 244 | |||
| 243 | #endif /* !defined (_LANGUAGE_ASSEMBLY) */ | 245 | #endif /* !defined (_LANGUAGE_ASSEMBLY) */ |
| 244 | 246 | ||
| 245 | #define LASAT_SERVICEMODE_MAGIC_1 0xdeadbeef | 247 | #define LASAT_SERVICEMODE_MAGIC_1 0xdeadbeef |
