bcm63xx: add support for BCM6345 SoC
PATCH 6/8 bcm63xx: add support for BCM6345 SoC
This patch adds support for the BCM6345 SoC. This is the very first generation of BCM63xx. A couple of modifications needs to be made:
- bcm6345 does not support r4k_wait, disable it
- bcm6345 does not have SPI or MPI
Signed-off-by Florian Fainelli <[email protected]>
---
arch/mips/bcm63xx/Kconfig +5 -0
@@ -8,6 +8,11 @@ config BCM63XX_CPU_6338 select USB_OHCI_BIG_ENDIAN_DESC select USB_OHCI_BIG_ENDIAN_MMIO +config BCM63XX_CPU_6345 + bool "support 6345 CPU" + select USB_OHCI_BIG_ENDIAN_DESC + select USB_OHCI_BIG_ENDIAN_MMIO + config BCM63XX_CPU_6348 bool "support 6348 CPU" select HW_HAS_PCI
arch/mips/bcm63xx/clk.c +2 -0
@@ -51,6 +51,8 @@ static void enet_misc_set(struct clk *clk, int enable)if (BCMCPU_IS_6338 ()) mask =CKCTL_6338_ENET_EN ; +else if (BCMCPU_IS_6345 ()) + mask =CKCTL_6345_ENET_EN ;else if (BCMCPU_IS_6348 ()) mask =CKCTL_6348_ENET_EN ;else
arch/mips/bcm63xx/cpu.c +49 -0
73 lines not on this page · raw message
arch/mips/bcm63xx/prom.c +2 -0
@@ -27,6 +27,8 @@ void __init prom_init(void)/* disable all hardware blocks clock for now */ if (BCMCPU_IS_6338 ()) mask =CKCTL_6338_ALL_SAFE_EN ; +else if (BCMCPU_IS_6345 ()) + mask =CKCTL_6345_ALL_SAFE_EN ;else if (BCMCPU_IS_6348 ()) mask =CKCTL_6348_ALL_SAFE_EN ;else
arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +113 -0
143 lines not on this page · raw message
arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +12 -0
@@ -29,6 +29,18 @@ CKCTL_6338_SAR_EN | \ CKCTL_6338_SPI_EN) +#define CKCTL_6345_CPU_EN (1 << 0) +#define CKCTL_6345_BUS_EN (1 << 1) +#define CKCTL_6345_EBI_EN (1 << 2) +#define CKCTL_6345_UART_EN (1 << 3) +#define CKCTL_6345_ADSLPHY_EN (1 << 4) +#define CKCTL_6345_ENET_EN (1 << 7) +#define CKCTL_6345_USBH_EN (1 << 8) + +#define CKCTL_6345_ALL_SAFE_EN (CKCTL_6345_ENET_EN | \ + CKCTL_6345_USBH_EN | \ + CKCTL_6345_ADSLPHY_EN) +#define CKCTL_6348_ADSLPHY_EN (1 << 0)#define CKCTL_6348_MPI_EN (1 << 1)#define CKCTL_6348_SDRAM_EN (1 << 2)
arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h +1 -1
@@ -24,7 +24,7 @@#define cpu_has_smartmips 0#define cpu_has_vtag_icache 0 -#if !defined(BCMCPU_RUNTIME_DETECT ) && (defined(CONFIG_BCMCPU_IS_6348 ) || defined(CONFIG_CPU_IS_6338 )) +#if !defined(BCMCPU_RUNTIME_DETECT ) && (defined(CONFIG_BCMCPU_IS_6348 ) || defined(CONFIG_CPU_IS_6338 ) || defined(CONFIG_CPU_IS_BCM6345 ))#define cpu_has_dc_aliases 0#endif
arch/mips/kernel/cpu-probe.c +0 -1
@@ -160,7 +160,6 @@ void __init check_wait(void)case CPU_PR4450 :case CPU_BCM3302 :case CPU_BCM6338 : -case CPU_BCM6345 :case CPU_BCM6348 :case CPU_BCM6358 :case CPU_CAVIUM_OCTEON :