From 86173774a78a62a6494209da748c8598bb24e746 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Feb 18 2017 23:12:07 +0000 Subject: Update some Raspberry Pi patches, Add Raspberry Pi fixes for UART/i2c/stable eth MAC --- diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch index faeef87..d18446d 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 -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 +X-Patchwork-Id: 9563699 +Message-Id: <20170208224024.30415-1-eric@anholt.net> +To: Florian Fainelli , Rob Herring , + Mark Rutland , devicetree@vger.kernel.org +Cc: Stephen Warren , Lee Jones , + linux-kernel@vger.kernel.org, Eric Anholt , + bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, + linux-arm-kernel@lists.infradead.org, Gerd Hoffmann +Date: Wed, 8 Feb 2017 14:40:24 -0800 -Signed-off-by: Peter Robinson +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 --- - 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 0000000..fcddac5 --- /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 +X-Patchwork-Id: 9544261 +Message-Id: +To: Stephen Warren , Lee Jones , + Eric Anholt +Cc: Baruch Siach , 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 +Signed-off-by: Baruch Siach +Reviewed-by: Eric Anholt +--- +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 = ; + }; +- uart0_gpio30: uart0_gpio30 { ++ uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { + brcm,pins = <30 31>; + brcm,function = ; + }; +- uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 { ++ uart0_gpio32: uart0_gpio32 { + brcm,pins = <32 33>; + brcm,function = ; + }; +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 +X-Patchwork-Id: 9544275 +Message-Id: <9290fa9eed6b5ff1c5c96b9dac41eca286b7eef9.1485719591.git.baruch@tkos.co.il> +To: Stephen Warren , Lee Jones , + Eric Anholt +Cc: Baruch Siach , 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 +--- + 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 = ; + }; +- i2c0_gpio32: i2c0_gpio32 { +- brcm,pins = <32 34>; ++ i2c0_gpio28: i2c0_gpio28 { ++ brcm,pins = <28 29>; + brcm,function = ; + }; + 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 +X-Patchwork-Id: 9544277 +Message-Id: +To: Stephen Warren , Lee Jones , + Eric Anholt +Cc: Baruch Siach , 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 +--- + 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 = ; + }; ++ uart0_gpio36: uart0_gpio36 { ++ brcm,pins = <36 37>; ++ brcm,function = ; ++ }; ++ uart0_ctsrts_gpio38: uart0_ctsrts_gpio38 { ++ brcm,pins = <38 39>; ++ brcm,function = ; ++ }; + + uart1_gpio14: uart1_gpio14 { + brcm,pins = <14 15>; +@@ -323,10 +331,6 @@ + brcm,pins = <30 31>; + brcm,function = ; + }; +- uart1_gpio36: uart1_gpio36 { +- brcm,pins = <36 37 38 39>; +- brcm,function = ; +- }; + uart1_gpio40: uart1_gpio40 { + brcm,pins = <40 41>; + brcm,function = ; +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 +X-Patchwork-Id: 9545945 +Message-Id: <5942321c5d0bfea54eac64ace2b217e8e0b6220d.1485801879.git.baruch@tkos.co.il> +To: Stephen Warren , Lee Jones , + Eric Anholt +Cc: Lubomir Rintel , Baruch Siach , + 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 +Fixes: 6a93792774 ("ARM: bcm2835: dt: Add the ethernet to the device trees") +Signed-off-by: Baruch Siach +Acked-by: Lubomir Rintel +--- + 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 = ðernet; ++ ethernet0 = ðernet; + }; + }; + +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 = ðernet; ++ ethernet0 = ðernet; + }; + }; + diff --git a/kernel.spec b/kernel.spec index 0c5acba..24a6434 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 +- Update some Raspberry Pi patches +- Add Raspberry Pi fixes for UART/i2c/stable eth MAC + * Fri Feb 17 2017 Justin M. Forbes - 4.10.0-0.rc8.git2.1 - Linux v4.10-rc8-62-g6dc39c5