diff options
Diffstat (limited to 'arch/arm/mach-orion5x')
-rw-r--r-- | arch/arm/mach-orion5x/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/dns323-setup.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/kurobox_pro-setup.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/pci.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/ts209-setup.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/ts409-setup.c | 9 |
6 files changed, 25 insertions, 17 deletions
diff --git a/arch/arm/mach-orion5x/common.h b/arch/arm/mach-orion5x/common.h index e75bd7004b94..0bd195551a27 100644 --- a/arch/arm/mach-orion5x/common.h +++ b/arch/arm/mach-orion5x/common.h | |||
@@ -41,6 +41,7 @@ struct pci_bus; | |||
41 | struct pci_sys_data; | 41 | struct pci_sys_data; |
42 | 42 | ||
43 | void orion5x_pcie_id(u32 *dev, u32 *rev); | 43 | void orion5x_pcie_id(u32 *dev, u32 *rev); |
44 | void orion5x_pci_disable(void); | ||
44 | void orion5x_pci_set_cardbus_mode(void); | 45 | void orion5x_pci_set_cardbus_mode(void); |
45 | int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys); | 46 | int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys); |
46 | struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys); | 47 | struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys); |
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c index 1a1d84b80a65..b38c65ccfb15 100644 --- a/arch/arm/mach-orion5x/dns323-setup.c +++ b/arch/arm/mach-orion5x/dns323-setup.c | |||
@@ -245,12 +245,8 @@ static struct orion5x_mpp_mode dns323_mpp_modes[] __initdata = { | |||
245 | static struct i2c_board_info __initdata dns323_i2c_devices[] = { | 245 | static struct i2c_board_info __initdata dns323_i2c_devices[] = { |
246 | { | 246 | { |
247 | I2C_BOARD_INFO("g760a", 0x3e), | 247 | I2C_BOARD_INFO("g760a", 0x3e), |
248 | #if 0 | ||
249 | /* this entry requires the new-style driver model lm75 driver, | ||
250 | * for the meantime "insmod lm75.ko force_lm75=0,0x48" is needed */ | ||
251 | }, { | 248 | }, { |
252 | I2C_BOARD_INFO("g751", 0x48), | 249 | I2C_BOARD_INFO("lm75", 0x48), |
253 | #endif | ||
254 | }, { | 250 | }, { |
255 | I2C_BOARD_INFO("m41t80", 0x68), | 251 | I2C_BOARD_INFO("m41t80", 0x68), |
256 | }, | 252 | }, |
diff --git a/arch/arm/mach-orion5x/kurobox_pro-setup.c b/arch/arm/mach-orion5x/kurobox_pro-setup.c index cb72f1bb9cb7..e321ec331839 100644 --- a/arch/arm/mach-orion5x/kurobox_pro-setup.c +++ b/arch/arm/mach-orion5x/kurobox_pro-setup.c | |||
@@ -146,8 +146,10 @@ static struct hw_pci kurobox_pro_pci __initdata = { | |||
146 | 146 | ||
147 | static int __init kurobox_pro_pci_init(void) | 147 | static int __init kurobox_pro_pci_init(void) |
148 | { | 148 | { |
149 | if (machine_is_kurobox_pro()) | 149 | if (machine_is_kurobox_pro()) { |
150 | orion5x_pci_disable(); | ||
150 | pci_common_init(&kurobox_pro_pci); | 151 | pci_common_init(&kurobox_pro_pci); |
152 | } | ||
151 | 153 | ||
152 | return 0; | 154 | return 0; |
153 | } | 155 | } |
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c index fbceecc4b7ec..a7b7d77b1b09 100644 --- a/arch/arm/mach-orion5x/pci.c +++ b/arch/arm/mach-orion5x/pci.c | |||
@@ -541,6 +541,13 @@ static void __devinit rc_pci_fixup(struct pci_dev *dev) | |||
541 | } | 541 | } |
542 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup); | 542 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup); |
543 | 543 | ||
544 | static int orion5x_pci_disabled __initdata; | ||
545 | |||
546 | void __init orion5x_pci_disable(void) | ||
547 | { | ||
548 | orion5x_pci_disabled = 1; | ||
549 | } | ||
550 | |||
544 | void __init orion5x_pci_set_cardbus_mode(void) | 551 | void __init orion5x_pci_set_cardbus_mode(void) |
545 | { | 552 | { |
546 | orion5x_pci_cardbus_mode = 1; | 553 | orion5x_pci_cardbus_mode = 1; |
@@ -553,7 +560,7 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys) | |||
553 | if (nr == 0) { | 560 | if (nr == 0) { |
554 | orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr); | 561 | orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr); |
555 | ret = pcie_setup(sys); | 562 | ret = pcie_setup(sys); |
556 | } else if (nr == 1) { | 563 | } else if (nr == 1 && !orion5x_pci_disabled) { |
557 | orion5x_pci_set_bus_nr(sys->busnr); | 564 | orion5x_pci_set_bus_nr(sys->busnr); |
558 | ret = pci_setup(sys); | 565 | ret = pci_setup(sys); |
559 | } | 566 | } |
@@ -567,7 +574,7 @@ struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys | |||
567 | 574 | ||
568 | if (nr == 0) { | 575 | if (nr == 0) { |
569 | bus = pci_scan_bus(sys->busnr, &pcie_ops, sys); | 576 | bus = pci_scan_bus(sys->busnr, &pcie_ops, sys); |
570 | } else if (nr == 1) { | 577 | } else if (nr == 1 && !orion5x_pci_disabled) { |
571 | bus = pci_scan_bus(sys->busnr, &pci_ops, sys); | 578 | bus = pci_scan_bus(sys->busnr, &pci_ops, sys); |
572 | } else { | 579 | } else { |
573 | bus = NULL; | 580 | bus = NULL; |
@@ -584,7 +591,7 @@ int __init orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | |||
584 | /* | 591 | /* |
585 | * PCIe endpoint? | 592 | * PCIe endpoint? |
586 | */ | 593 | */ |
587 | if (bus < orion5x_pci_local_bus_nr()) | 594 | if (orion5x_pci_disabled || bus < orion5x_pci_local_bus_nr()) |
588 | return IRQ_ORION5X_PCIE0_INT; | 595 | return IRQ_ORION5X_PCIE0_INT; |
589 | 596 | ||
590 | return -1; | 597 | return -1; |
diff --git a/arch/arm/mach-orion5x/ts209-setup.c b/arch/arm/mach-orion5x/ts209-setup.c index dd657163cd8d..9d6890514199 100644 --- a/arch/arm/mach-orion5x/ts209-setup.c +++ b/arch/arm/mach-orion5x/ts209-setup.c | |||
@@ -287,6 +287,10 @@ static void __init qnap_ts209_init(void) | |||
287 | /* | 287 | /* |
288 | * Configure peripherals. | 288 | * Configure peripherals. |
289 | */ | 289 | */ |
290 | orion5x_setup_dev_boot_win(QNAP_TS209_NOR_BOOT_BASE, | ||
291 | QNAP_TS209_NOR_BOOT_SIZE); | ||
292 | platform_device_register(&qnap_ts209_nor_flash); | ||
293 | |||
290 | orion5x_ehci0_init(); | 294 | orion5x_ehci0_init(); |
291 | orion5x_ehci1_init(); | 295 | orion5x_ehci1_init(); |
292 | qnap_tsx09_find_mac_addr(QNAP_TS209_NOR_BOOT_BASE + | 296 | qnap_tsx09_find_mac_addr(QNAP_TS209_NOR_BOOT_BASE + |
@@ -296,12 +300,9 @@ static void __init qnap_ts209_init(void) | |||
296 | orion5x_i2c_init(); | 300 | orion5x_i2c_init(); |
297 | orion5x_sata_init(&qnap_ts209_sata_data); | 301 | orion5x_sata_init(&qnap_ts209_sata_data); |
298 | orion5x_uart0_init(); | 302 | orion5x_uart0_init(); |
303 | orion5x_uart1_init(); | ||
299 | orion5x_xor_init(); | 304 | orion5x_xor_init(); |
300 | 305 | ||
301 | orion5x_setup_dev_boot_win(QNAP_TS209_NOR_BOOT_BASE, | ||
302 | QNAP_TS209_NOR_BOOT_SIZE); | ||
303 | platform_device_register(&qnap_ts209_nor_flash); | ||
304 | |||
305 | platform_device_register(&qnap_ts209_button_device); | 306 | platform_device_register(&qnap_ts209_button_device); |
306 | 307 | ||
307 | /* Get RTC IRQ and register the chip */ | 308 | /* Get RTC IRQ and register the chip */ |
diff --git a/arch/arm/mach-orion5x/ts409-setup.c b/arch/arm/mach-orion5x/ts409-setup.c index b27d2b762081..d85588ac7ef8 100644 --- a/arch/arm/mach-orion5x/ts409-setup.c +++ b/arch/arm/mach-orion5x/ts409-setup.c | |||
@@ -278,6 +278,10 @@ static void __init qnap_ts409_init(void) | |||
278 | /* | 278 | /* |
279 | * Configure peripherals. | 279 | * Configure peripherals. |
280 | */ | 280 | */ |
281 | orion5x_setup_dev_boot_win(QNAP_TS409_NOR_BOOT_BASE, | ||
282 | QNAP_TS409_NOR_BOOT_SIZE); | ||
283 | platform_device_register(&qnap_ts409_nor_flash); | ||
284 | |||
281 | orion5x_ehci0_init(); | 285 | orion5x_ehci0_init(); |
282 | qnap_tsx09_find_mac_addr(QNAP_TS409_NOR_BOOT_BASE + | 286 | qnap_tsx09_find_mac_addr(QNAP_TS409_NOR_BOOT_BASE + |
283 | qnap_ts409_partitions[5].offset, | 287 | qnap_ts409_partitions[5].offset, |
@@ -285,10 +289,7 @@ static void __init qnap_ts409_init(void) | |||
285 | orion5x_eth_init(&qnap_tsx09_eth_data); | 289 | orion5x_eth_init(&qnap_tsx09_eth_data); |
286 | orion5x_i2c_init(); | 290 | orion5x_i2c_init(); |
287 | orion5x_uart0_init(); | 291 | orion5x_uart0_init(); |
288 | 292 | orion5x_uart1_init(); | |
289 | orion5x_setup_dev_boot_win(QNAP_TS409_NOR_BOOT_BASE, | ||
290 | QNAP_TS409_NOR_BOOT_SIZE); | ||
291 | platform_device_register(&qnap_ts409_nor_flash); | ||
292 | 293 | ||
293 | platform_device_register(&qnap_ts409_button_device); | 294 | platform_device_register(&qnap_ts409_button_device); |
294 | 295 | ||