summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bcm2837-initial-support.patch71
-rw-r--r--bcm283x-fixes.patch218
-rw-r--r--kernel.spec8
3 files changed, 281 insertions, 16 deletions
diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch
index faeef87ea..d18446d2c 100644
--- a/bcm2837-initial-support.patch
+++ b/bcm2837-initial-support.patch
@@ -1,27 +1,66 @@
-From 49a6e9faf9a4e3b56c2bffd516f17ca1b6244084 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 31 Jan 2017 23:21:32 +0000
-Subject: [PATCH] ARM: bcm2835: include rather than copy the commits for arm32
- RPi3 support so it's always in sync
+From patchwork Wed Feb 8 22:40:24 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v3)
+From: Eric Anholt <eric@anholt.net>
+X-Patchwork-Id: 9563699
+Message-Id: <20170208224024.30415-1-eric@anholt.net>
+To: Florian Fainelli <f.fainelli@gmail.com>, Rob Herring <robh+dt@kernel.org>,
+ Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org
+Cc: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>,
+ linux-kernel@vger.kernel.org, Eric Anholt <eric@anholt.net>,
+ bcm-kernel-feedback-list@broadcom.com,
+ linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org, Gerd Hoffmann <kraxel@redhat.com>
+Date: Wed, 8 Feb 2017 14:40:24 -0800
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+Raspbian and Fedora have decided to support the Pi3 in 32-bit mode for
+now, so it's useful to be able to test that mode on an upstream
+kernel. It's also been useful for me to use the same board for 32-bit
+and 64-bit development.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
---
- arch/arm/boot/dts/Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+
+v1: Gerd's patch that put the ../../../arm64/... link in the Makefile
+v2: Michael's patch that #included from ../../../arm64/... in a new
+ bcm2837-rpi-3-b.dts.
+v3: Mine, using symlinks to make sure that we don't break the split DT
+ tree.
+
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 +
+ arch/arm/boot/dts/bcm2837.dtsi | 1 +
+ 3 files changed, 3 insertions(+)
+ create mode 120000 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+ create mode 120000 arch/arm/boot/dts/bcm2837.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index f10fe85..4c46851 100644
+index 6576e3f000c9..416fdcedf5a1 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -70,7 +70,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
+@@ -70,6 +70,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2835-rpi-b-plus.dtb \
bcm2835-rpi-a-plus.dtb \
bcm2836-rpi-2-b.dtb \
-- bcm2835-rpi-zero.dtb
-+ bcm2835-rpi-zero.dtb \
-+ ../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dtb
++ bcm2837-rpi-3-b.dtb \
+ bcm2835-rpi-zero.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4708-asus-rt-ac56u.dtb \
- bcm4708-asus-rt-ac68u.dtb \
---
-2.9.3
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+new file mode 120000
+index 000000000000..ceebc0e163fb
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+@@ -0,0 +1 @@
++../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
+\ No newline at end of file
+diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
+new file mode 120000
+index 000000000000..53f1cd2bba47
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm2837.dtsi
+@@ -0,0 +1 @@
++../../../arm64/boot/dts/broadcom/bcm2837.dtsi
+\ No newline at end of file
diff --git a/bcm283x-fixes.patch b/bcm283x-fixes.patch
new file mode 100644
index 000000000..fcddac501
--- /dev/null
+++ b/bcm283x-fixes.patch
@@ -0,0 +1,218 @@
+From patchwork Sun Jan 29 18:40:59 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2] ARM: bcm2835: dts: fix uart0 pinctrl node names
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 9544261
+Message-Id: <f37d02c769d0e2b6db2529cafb86b5fdd1e09a94.1485715259.git.baruch@tkos.co.il>
+To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>,
+ Eric Anholt <eric@anholt.net>
+Cc: Baruch Siach <baruch@tkos.co.il>, linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Sun, 29 Jan 2017 20:40:59 +0200
+
+Downstream kernel uses pins 32, 33 as UART0 (PL011) Rx/Tx to communicate with
+the Bluetooth chip. So ALT3 of these pins is most likely not CTS/RTS. Change
+the node name to reflect that. This matches section 6.2 "Alternative Function
+Assignments" in the BCM2835 ARM Peripherals document.
+
+With this change in place, adding
+
+ &uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
+ status = "okay";
+ };
+
+to bcm2837-rpi-3-b.dts does the right thing on my Raspberry Pi 3.
+
+Pins 30, 31 are CTS/RTS of UART0 in alternate function 3. Rename uart0_gpio30
+as well.
+
+While at it, fix a little typo in a nearby comment.
+
+Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.")
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+---
+v2:
+ * Reference the ARM Peripherals document
+ * Fix subject typo (Stefan)
+ * Rename also uart0_gpio30 (Stefan)
+ * Add comment typo fix (Stefan)
+ * Add Stefan's ack
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index 9a44da190897..bc8ad417c8a3 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -292,17 +292,17 @@
+ /* Separate from the uart0_gpio14 group
+ * because it conflicts with spi1_gpio16, and
+ * people often run uart0 on the two pins
+- * without flow contrl.
++ * without flow control.
+ */
+ uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 {
+ brcm,pins = <16 17>;
+ brcm,function = <BCM2835_FSEL_ALT3>;
+ };
+- uart0_gpio30: uart0_gpio30 {
++ uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 {
+ brcm,pins = <30 31>;
+ brcm,function = <BCM2835_FSEL_ALT3>;
+ };
+- uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 {
++ uart0_gpio32: uart0_gpio32 {
+ brcm,pins = <32 33>;
+ brcm,function = <BCM2835_FSEL_ALT3>;
+ };
+From patchwork Sun Jan 29 19:53:10 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [1/2] ARM: bcm2835: dts: fix i2c0 pins
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 9544275
+Message-Id: <9290fa9eed6b5ff1c5c96b9dac41eca286b7eef9.1485719591.git.baruch@tkos.co.il>
+To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>,
+ Eric Anholt <eric@anholt.net>
+Cc: Baruch Siach <baruch@tkos.co.il>, linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Sun, 29 Jan 2017 21:53:10 +0200
+
+According to the BCM2835 ARM Peripherals document i2c0 doesn't map to pins 32,
+34 but to 28, 29.
+
+Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.")
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index bc8ad417c8a3..2ae842921250 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -195,8 +195,8 @@
+ brcm,pins = <0 1>;
+ brcm,function = <BCM2835_FSEL_ALT0>;
+ };
+- i2c0_gpio32: i2c0_gpio32 {
+- brcm,pins = <32 34>;
++ i2c0_gpio28: i2c0_gpio28 {
++ brcm,pins = <28 29>;
+ brcm,function = <BCM2835_FSEL_ALT0>;
+ };
+ i2c0_gpio44: i2c0_gpio44 {
+From patchwork Sun Jan 29 19:53:11 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [2/2] ARM: bcm2835: dts: fix uart0/uart1 pins
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 9544277
+Message-Id: <e0f527a24b0048daba88ef36d5324245e003111c.1485719591.git.baruch@tkos.co.il>
+To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>,
+ Eric Anholt <eric@anholt.net>
+Cc: Baruch Siach <baruch@tkos.co.il>, linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Sun, 29 Jan 2017 21:53:11 +0200
+
+According to the BCM2835 ARM Peripherals document uart1 doesn't map to pins
+36-39, but uart0 does.
+
+Also, split into separate Rx/Tx and CST/RTS groups to match other uart nodes.
+
+Fixes: 21ff843931b ("ARM: dts: bcm283x: Define standard pinctrl groups in the gpio node.")
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index 2ae842921250..9ee8346b8b19 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -306,6 +306,14 @@
+ brcm,pins = <32 33>;
+ brcm,function = <BCM2835_FSEL_ALT3>;
+ };
++ uart0_gpio36: uart0_gpio36 {
++ brcm,pins = <36 37>;
++ brcm,function = <BCM2835_FSEL_ALT2>;
++ };
++ uart0_ctsrts_gpio38: uart0_ctsrts_gpio38 {
++ brcm,pins = <38 39>;
++ brcm,function = <BCM2835_FSEL_ALT2>;
++ };
+
+ uart1_gpio14: uart1_gpio14 {
+ brcm,pins = <14 15>;
+@@ -323,10 +331,6 @@
+ brcm,pins = <30 31>;
+ brcm,function = <BCM2835_FSEL_ALT5>;
+ };
+- uart1_gpio36: uart1_gpio36 {
+- brcm,pins = <36 37 38 39>;
+- brcm,function = <BCM2835_FSEL_ALT2>;
+- };
+ uart1_gpio40: uart1_gpio40 {
+ brcm,pins = <40 41>;
+ brcm,function = <BCM2835_FSEL_ALT5>;
+From patchwork Mon Jan 30 18:44:39 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: ARM: bcm2835: dt: add index to the ethernet alias
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 9545945
+Message-Id: <5942321c5d0bfea54eac64ace2b217e8e0b6220d.1485801879.git.baruch@tkos.co.il>
+To: Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>,
+ Eric Anholt <eric@anholt.net>
+Cc: Lubomir Rintel <lkundrak@v3.sk>, Baruch Siach <baruch@tkos.co.il>,
+ linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
+Date: Mon, 30 Jan 2017 20:44:39 +0200
+
+An alias name should have an index number even when it is the only of its type.
+This allows U-Boot to add the local-mac-address property. Otherwise U-Boot
+skips the alias.
+
+Cc: Lubomir Rintel <lkundrak@v3.sk>
+Fixes: 6a93792774 ("ARM: bcm2835: dt: Add the ethernet to the device trees")
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Acked-by: Lubomir Rintel <lkundrak@v3.sk>
+---
+ arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | 2 +-
+ arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi
+index 12c981e51134..9a0599f711ff 100644
+--- a/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi
++++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi
+@@ -1,6 +1,6 @@
+ / {
+ aliases {
+- ethernet = &ethernet;
++ ethernet0 = &ethernet;
+ };
+ };
+
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
+index 3f0a56ebcf1f..dc7ae776db5f 100644
+--- a/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
++++ b/arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
+@@ -1,6 +1,6 @@
+ / {
+ aliases {
+- ethernet = &ethernet;
++ ethernet0 = &ethernet;
+ };
+ };
+
diff --git a/kernel.spec b/kernel.spec
index 0c5acbaf2..24a6434c6 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -520,6 +520,7 @@ Patch426: AllWinner-net-emac.patch
# http://www.spinics.net/lists/arm-kernel/msg557831.html
Patch427: arm64-dma-mapping-Fix-dma_mapping_error-when-bypassing-SWIOTLB.patch
+# http://www.spinics.net/lists/devicetree/msg163238.html
Patch430: bcm2837-initial-support.patch
# http://www.spinics.net/lists/linux-mmc/msg41151.html
@@ -534,6 +535,9 @@ Patch433: drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..pa
# https://github.com/anholt/linux/issues/89
Patch434: 0001-i2c-bcm2835-Debug-test-for-curr_msg.patch
+# Upstream fixes for i2c/serial/ethernet MAC addresses
+Patch435: bcm283x-fixes.patch
+
# http://www.spinics.net/lists/arm-kernel/msg552554.html
Patch438: arm-imx6-hummingboard2.patch
@@ -2176,6 +2180,10 @@ fi
#
#
%changelog
+* Sat Feb 18 2017 Peter Robinson <pbrobinson@fedoraproject.org>
+- Update some Raspberry Pi patches
+- Add Raspberry Pi fixes for UART/i2c/stable eth MAC
+
* Fri Feb 17 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc8.git2.1
- Linux v4.10-rc8-62-g6dc39c5