aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0036-Main-bcm2708-bcm2709-linux-port.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0036-Main-bcm2708-bcm2709-linux-port.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0036-Main-bcm2708-bcm2709-linux-port.patch180
1 files changed, 0 insertions, 180 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0036-Main-bcm2708-bcm2709-linux-port.patch b/target/linux/brcm2708/patches-4.14/950-0036-Main-bcm2708-bcm2709-linux-port.patch
deleted file mode 100644
index 27c92c42e5..0000000000
--- a/target/linux/brcm2708/patches-4.14/950-0036-Main-bcm2708-bcm2709-linux-port.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From 456ed3c197e8aec439ebeca39060c204d2429896 Mon Sep 17 00:00:00 2001
-From: popcornmix <popcornmix@gmail.com>
-Date: Sun, 12 May 2013 12:24:19 +0100
-Subject: [PATCH 036/454] Main bcm2708/bcm2709 linux port
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: popcornmix <popcornmix@gmail.com>
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-
-bcm2709: Drop platform smp and timer init code
-
-irq-bcm2836 handles this through these functions:
-bcm2835_init_local_timer_frequency()
-bcm2836_arm_irqchip_smp_init()
-
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-
-bcm270x: Use watchdog for reboot/poweroff
-
-The watchdog driver already has support for reboot/poweroff.
-Make use of this and remove the code from the platform files.
-
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
----
- arch/arm/mach-bcm/Kconfig | 1 +
- arch/arm/mach-bcm/board_bcm2835.c | 9 +++++++++
- arch/arm/mm/proc-v6.S | 15 ++++++++++++---
- drivers/irqchip/irq-bcm2835.c | 7 ++++++-
- drivers/mailbox/bcm2835-mailbox.c | 18 ++++++++++++++++--
- 5 files changed, 44 insertions(+), 6 deletions(-)
-
---- a/arch/arm/mach-bcm/Kconfig
-+++ b/arch/arm/mach-bcm/Kconfig
-@@ -158,6 +158,7 @@ config ARCH_BCM2835
- select FIQ
- select PINCTRL
- select PINCTRL_BCM2835
-+ select MFD_SYSCON if ARCH_MULTI_V7
- help
- This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
- This SoC is used in the Raspberry Pi and Roku 2 devices.
---- a/arch/arm/mach-bcm/board_bcm2835.c
-+++ b/arch/arm/mach-bcm/board_bcm2835.c
-@@ -21,6 +21,8 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-
-+#include <linux/dma-mapping.h>
-+
- static void __init bcm2835_init(void)
- {
- struct device_node *np = of_find_node_by_path("/system");
-@@ -35,6 +37,12 @@ static void __init bcm2835_init(void)
- system_serial_low = val64;
- }
-
-+static void __init bcm2835_init_early(void)
-+{
-+ /* dwc_otg needs this for bounce buffers on non-aligned transfers */
-+ init_dma_coherent_pool_size(SZ_1M);
-+}
-+
- static const char * const bcm2835_compat[] = {
- #ifdef CONFIG_ARCH_MULTI_V6
- "brcm,bcm2835",
-@@ -47,5 +55,6 @@ static const char * const bcm2835_compat
-
- DT_MACHINE_START(BCM2835, "BCM2835")
- .init_machine = bcm2835_init,
-+ .init_early = bcm2835_init_early,
- .dt_compat = bcm2835_compat
- MACHINE_END
---- a/arch/arm/mm/proc-v6.S
-+++ b/arch/arm/mm/proc-v6.S
-@@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset)
- *
- * IRQs are already disabled.
- */
-+
-+/* See jira SW-5991 for details of this workaround */
- ENTRY(cpu_v6_do_idle)
-- mov r1, #0
-- mcr p15, 0, r1, c7, c10, 4 @ DWB - WFI may enter a low-power mode
-- mcr p15, 0, r1, c7, c0, 4 @ wait for interrupt
-+ .align 5
-+ mov r1, #2
-+1: subs r1, #1
-+ nop
-+ mcreq p15, 0, r1, c7, c10, 4 @ DWB - WFI may enter a low-power mode
-+ mcreq p15, 0, r1, c7, c0, 4 @ wait for interrupt
-+ nop
-+ nop
-+ nop
-+ bne 1b
- ret lr
-
- ENTRY(cpu_v6_dcache_clean_area)
---- a/drivers/irqchip/irq-bcm2835.c
-+++ b/drivers/irqchip/irq-bcm2835.c
-@@ -54,7 +54,9 @@
- #include <linux/regmap.h>
-
- #include <asm/exception.h>
-+#ifndef CONFIG_ARM64
- #include <asm/mach/irq.h>
-+#endif
-
- /* Put the bank and irq (32 bits) into the hwirq */
- #define MAKE_HWIRQ(b, n) (((b) << 5) | (n))
-@@ -82,6 +84,7 @@
- #define NR_BANKS 3
- #define IRQS_PER_BANK 32
- #define NUMBER_IRQS MAKE_HWIRQ(NR_BANKS, 0)
-+#undef FIQ_START
- #define FIQ_START (NR_IRQS_BANK0 + MAKE_HWIRQ(NR_BANKS - 1, 0))
-
- static const int reg_pending[] __initconst = { 0x00, 0x04, 0x08 };
-@@ -255,10 +258,12 @@ static int __init armctrl_of_init(struct
- MAKE_HWIRQ(b, i) + NUMBER_IRQS);
- BUG_ON(irq <= 0);
- irq_set_chip(irq, &armctrl_chip);
-- set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
-+ irq_set_probe(irq);
- }
- }
-+#ifndef CONFIG_ARM64
- init_FIQ(FIQ_START);
-+#endif
-
- return 0;
- }
---- a/drivers/mailbox/bcm2835-mailbox.c
-+++ b/drivers/mailbox/bcm2835-mailbox.c
-@@ -51,12 +51,15 @@
- #define MAIL1_WRT (ARM_0_MAIL1 + 0x00)
- #define MAIL1_STA (ARM_0_MAIL1 + 0x18)
-
-+/* On ARCH_BCM270x these come through <linux/interrupt.h> (arm_control.h ) */
-+#ifndef ARM_MS_FULL
- /* Status register: FIFO state. */
- #define ARM_MS_FULL BIT(31)
- #define ARM_MS_EMPTY BIT(30)
-
- /* Configuration register: Enable interrupts. */
- #define ARM_MC_IHAVEDATAIRQEN BIT(0)
-+#endif
-
- struct bcm2835_mbox {
- void __iomem *regs;
-@@ -151,7 +154,7 @@ static int bcm2835_mbox_probe(struct pla
- return -ENOMEM;
- spin_lock_init(&mbox->lock);
-
-- ret = devm_request_irq(dev, irq_of_parse_and_map(dev->of_node, 0),
-+ ret = devm_request_irq(dev, platform_get_irq(pdev, 0),
- bcm2835_mbox_irq, 0, dev_name(dev), mbox);
- if (ret) {
- dev_err(dev, "Failed to register a mailbox IRQ handler: %d\n",
-@@ -209,7 +212,18 @@ static struct platform_driver bcm2835_mb
- .probe = bcm2835_mbox_probe,
- .remove = bcm2835_mbox_remove,
- };
--module_platform_driver(bcm2835_mbox_driver);
-+
-+static int __init bcm2835_mbox_init(void)
-+{
-+ return platform_driver_register(&bcm2835_mbox_driver);
-+}
-+arch_initcall(bcm2835_mbox_init);
-+
-+static void __init bcm2835_mbox_exit(void)
-+{
-+ platform_driver_unregister(&bcm2835_mbox_driver);
-+}
-+module_exit(bcm2835_mbox_exit);
-
- MODULE_AUTHOR("Lubomir Rintel <lkundrak@v3.sk>");
- MODULE_DESCRIPTION("BCM2835 mailbox IPC driver");