aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-07-28 22:13:52 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-07-28 22:13:52 +0000
commit1377916ea7ac5dcb7690b0a48b785b3a8109fa37 (patch)
tree979754327684910c030ed5ca0441eb54e3203a6a /target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
parent333252e493edf46e9bd3a3915a91c67a775e6305 (diff)
downloadupstream-1377916ea7ac5dcb7690b0a48b785b3a8109fa37.tar.gz
upstream-1377916ea7ac5dcb7690b0a48b785b3a8109fa37.tar.bz2
upstream-1377916ea7ac5dcb7690b0a48b785b3a8109fa37.zip
bcm53xx: update patches
This reorders the patchs and adds some new ones. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 37586
Diffstat (limited to 'target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch')
-rw-r--r--target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch308
1 files changed, 0 insertions, 308 deletions
diff --git a/target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch b/target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
deleted file mode 100644
index a94220b060..0000000000
--- a/target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-From 6c55b7f2fe06eb01f4ca6dad35d54c6e2ecbff25 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sat, 29 Jun 2013 22:06:43 +0200
-Subject: [PATCH 08/17] bcm53xx: initial support for the BCM5301/BCM470X SoC
- with ARM CPU
-
-This patch adds support for the BCM5301/BCM470X SoCs with an ARM CPU.
-Currently just booting to a shell is working and nothing else, no
-Ethernet, wifi, flash, ...
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- arch/arm/Kconfig | 2 +
- arch/arm/Kconfig.debug | 5 ++
- arch/arm/Makefile | 1 +
- arch/arm/boot/dts/Makefile | 1 +
- arch/arm/boot/dts/bcm5301-netgear-r6250.dts | 20 +++++++
- arch/arm/boot/dts/bcm5301.dtsi | 83 +++++++++++++++++++++++++++
- arch/arm/include/debug/bcm53xx.S | 19 ++++++
- arch/arm/mach-bcm53xx/Kconfig | 15 +++++
- arch/arm/mach-bcm53xx/Makefile | 1 +
- arch/arm/mach-bcm53xx/bcm53xx.c | 69 ++++++++++++++++++++++
- 10 files changed, 216 insertions(+)
- create mode 100644 arch/arm/boot/dts/bcm5301-netgear-r6250.dts
- create mode 100644 arch/arm/boot/dts/bcm5301.dtsi
- create mode 100644 arch/arm/include/debug/bcm53xx.S
- create mode 100644 arch/arm/mach-bcm53xx/Kconfig
- create mode 100644 arch/arm/mach-bcm53xx/Makefile
- create mode 100644 arch/arm/mach-bcm53xx/bcm53xx.c
-
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -922,6 +922,8 @@ source "arch/arm/mach-bcm/Kconfig"
-
- source "arch/arm/mach-bcm2835/Kconfig"
-
-+source "arch/arm/mach-bcm53xx/Kconfig"
-+
- source "arch/arm/mach-clps711x/Kconfig"
-
- source "arch/arm/mach-cns3xxx/Kconfig"
---- a/arch/arm/Kconfig.debug
-+++ b/arch/arm/Kconfig.debug
-@@ -93,6 +93,10 @@ choice
- bool "Kernel low-level debugging on BCM2835 PL011 UART"
- depends on ARCH_BCM2835
-
-+ config DEBUG_BCM53XX
-+ bool "Kernel low-level debugging on BCM53XX UART1"
-+ depends on ARCH_BCM53XX
-+
- config DEBUG_CLPS711X_UART1
- bool "Kernel low-level debugging messages via UART1"
- depends on ARCH_CLPS711X
-@@ -620,6 +624,7 @@ endchoice
- config DEBUG_LL_INCLUDE
- string
- default "debug/bcm2835.S" if DEBUG_BCM2835
-+ default "debug/bcm53xx.S" if DEBUG_BCM53XX
- default "debug/cns3xxx.S" if DEBUG_CNS3XXX
- default "debug/exynos.S" if DEBUG_EXYNOS_UART
- default "debug/highbank.S" if DEBUG_HIGHBANK_UART
---- a/arch/arm/Makefile
-+++ b/arch/arm/Makefile
-@@ -145,6 +145,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
- machine-$(CONFIG_ARCH_AT91) += at91
- machine-$(CONFIG_ARCH_BCM) += bcm
- machine-$(CONFIG_ARCH_BCM2835) += bcm2835
-+machine-$(CONFIG_ARCH_BCM53XX) += bcm53xx
- machine-$(CONFIG_ARCH_CLPS711X) += clps711x
- machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
- machine-$(CONFIG_ARCH_DAVINCI) += davinci
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -209,6 +209,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07
- wm8650-mid.dtb \
- wm8850-w70v2.dtb
- dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
-+dtb-$(CONFIG_ARCH_BCM53XX) += bcm5301-netgear-r6250.dtb
-
- targets += dtbs
- targets += $(dtb-y)
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm5301-netgear-r6250.dts
-@@ -0,0 +1,20 @@
-+/*
-+ * Broadcom BCM47XX / BCM53XX arm platform code.
-+ *
-+ * Copyright 2013 Hauke Mehrtens <hauke@hauke-m.de>
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+
-+/dts-v1/;
-+
-+/include/ "bcm5301.dtsi"
-+
-+/ {
-+ model = "Netgear R6250 V1 (BCM4708)";
-+ compatible = "netgear,r6250v1", "brcm,bcm5301";
-+
-+ memory {
-+ reg = <0x00000000 0x08000000>;
-+ };
-+};
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm5301.dtsi
-@@ -0,0 +1,83 @@
-+/*
-+ * Broadcom BCM47XX / BCM53XX ARM platform code.
-+ *
-+ * Copyright 2013 Hauke Mehrtens <hauke@hauke-m.de>
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+
-+/include/ "skeleton.dtsi"
-+
-+/ {
-+ compatible = "brcm,bcm5301";
-+ model = "BCM5301/BCM4707/BCM4708/BCM4709 SoC";
-+ interrupt-parent = <&gic>;
-+
-+ chosen {
-+ bootargs = "console=ttyS0,115200 earlyprintk debug vmalloc=64M";
-+ };
-+
-+ cpus {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ cpu@0 {
-+ device_type = "cpu";
-+ compatible = "arm,cortex-a9";
-+ reg = <0>;
-+ };
-+ cpu@1 {
-+ device_type = "cpu";
-+ compatible = "arm,cortex-a9";
-+ reg = <1>;
-+ };
-+ };
-+
-+ clocks {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ clk_periph: periph {
-+ compatible = "fixed-clock";
-+ #clock-cells = <0>;
-+ clock-frequency = <400000000>;
-+ };
-+ };
-+
-+ uart@18000300 {
-+ compatible = "ns16550";
-+ reg = <0x18000300 0x100>;
-+ interrupts = <0 85 4>;
-+ clock-frequency = <100000000>;
-+ };
-+
-+ uart@18000400 {
-+ compatible = "ns16550";
-+ reg = <0x18000400 0x100>;
-+ interrupts = <0 85 4>;
-+ clock-frequency = <100000000>;
-+ };
-+
-+ gic: interrupt-controller@19021000 {
-+ compatible = "arm,cortex-a9-gic";
-+ #interrupt-cells = <3>;
-+ #address-cells = <0>;
-+ interrupt-controller;
-+ reg = <0x19021000 0x1000>,
-+ <0x19020100 0x100>;
-+ };
-+
-+ timer@19020200 {
-+ compatible = "arm,cortex-a9-global-timer";
-+ reg = <0x19020200 0x100>;
-+ interrupts = <1 11 0xf04>;
-+ clocks = <&clk_periph>;
-+ #clock-cells = <0>;
-+ };
-+
-+ local-timer@19020200 {
-+ compatible = "arm,cortex-a9-twd-timer";
-+ reg = <0x19020600 0x100>;
-+ interrupts = <1 13 0xf04>;
-+ };
-+};
---- /dev/null
-+++ b/arch/arm/include/debug/bcm53xx.S
-@@ -0,0 +1,19 @@
-+/*
-+ * Macros used for EARLY_PRINTK, in low-level UART debug console
-+ *
-+ * Copyright 2013 Hauke Mehrtens <hauke@hauke-m.de>
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+
-+#define BCM53XX_UART1_PHYS 0x18000300
-+#define BCM53XX_UART1_VIRT 0xf1000300
-+#define BCM53XX_UART1_SH 0
-+
-+ .macro addruart, rp, rv, tmp
-+ ldr \rp, =BCM53XX_UART1_PHYS @ MMU off, Physical
-+ ldr \rv, =BCM53XX_UART1_VIRT @ MMU on, Virtual
-+ .endm
-+
-+#define UART_SHIFT BCM53XX_UART1_SH
-+#include <asm/hardware/debug-8250.S>
---- /dev/null
-+++ b/arch/arm/mach-bcm53xx/Kconfig
-@@ -0,0 +1,16 @@
-+config ARCH_BCM53XX
-+ bool "Broadcom BCM47XX / BCM53XX ARM SoC"
-+ select CPU_V7
-+ select ARM_GIC
-+ select HAVE_ARM_SCU if SMP
-+ select HAVE_ARM_TWD if LOCAL_TIMERS
-+ select HAVE_SMP
-+ select HAVE_CLK
-+ select LOCAL_TIMERS if SMP
-+ select GENERIC_TIME
-+ select GENERIC_CLOCKEVENTS_BUILD
-+ select GENERIC_CLOCKEVENTS
-+ select ARM_GLOBAL_TIMER
-+ select MIGHT_HAVE_PCI
-+ help
-+ Support for Broadcom BCM47XX and BCM53XX SoCs with ARM CPU cores.
---- /dev/null
-+++ b/arch/arm/mach-bcm53xx/Makefile
-@@ -0,0 +1 @@
-+obj-y += bcm53xx.o
---- /dev/null
-+++ b/arch/arm/mach-bcm53xx/bcm53xx.c
-@@ -0,0 +1,69 @@
-+/*
-+ * Broadcom BCM47XX / BCM53XX ARM platform code.
-+ *
-+ * Copyright 2013 Hauke Mehrtens <hauke@hauke-m.de>
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+#include <linux/of_address.h>
-+#include <linux/of_platform.h>
-+#include <linux/irqchip.h>
-+#include <linux/clocksource.h>
-+#include <linux/clk-provider.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/smp_scu.h>
-+#include <asm/signal.h>
-+
-+static int bcm53xx_abort_handler(unsigned long addr, unsigned int fsr,
-+ struct pt_regs *regs)
-+{
-+ /*
-+ * These happen for no good reason
-+ * possibly left over from CFE
-+ */
-+ pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
-+ addr, fsr);
-+
-+ /* Returning non-zero causes fault display and panic */
-+ return 0;
-+}
-+
-+static void bcm53xx_aborts_enable(void)
-+{
-+ /* Install our hook */
-+ hook_fault_code(16 + 6, bcm53xx_abort_handler, SIGBUS, 0,
-+ "imprecise external abort");
-+}
-+
-+static void __init bcm53xx_timer_init(void)
-+{
-+ of_clk_init(NULL);
-+ clocksource_of_init();
-+}
-+
-+void __init bcm53xx_map_io(void)
-+{
-+ debug_ll_io_init();
-+ bcm53xx_aborts_enable();
-+}
-+
-+static void __init bcm53xx_dt_init(void)
-+{
-+ of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-+}
-+
-+static const char const *bcm53xx_dt_compat[] = {
-+ "brcm,bcm5301",
-+ "netgear,r6250v1",
-+ NULL,
-+};
-+
-+DT_MACHINE_START(BCM53XX, "BCM53XX")
-+ .init_machine = bcm53xx_dt_init,
-+ .map_io = bcm53xx_map_io,
-+ .init_irq = irqchip_init,
-+ .init_time = bcm53xx_timer_init,
-+ .dt_compat = bcm53xx_dt_compat,
-+MACHINE_END