From aa058f66664b53ab0314ed0591b65a1e66a988bf Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 31 Jan 2010 21:00:50 +0000 Subject: [brcm63xx] move files to files-2.6.30, to ease newer kernel integration git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19471 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../files-2.6.30/arch/mips/bcm63xx/dev-spi.c | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/dev-spi.c (limited to 'target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/dev-spi.c') diff --git a/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/dev-spi.c b/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/dev-spi.c new file mode 100644 index 000000000..1ba4aded3 --- /dev/null +++ b/target/linux/brcm63xx/files-2.6.30/arch/mips/bcm63xx/dev-spi.c @@ -0,0 +1,60 @@ +/* + * 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 + * for more details. + * + * Copyright (C) 2009 Florian Fainelli + */ + +#include +#include +#include + +#include +#include +#include + +static struct resource spi_resources[] = { + { + .start = -1, /* filled at runtime */ + .end = -1, /* filled at runtime */ + .flags = IORESOURCE_MEM, + }, + { + .start = -1, /* filled at runtime */ + .flags = IORESOURCE_IRQ, + }, +}; + +static struct bcm63xx_spi_pdata spi_pdata = { + .bus_num = 0, + .num_chipselect = 4, + .speed_hz = 50000000, /* Fclk */ +}; + +static struct platform_device bcm63xx_spi_device = { + .name = "bcm63xx-spi", + .id = 0, + .num_resources = ARRAY_SIZE(spi_resources), + .resource = spi_resources, + .dev = { + .platform_data = &spi_pdata, + }, +}; + +int __init bcm63xx_spi_register(void) +{ + spi_resources[0].start = bcm63xx_regset_address(RSET_SPI); + spi_resources[0].end = spi_resources[0].start; + spi_resources[0].end += RSET_SPI_SIZE - 1; + spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI); + + /* Fill in platform data */ + if (BCMCPU_IS_6338() || BCMCPU_IS_6348()) + spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE; + + if (BCMCPU_IS_6358()) + spi_pdata.fifo_size = SPI_BCM_6358_SPI_MSG_DATA_SIZE; + + return platform_device_register(&bcm63xx_spi_device); +} -- cgit v1.2.3