diff options
Diffstat (limited to 'target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch b/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch deleted file mode 100644 index 15240ce9a9..0000000000 --- a/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 261ee140e75615351128eee497e6bbd76686784b Mon Sep 17 00:00:00 2001 -From: Jonas Gorski <jonas.gorski@gmail.com> -Date: Sat, 12 Nov 2011 12:18:26 +0100 -Subject: [PATCH 51/72] MIPS: BCM63XX: add HS SPI platform device and register - it - -Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> ---- - arch/mips/bcm63xx/Makefile | 4 +- - arch/mips/bcm63xx/boards/board_bcm963xx.c | 2 + - arch/mips/bcm63xx/dev-hsspi.c | 57 ++++++++++++++++++++ - .../include/asm/mach-bcm63xx/bcm63xx_dev_hsspi.h | 20 +++++++ - 4 files changed, 81 insertions(+), 2 deletions(-) - create mode 100644 arch/mips/bcm63xx/dev-hsspi.c - create mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_hsspi.h - ---- a/arch/mips/bcm63xx/Makefile -+++ b/arch/mips/bcm63xx/Makefile -@@ -1,7 +1,7 @@ - obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \ - setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \ -- dev-pcmcia.o dev-rng.o dev-spi.o dev-uart.o dev-wdt.o \ -- dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o -+ dev-hsspi.o dev-pcmcia.o dev-rng.o dev-spi.o dev-uart.o \ -+ dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o - obj-$(CONFIG_EARLY_PRINTK) += early_printk.o - - obj-y += boards/ ---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c -+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -26,6 +26,7 @@ - #include <bcm63xx_dev_enet.h> - #include <bcm63xx_dev_dsp.h> - #include <bcm63xx_dev_flash.h> -+#include <bcm63xx_dev_hsspi.h> - #include <bcm63xx_dev_pcmcia.h> - #include <bcm63xx_dev_spi.h> - #include <bcm63xx_dev_usb_ohci.h> -@@ -952,6 +953,7 @@ int __init board_register_devices(void) - pr_err(PFX "failed to register fallback SPROM\n"); - } - #endif -+ bcm63xx_hsspi_register(); - - bcm63xx_spi_register(); - ---- /dev/null -+++ b/arch/mips/bcm63xx/dev-hsspi.c -@@ -0,0 +1,57 @@ -+/* -+ * 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) 2012 Jonas Gorski <jonas.gorski@gmail.com> -+ */ -+ -+#include <linux/init.h> -+#include <linux/kernel.h> -+#include <linux/platform_device.h> -+ -+#include <bcm63xx_cpu.h> -+#include <bcm63xx_dev_hsspi.h> -+#include <bcm63xx_regs.h> -+ -+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_hsspi_pdata spi_pdata = { -+ .bus_num = 0, -+}; -+ -+static struct platform_device bcm63xx_hsspi_device = { -+ .name = "bcm63xx-hsspi", -+ .id = 0, -+ .num_resources = ARRAY_SIZE(spi_resources), -+ .resource = spi_resources, -+ .dev = { -+ .platform_data = &spi_pdata, -+ }, -+}; -+ -+int __init bcm63xx_hsspi_register(void) -+{ -+ -+ if (!BCMCPU_IS_6328()) -+ return -ENODEV; -+ -+ spi_resources[0].start = bcm63xx_regset_address(RSET_HSSPI); -+ spi_resources[0].end = spi_resources[0].start; -+ spi_resources[0].end += RSET_HSSPI_SIZE - 1; -+ spi_resources[1].start = bcm63xx_get_irq_number(IRQ_HSSPI); -+ -+ spi_pdata.speed_hz = HSSPI_PLL_HZ_6328; -+ -+ return platform_device_register(&bcm63xx_hsspi_device); -+} ---- /dev/null -+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_hsspi.h -@@ -0,0 +1,20 @@ -+#ifndef BCM63XX_DEV_HSSPI_H -+#define BCM63XX_DEV_HSSPI_H -+ -+#include <linux/types.h> -+#include <bcm63xx_io.h> -+#include <bcm63xx_regs.h> -+ -+int __init bcm63xx_hsspi_register(void); -+ -+struct bcm63xx_hsspi_pdata { -+ int bus_num; -+ u32 speed_hz; -+}; -+ -+#define bcm_hsspi_readl(o) bcm_rset_readl(RSET_HSSPI, (o)) -+#define bcm_hsspi_writel(v, o) bcm_rset_writel(RSET_HSSPI, (v), (o)) -+ -+#define HSSPI_PLL_HZ_6328 133333333 -+ -+#endif /* BCM63XX_DEV_HSSPI_H */ |