diff options
Diffstat (limited to 'arch/mips/bcm63xx/boards/board_bcm963xx.c')
-rw-r--r-- | arch/mips/bcm63xx/boards/board_bcm963xx.c | 46 |
1 files changed, 19 insertions, 27 deletions
diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c index 40b223b603b..e62461f817d 100644 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c | |||
@@ -709,15 +709,9 @@ void __init board_prom_init(void) | |||
709 | char cfe_version[32]; | 709 | char cfe_version[32]; |
710 | u32 val; | 710 | u32 val; |
711 | 711 | ||
712 | /* read base address of boot chip select (0) | 712 | /* read base address of boot chip select (0) */ |
713 | * 6345 does not have MPI but boots from standard | 713 | val = bcm_mpi_readl(MPI_CSBASE_REG(0)); |
714 | * MIPS Flash address */ | 714 | val &= MPI_CSBASE_BASE_MASK; |
715 | if (BCMCPU_IS_6345()) | ||
716 | val = 0x1fc00000; | ||
717 | else { | ||
718 | val = bcm_mpi_readl(MPI_CSBASE_REG(0)); | ||
719 | val &= MPI_CSBASE_BASE_MASK; | ||
720 | } | ||
721 | boot_addr = (u8 *)KSEG1ADDR(val); | 715 | boot_addr = (u8 *)KSEG1ADDR(val); |
722 | 716 | ||
723 | /* dump cfe version */ | 717 | /* dump cfe version */ |
@@ -797,18 +791,6 @@ void __init board_prom_init(void) | |||
797 | } | 791 | } |
798 | 792 | ||
799 | bcm_gpio_writel(val, GPIO_MODE_REG); | 793 | bcm_gpio_writel(val, GPIO_MODE_REG); |
800 | |||
801 | /* Generate MAC address for WLAN and | ||
802 | * register our SPROM */ | ||
803 | #ifdef CONFIG_SSB_PCIHOST | ||
804 | if (!board_get_mac_address(bcm63xx_sprom.il0mac)) { | ||
805 | memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN); | ||
806 | memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN); | ||
807 | if (ssb_arch_register_fallback_sprom( | ||
808 | &bcm63xx_get_fallback_sprom) < 0) | ||
809 | printk(KERN_ERR PFX "failed to register fallback SPROM\n"); | ||
810 | } | ||
811 | #endif | ||
812 | } | 794 | } |
813 | 795 | ||
814 | /* | 796 | /* |
@@ -892,13 +874,23 @@ int __init board_register_devices(void) | |||
892 | if (board.has_dsp) | 874 | if (board.has_dsp) |
893 | bcm63xx_dsp_register(&board.dsp); | 875 | bcm63xx_dsp_register(&board.dsp); |
894 | 876 | ||
895 | /* read base address of boot chip select (0) */ | 877 | /* Generate MAC address for WLAN and register our SPROM, |
896 | if (BCMCPU_IS_6345()) | 878 | * do this after registering enet devices |
897 | val = 0x1fc00000; | 879 | */ |
898 | else { | 880 | #ifdef CONFIG_SSB_PCIHOST |
899 | val = bcm_mpi_readl(MPI_CSBASE_REG(0)); | 881 | if (!board_get_mac_address(bcm63xx_sprom.il0mac)) { |
900 | val &= MPI_CSBASE_BASE_MASK; | 882 | memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN); |
883 | memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN); | ||
884 | if (ssb_arch_register_fallback_sprom( | ||
885 | &bcm63xx_get_fallback_sprom) < 0) | ||
886 | pr_err(PFX "failed to register fallback SPROM\n"); | ||
901 | } | 887 | } |
888 | #endif | ||
889 | |||
890 | /* read base address of boot chip select (0) */ | ||
891 | val = bcm_mpi_readl(MPI_CSBASE_REG(0)); | ||
892 | val &= MPI_CSBASE_BASE_MASK; | ||
893 | |||
902 | mtd_resources[0].start = val; | 894 | mtd_resources[0].start = val; |
903 | mtd_resources[0].end = 0x1FFFFFFF; | 895 | mtd_resources[0].end = 0x1FFFFFFF; |
904 | 896 | ||