mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
2b1c6b21b5
As usual these patches were extracted and rebased from the raspberry pi repo: https://github.com/raspberrypi/linux/tree/rpi-4.4.y Also adds support for Raspberry Pi Compute Module 3 (untested). Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
139 lines
4.5 KiB
Diff
139 lines
4.5 KiB
Diff
From 613412454d5196c8982a3abc0820389c16599a51 Mon Sep 17 00:00:00 2001
|
|
From: popcornmix <popcornmix@gmail.com>
|
|
Date: Wed, 11 Nov 2015 21:01:15 +0000
|
|
Subject: [PATCH] squash: include ARCH_BCM2708 / ARCH_BCM2709
|
|
|
|
---
|
|
drivers/char/hw_random/Kconfig | 2 +-
|
|
drivers/mailbox/Kconfig | 2 +-
|
|
drivers/mailbox/bcm2835-mailbox.c | 18 ++++++++++++++++--
|
|
drivers/pinctrl/Makefile | 1 +
|
|
drivers/pwm/Kconfig | 2 +-
|
|
drivers/spi/Kconfig | 2 +-
|
|
drivers/watchdog/Kconfig | 2 +-
|
|
sound/soc/bcm/Kconfig | 2 +-
|
|
8 files changed, 23 insertions(+), 8 deletions(-)
|
|
|
|
--- a/drivers/char/hw_random/Kconfig
|
|
+++ b/drivers/char/hw_random/Kconfig
|
|
@@ -90,7 +90,7 @@ config HW_RANDOM_BCM63XX
|
|
|
|
config HW_RANDOM_BCM2835
|
|
tristate "Broadcom BCM2835 Random Number Generator support"
|
|
- depends on ARCH_BCM2835
|
|
+ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709
|
|
default HW_RANDOM
|
|
---help---
|
|
This driver provides kernel-side support for the Random Number
|
|
--- a/drivers/mailbox/Kconfig
|
|
+++ b/drivers/mailbox/Kconfig
|
|
@@ -65,7 +65,7 @@ config ALTERA_MBOX
|
|
|
|
config BCM2835_MBOX
|
|
tristate "BCM2835 Mailbox"
|
|
- depends on ARCH_BCM2835
|
|
+ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709
|
|
help
|
|
An implementation of the BCM2385 Mailbox. It is used to invoke
|
|
the services of the Videocore. Say Y here if you want to use the
|
|
--- 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");
|
|
--- a/drivers/pinctrl/Makefile
|
|
+++ b/drivers/pinctrl/Makefile
|
|
@@ -40,6 +40,7 @@ obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-t
|
|
obj-$(CONFIG_PINCTRL_ST) += pinctrl-st.o
|
|
obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o
|
|
|
|
+obj-$(CONFIG_ARCH_BCM2708)$(CONFIG_ARCH_BCM2709) += bcm/
|
|
obj-$(CONFIG_ARCH_BCM) += bcm/
|
|
obj-$(CONFIG_ARCH_BERLIN) += berlin/
|
|
obj-y += freescale/
|
|
--- a/drivers/pwm/Kconfig
|
|
+++ b/drivers/pwm/Kconfig
|
|
@@ -85,7 +85,7 @@ config PWM_BCM_KONA
|
|
|
|
config PWM_BCM2835
|
|
tristate "BCM2835 PWM support"
|
|
- depends on ARCH_BCM2835
|
|
+ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709
|
|
help
|
|
PWM framework driver for BCM2835 controller (Raspberry Pi)
|
|
|
|
--- a/drivers/spi/Kconfig
|
|
+++ b/drivers/spi/Kconfig
|
|
@@ -78,7 +78,7 @@ config SPI_ATMEL
|
|
config SPI_BCM2835
|
|
tristate "BCM2835 SPI controller"
|
|
depends on GPIOLIB
|
|
- depends on ARCH_BCM2835 || COMPILE_TEST
|
|
+ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709 || COMPILE_TEST
|
|
depends on GPIOLIB
|
|
help
|
|
This selects a driver for the Broadcom BCM2835 SPI master.
|
|
--- a/drivers/watchdog/Kconfig
|
|
+++ b/drivers/watchdog/Kconfig
|
|
@@ -1282,7 +1282,7 @@ config BCM63XX_WDT
|
|
|
|
config BCM2835_WDT
|
|
tristate "Broadcom BCM2835 hardware watchdog"
|
|
- depends on ARCH_BCM2835
|
|
+ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709
|
|
select WATCHDOG_CORE
|
|
help
|
|
Watchdog driver for the built in watchdog hardware in Broadcom
|
|
--- a/sound/soc/bcm/Kconfig
|
|
+++ b/sound/soc/bcm/Kconfig
|
|
@@ -1,6 +1,6 @@
|
|
config SND_BCM2835_SOC_I2S
|
|
tristate "SoC Audio support for the Broadcom BCM2835 I2S module"
|
|
- depends on ARCH_BCM2835 || COMPILE_TEST
|
|
+ depends on ARCH_BCM2835 || MACH_BCM2708 || MACH_BCM2709 || COMPILE_TEST
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
select REGMAP_MMIO
|
|
help
|