dev-spi.c checks for running CPU, not board code

SVN-Revision: 27236
This commit is contained in:
Florian Fainelli 2011-06-19 20:46:00 +00:00
parent 4dd4cbeb43
commit ab74628c10
4 changed files with 14 additions and 10 deletions

View file

@ -26,7 +26,7 @@
[IRQ_DSL] = BCM_6358_DSL_IRQ, [IRQ_DSL] = BCM_6358_DSL_IRQ,
--- /dev/null --- /dev/null
+++ b/arch/mips/bcm63xx/dev-spi.c +++ b/arch/mips/bcm63xx/dev-spi.c
@@ -0,0 +1,128 @@ @@ -0,0 +1,131 @@
+/* +/*
+ * This file is subject to the terms and conditions of the GNU General Public + * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive + * License. See the file "COPYING" in the main directory of this archive
@ -144,6 +144,9 @@
+ spi_resources[0].end += RSET_SPI_SIZE - 1; + spi_resources[0].end += RSET_SPI_SIZE - 1;
+ spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI); + spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI);
+ +
+ if (BCMCPU_IS_6345())
+ return -ENODEV;
+
+ /* Fill in platform data */ + /* Fill in platform data */
+ if (BCMCPU_IS_6338() || BCMCPU_IS_6348()) + if (BCMCPU_IS_6338() || BCMCPU_IS_6348())
+ spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE; + spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE;
@ -990,12 +993,11 @@
#include <board_bcm963xx.h> #include <board_bcm963xx.h>
#define PFX "board_bcm963xx: " #define PFX "board_bcm963xx: "
@@ -931,6 +932,9 @@ int __init board_register_devices(void) @@ -931,6 +932,8 @@ int __init board_register_devices(void)
if (board.num_spis) if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis); spi_register_board_info(board.spis, board.num_spis);
+ if (!BCMCPU_IS_6345()) + bcm63xx_spi_register();
+ bcm63xx_spi_register();
+ +
/* read base address of boot chip select (0) */ /* read base address of boot chip select (0) */
if (BCMCPU_IS_6345()) if (BCMCPU_IS_6345())

View file

@ -95,7 +95,7 @@
/* dump cfe version */ /* dump cfe version */
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET; cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
@@ -2264,6 +2338,14 @@ int __init board_register_devices(void) @@ -2263,6 +2337,14 @@ int __init board_register_devices(void)
val = bcm_mpi_readl(MPI_CSBASE_REG(0)); val = bcm_mpi_readl(MPI_CSBASE_REG(0));
val &= MPI_CSBASE_BASE_MASK; val &= MPI_CSBASE_BASE_MASK;
} }

View file

@ -26,7 +26,7 @@
[IRQ_DSL] = BCM_6358_DSL_IRQ, [IRQ_DSL] = BCM_6358_DSL_IRQ,
--- /dev/null --- /dev/null
+++ b/arch/mips/bcm63xx/dev-spi.c +++ b/arch/mips/bcm63xx/dev-spi.c
@@ -0,0 +1,128 @@ @@ -0,0 +1,131 @@
+/* +/*
+ * This file is subject to the terms and conditions of the GNU General Public + * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive + * License. See the file "COPYING" in the main directory of this archive
@ -144,6 +144,9 @@
+ spi_resources[0].end += RSET_SPI_SIZE - 1; + spi_resources[0].end += RSET_SPI_SIZE - 1;
+ spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI); + spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI);
+ +
+ if (BCMCPU_IS_6345())
+ return -ENODEV;
+
+ /* Fill in platform data */ + /* Fill in platform data */
+ if (BCMCPU_IS_6338() || BCMCPU_IS_6348()) + if (BCMCPU_IS_6338() || BCMCPU_IS_6348())
+ spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE; + spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE;
@ -990,12 +993,11 @@
#include <board_bcm963xx.h> #include <board_bcm963xx.h>
#define PFX "board_bcm963xx: " #define PFX "board_bcm963xx: "
@@ -943,6 +944,9 @@ int __init board_register_devices(void) @@ -943,6 +944,8 @@ int __init board_register_devices(void)
if (board.num_spis) if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis); spi_register_board_info(board.spis, board.num_spis);
+ if (!BCMCPU_IS_6345()) + bcm63xx_spi_register();
+ bcm63xx_spi_register();
+ +
/* read base address of boot chip select (0) */ /* read base address of boot chip select (0) */
if (BCMCPU_IS_6345()) if (BCMCPU_IS_6345())

View file

@ -95,7 +95,7 @@
/* dump cfe version */ /* dump cfe version */
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET; cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
@@ -2276,6 +2350,14 @@ int __init board_register_devices(void) @@ -2275,6 +2349,14 @@ int __init board_register_devices(void)
val = bcm_mpi_readl(MPI_CSBASE_REG(0)); val = bcm_mpi_readl(MPI_CSBASE_REG(0));
val &= MPI_CSBASE_BASE_MASK; val &= MPI_CSBASE_BASE_MASK;
} }