* [PATCH v3 01/10] pinctrl: walk into bcm subdir unconditionally
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 02/10] irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ Gerd Hoffmann
` (9 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
There is no ARCH_BCM on arm64, and we need pinctrl-bcm2835 for the rpi3.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
drivers/pinctrl/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index e4bc115..88586c0 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -35,7 +35,7 @@ obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o
obj-$(CONFIG_PINCTRL_ST) += pinctrl-st.o
obj-$(CONFIG_PINCTRL_ZYNQ) += pinctrl-zynq.o
-obj-$(CONFIG_ARCH_BCM) += bcm/
+obj-y += bcm/
obj-$(CONFIG_PINCTRL_BERLIN) += berlin/
obj-y += freescale/
obj-$(CONFIG_X86) += intel/
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 02/10] irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ.
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 01/10] pinctrl: walk into bcm subdir unconditionally Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 12:41 ` Jason Cooper
2016-06-07 11:05 ` [PATCH v3 03/10] arm64: Allow for different DMA and CPU bus offsets Gerd Hoffmann
` (8 subsequent siblings)
10 siblings, 1 reply; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
From: Eric Anholt <eric@anholt.net>
This is equivalent and works for arm64 as well.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
drivers/irqchip/irq-bcm2835.c | 3 +--
drivers/irqchip/irq-bcm2836.c | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
index bf9cc5f..44d7c38 100644
--- a/drivers/irqchip/irq-bcm2835.c
+++ b/drivers/irqchip/irq-bcm2835.c
@@ -52,7 +52,6 @@
#include <linux/irqdomain.h>
#include <asm/exception.h>
-#include <asm/mach/irq.h>
/* Put the bank and irq (32 bits) into the hwirq */
#define MAKE_HWIRQ(b, n) ((b << 5) | (n))
@@ -242,7 +241,7 @@ static void __exception_irq_entry bcm2835_handle_irq(
u32 hwirq;
while ((hwirq = get_next_armctrl_hwirq()) != ~0)
- handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs);
+ handle_domain_irq(intc.domain, hwirq, regs);
}
static void bcm2836_chained_handle_irq(struct irq_desc *desc)
diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c
index 72ff1d5..2787598 100644
--- a/drivers/irqchip/irq-bcm2836.c
+++ b/drivers/irqchip/irq-bcm2836.c
@@ -180,7 +180,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs)
} else if (stat) {
u32 hwirq = ffs(stat) - 1;
- handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs);
+ handle_domain_irq(intc.domain, hwirq, regs);
}
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 03/10] arm64: Allow for different DMA and CPU bus offsets
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 01/10] pinctrl: walk into bcm subdir unconditionally Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 02/10] irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 04/10] arm64: Add platform selection for BCM2835 Gerd Hoffmann
` (7 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
From: Alexander Graf <agraf@suse.de>
On arm64, all SoCs we supported so far either have an IOMMU or have bus
addresses equal to CPU addresses.
However, with the Raspberry Pi 3 coming up, this is no longer true. To
allow DMA to work with an AArch64 kernel on those devices, let's allow
devices to have DMA offsets again.
Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
---
arch/arm64/include/asm/dma-mapping.h | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/include/asm/dma-mapping.h b/arch/arm64/include/asm/dma-mapping.h
index 7dbea6c..ccea82c 100644
--- a/arch/arm64/include/asm/dma-mapping.h
+++ b/arch/arm64/include/asm/dma-mapping.h
@@ -66,12 +66,16 @@ static inline bool is_device_dma_coherent(struct device *dev)
static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr)
{
- return (dma_addr_t)paddr;
+ dma_addr_t dev_addr = (dma_addr_t)paddr;
+
+ return dev_addr - ((dma_addr_t)dev->dma_pfn_offset << PAGE_SHIFT);
}
static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t dev_addr)
{
- return (phys_addr_t)dev_addr;
+ phys_addr_t paddr = (phys_addr_t)dev_addr;
+
+ return paddr + ((phys_addr_t)dev->dma_pfn_offset << PAGE_SHIFT);
}
static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size)
@@ -86,5 +90,14 @@ static inline void dma_mark_clean(void *addr, size_t size)
{
}
+/* Override for dma_max_pfn() */
+static inline unsigned long dma_max_pfn(struct device *dev)
+{
+ dma_addr_t dma_max = (dma_addr_t)*dev->dma_mask;
+
+ return (ulong)dma_to_phys(dev, dma_max) >> PAGE_SHIFT;
+}
+#define dma_max_pfn(dev) dma_max_pfn(dev)
+
#endif /* __KERNEL__ */
#endif /* __ASM_DMA_MAPPING_H */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 04/10] arm64: Add platform selection for BCM2835.
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (2 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 03/10] arm64: Allow for different DMA and CPU bus offsets Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 05/10] arm64: Add BCM2835 support to the defconfig Gerd Hoffmann
` (6 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
From: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
[ kraxel: copy some selects from arm to arm64 ]
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
arch/arm64/Kconfig.platforms | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 7ef1d05..ea88402 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -13,6 +13,19 @@ config ARCH_ALPINE
This enables support for the Annapurna Labs Alpine
Soc family.
+config ARCH_BCM2835
+ bool "Broadcom BCM2835 family"
+ select ARCH_REQUIRE_GPIOLIB
+ select CLKSRC_OF
+ select PINCTRL
+ select PINCTRL_BCM2835
+ select ARM_AMBA
+ select ARM_TIMER_SP804
+ select HAVE_ARM_ARCH_TIMER
+ help
+ This enables support for the Broadcom BCM2837 SoC.
+ This SoC is used in the Raspberry Pi 3 device.
+
config ARCH_BCM_IPROC
bool "Broadcom iProc SoC Family"
select COMMON_CLK_IPROC
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 05/10] arm64: Add BCM2835 support to the defconfig.
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (3 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 04/10] arm64: Add platform selection for BCM2835 Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 06/10] dt-bindings: Add root properties for Raspberry Pi 3 Gerd Hoffmann
` (5 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
arch/arm64/configs/defconfig | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index fd2d74d..50e5afc 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -31,6 +31,7 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_ALPINE=y
+CONFIG_ARCH_BCM2835=y
CONFIG_ARCH_BCM_IPROC=y
CONFIG_ARCH_BERLIN=y
CONFIG_ARCH_EXYNOS=y
@@ -171,6 +172,7 @@ CONFIG_VIRTIO_CONSOLE=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_BCM2835=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_IMX=y
CONFIG_I2C_MV64XXX=y
@@ -179,6 +181,8 @@ CONFIG_I2C_TEGRA=y
CONFIG_I2C_UNIPHIER_F=y
CONFIG_I2C_RCAR=y
CONFIG_SPI=y
+CONFIG_SPI_BCM2835=y
+CONFIG_SPI_BCM2835AUX=y
CONFIG_SPI_ORION=y
CONFIG_SPI_PL022=y
CONFIG_SPI_QUP=y
@@ -202,6 +206,7 @@ CONFIG_THERMAL_EMULATION=y
CONFIG_EXYNOS_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_RENESAS_WDT=y
+CONFIG_BCM2835_WDT=y
CONFIG_MFD_SPMI_PMIC=y
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_HI655X_PMIC=y
@@ -220,6 +225,7 @@ CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
+CONFIG_SND_BCM2835_SOC_I2S=y
CONFIG_SND_SOC_RCAR=y
CONFIG_SND_SOC_AK4613=y
CONFIG_USB=y
@@ -248,12 +254,14 @@ CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ESDHC=y
CONFIG_MMC_SDHCI_TEGRA=y
+CONFIG_MMC_SDHCI_BCM2835=y
CONFIG_MMC_SDHCI_MSM=y
CONFIG_MMC_SPI=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_EXYNOS=y
CONFIG_MMC_DW_K3=y
CONFIG_MMC_SUNXI=y
+CONFIG_MMC_BCM2835_SDHOST=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
@@ -269,6 +277,7 @@ CONFIG_RTC_DRV_PL031=y
CONFIG_RTC_DRV_SUN6I=y
CONFIG_RTC_DRV_XGENE=y
CONFIG_DMADEVICES=y
+CONFIG_DMA_BCM2835=y
CONFIG_PL330_DMA=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_QCOM_BAM_DMA=y
@@ -288,8 +297,10 @@ CONFIG_MSM_GCC_8916=y
CONFIG_HWSPINLOCK_QCOM=y
CONFIG_MAILBOX=y
CONFIG_ARM_MHU=y
+CONFIG_BCM2835_MBOX=y
CONFIG_HI6220_MBOX=y
CONFIG_ARM_SMMU=y
+CONFIG_RASPBERRYPI_POWER=y
CONFIG_QCOM_SMEM=y
CONFIG_QCOM_SMD=y
CONFIG_QCOM_SMD_RPM=y
@@ -301,6 +312,7 @@ CONFIG_PHY_RCAR_GEN3_USB2=y
CONFIG_PHY_HI6220_USB=y
CONFIG_PHY_XGENE=y
CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_ACPI=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 06/10] dt-bindings: Add root properties for Raspberry Pi 3
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (4 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 05/10] arm64: Add BCM2835 support to the defconfig Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 07/10] ARM: bcm2835: Add devicetree for the " Gerd Hoffmann
` (4 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
From: Eric Anholt <eric@anholt.net>
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
index 11d3056..6ffe087 100644
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
@@ -30,6 +30,10 @@ Raspberry Pi 2 Model B
Required root node properties:
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
+Raspberry Pi 3 Model B
+Required root node properties:
+compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+
Raspberry Pi Compute Module
Required root node properties:
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 07/10] ARM: bcm2835: Add devicetree for the Raspberry Pi 3.
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (5 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 06/10] dt-bindings: Add root properties for Raspberry Pi 3 Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 08/10] ARM: bcm2835: Add devicetree for the Raspberry Pi 3, for arm (32) Gerd Hoffmann
` (3 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
From: Eric Anholt <eric@anholt.net>
While this devicetree also works for booting in 32-bit mode, it's
placed in arm64 since it's a 64-bit CPU (as suggested by Arnd).
v2: Move to arm64/ instead of arm/
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Stephen Warren <swarren@wwwdotorg.org> (v1)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
arch/arm64/boot/dts/broadcom/Makefile | 1 +
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 29 ++++++++++
arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 74 ++++++++++++++++++++++++
3 files changed, 104 insertions(+)
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837.dtsi
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index bec1f8b..05faf2a 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -1,3 +1,4 @@
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb
dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
new file mode 100644
index 0000000..223793d
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
@@ -0,0 +1,29 @@
+/dts-v1/;
+#include "bcm2837.dtsi"
+#include "../../../../arm/boot/dts/bcm2835-rpi.dtsi"
+
+/ {
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+ model = "Raspberry Pi 3 Model B";
+
+ memory {
+ reg = <0 0x40000000>;
+ };
+
+ leds {
+ act {
+ gpios = <&gpio 47 0>;
+ };
+
+ pwr {
+ label = "PWR";
+ gpios = <&gpio 35 0>;
+ default-state = "keep";
+ linux,default-trigger = "default-on";
+ };
+ };
+};
+
+&uart1 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
new file mode 100644
index 0000000..2320f8d
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
@@ -0,0 +1,74 @@
+#include "../../../../arm/boot/dts/bcm283x.dtsi"
+
+/ {
+ compatible = "brcm,bcm2836";
+
+ soc {
+ ranges = <0x7e000000 0x3f000000 0x1000000>,
+ <0x40000000 0x40000000 0x00001000>;
+ dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
+
+ local_intc: local_intc {
+ compatible = "brcm,bcm2836-l1-intc";
+ reg = <0x40000000 0x100>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ interrupt-parent = <&local_intc>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupt-parent = <&local_intc>;
+ interrupts = <0>, // PHYS_SECURE_PPI
+ <1>, // PHYS_NONSECURE_PPI
+ <3>, // VIRT_PPI
+ <2>; // HYP_PPI
+ always-on;
+ };
+
+ cpus: cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu0: cpu at 0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <0>;
+ };
+
+ cpu1: cpu at 1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <1>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x0 0x000000e0>;
+ };
+
+ cpu2: cpu at 2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <2>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x0 0x000000e8>;
+ };
+
+ cpu3: cpu at 3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a53";
+ reg = <3>;
+ enable-method = "spin-table";
+ cpu-release-addr = <0x0 0x000000f0>;
+ };
+ };
+};
+
+/* Make the BCM2835-style global interrupt controller be a child of the
+ * CPU-local interrupt controller.
+ */
+&intc {
+ compatible = "brcm,bcm2836-armctrl-ic";
+ reg = <0x7e00b200 0x200>;
+ interrupt-parent = <&local_intc>;
+ interrupts = <8>;
+};
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 08/10] ARM: bcm2835: Add devicetree for the Raspberry Pi 3, for arm (32)
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (6 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 07/10] ARM: bcm2835: Add devicetree for the " Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 09/10] ARM: bcm2835: dt: Add the ethernet to the device trees Gerd Hoffmann
` (2 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
arch/arm/boot/dts/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 06b6c2d..71e2d36 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -66,7 +66,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2835-rpi-b-rev2.dtb \
bcm2835-rpi-b-plus.dtb \
bcm2835-rpi-a-plus.dtb \
- bcm2836-rpi-2-b.dtb
+ bcm2836-rpi-2-b.dtb \
+ ../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4708-asus-rt-ac56u.dtb \
bcm4708-asus-rt-ac68u.dtb \
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 09/10] ARM: bcm2835: dt: Add the ethernet to the device trees
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (7 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 08/10] ARM: bcm2835: Add devicetree for the Raspberry Pi 3, for arm (32) Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 11:05 ` [PATCH v3 10/10] ARM: bcm2837: " Gerd Hoffmann
2016-06-07 22:42 ` [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Eric Anholt
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
From: Lubomir Rintel <lkundrak@v3.sk>
The hub and the ethernet in its port 1 are hardwired on the board.
Compared to the adapters that can be plugged into the USB ports, this
one has no serial EEPROM to store its MAC. Nevertheless, the Raspberry Pi
has the MAC address for this adapter in its ROM, accessible from its
firmware.
U-Boot can read out the address and set the local-mac-address property of the
node with "ethernet" alias. Let's add the node so that U-Boot can do its
business.
Model B rev2 and Model B+ entries were verified by me, the hierarchy and
pid/vid pair for the Version 2 was provided by Peter Chen. Original
Model B is a blind shot, though very likely correct.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
---
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 +
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 +
arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 +
arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 1 +
arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | 19 +++++++++++++++++++
arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | 19 +++++++++++++++++++
arch/arm/boot/dts/bcm283x.dtsi | 2 ++
7 files changed, 44 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi
create mode 100644 arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
index 57d313b..d5fdb8e 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
@@ -1,6 +1,7 @@
/dts-v1/;
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-smsc9514.dtsi"
/ {
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
index cf2774e..bfc4bd9 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
@@ -1,6 +1,7 @@
/dts-v1/;
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-smsc9512.dtsi"
/ {
compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index 8b15f9c..0371bb7 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -1,6 +1,7 @@
/dts-v1/;
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-smsc9512.dtsi"
/ {
compatible = "raspberrypi,model-b", "brcm,bcm2835";
diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
index c4743f4..29e1cfe 100644
--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
@@ -1,6 +1,7 @@
/dts-v1/;
#include "bcm2836.dtsi"
#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-smsc9514.dtsi"
/ {
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi
new file mode 100644
index 0000000..12c981e
--- /dev/null
+++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi
@@ -0,0 +1,19 @@
+/ {
+ aliases {
+ ethernet = ðernet;
+ };
+};
+
+&usb {
+ usb1 at 1 {
+ compatible = "usb424,9512";
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet: usbether at 1 {
+ compatible = "usb424,ec00";
+ reg = <1>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
new file mode 100644
index 0000000..3f0a56e
--- /dev/null
+++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
@@ -0,0 +1,19 @@
+/ {
+ aliases {
+ ethernet = ðernet;
+ };
+};
+
+&usb {
+ usb1 at 1 {
+ compatible = "usb424,9514";
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet: usbether at 1 {
+ compatible = "usb424,ec00";
+ reg = <1>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 10b27b9..b982522 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -287,6 +287,8 @@
compatible = "brcm,bcm2835-usb";
reg = <0x7e980000 0x10000>;
interrupts = <1 9>;
+ #address-cells = <1>;
+ #size-cells = <0>;
};
v3d: v3d at 7ec00000 {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 10/10] ARM: bcm2837: dt: Add the ethernet to the device trees
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (8 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 09/10] ARM: bcm2835: dt: Add the ethernet to the device trees Gerd Hoffmann
@ 2016-06-07 11:05 ` Gerd Hoffmann
2016-06-07 22:42 ` [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Eric Anholt
10 siblings, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-06-07 11:05 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
index 223793d..6f47dd2 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
@@ -1,6 +1,7 @@
/dts-v1/;
#include "bcm2837.dtsi"
#include "../../../../arm/boot/dts/bcm2835-rpi.dtsi"
+#include "../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi"
/ {
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
--
1.8.3.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials
2016-06-07 11:05 [PATCH v3 00/10] raspberry pi 3 patch series, part 1: essentials Gerd Hoffmann
` (9 preceding siblings ...)
2016-06-07 11:05 ` [PATCH v3 10/10] ARM: bcm2837: " Gerd Hoffmann
@ 2016-06-07 22:42 ` Eric Anholt
10 siblings, 0 replies; 13+ messages in thread
From: Eric Anholt @ 2016-06-07 22:42 UTC (permalink / raw)
To: linux-arm-kernel
Gerd Hoffmann <kraxel@redhat.com> writes:
> Hi,
>
> Raspberry pi 3 patches, next round. Should be pretty much ready
> to go now.
>
> Changes v3:
> * redo defconfig update, drop DRM_VC4=y for now (not working for me).
> * split rpi3 device tree patch into two again (arm64 + arm).
>
> Changes v2:
> * send essential patches only
> * dropped ARCH_BCM kconfig option.
> * drop include hack for rpi3 device tree in arm.
> * drop DMA offset patch, pick up the version from Alex instead.
>
> Patches are also available from:
> git://git.kraxel.org/linux bcm2837-47-v3
>
> Note that the git branch has the complete set of patches (including
> device tree patches and rpi3 wifi).
Patches 2, 3, and 9 were queued for -next as of last night. Hopefully Gerd
can do any future submissions against -next so we don't see duplicate
patches.
I've pulled patches 6, 7 (folding in a feedback fix from a previous
round), and 10.
That leaves the following that I'm hoping arm/arm64 maintainers can ack
since they've had a bunch of discussion:
Patch 4, 1: Can we keep ARCH_BCM2835 being the platform select? All the
platform's drivers have been under ARCH_BCM2835, that select has covered
the rest of the chips in the family on the 32-bit side, and we have two
other families like this for BCM already (IPROC, VULCAN)
Patch 5: I expect we'll have some =m changes still.
Patch 8: I think this one is ready.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160607/acffc59f/attachment.sig>
^ permalink raw reply [flat|nested] 13+ messages in thread