1debdf0
From patchwork Sat Apr 21 11:28:34 2018
1debdf0
Content-Type: text/plain; charset="utf-8"
1debdf0
MIME-Version: 1.0
1debdf0
Content-Transfer-Encoding: 7bit
1debdf0
Subject: [V2,1/9] ARM: dts: bcm283x: Fix PWM pin assignment
1debdf0
From: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
X-Patchwork-Id: 10354085
1debdf0
Message-Id: <1524310122-9439-2-git-send-email-stefan.wahren@i2se.com>
1debdf0
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
1debdf0
 Eric Anholt <eric@anholt.net>, Catalin Marinas <catalin.marinas@arm.com>, 
1debdf0
 Will Deacon <will.deacon@arm.com>
1debdf0
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
1debdf0
 Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
1debdf0
 Scott Branden <sbranden@broadcom.com>, Ray Jui <rjui@broadcom.com>,
1debdf0
 Phil Elwell <phil@raspberrypi.org>, Alexander Graf <agraf@suse.de>,
1debdf0
 bcm-kernel-feedback-list@broadcom.com,
1debdf0
 linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
1debdf0
Date: Sat, 21 Apr 2018 13:28:34 +0200
1debdf0
1debdf0
All RPi 1 and 2 boards used the PWM (audio out) on pin 40 and 45.
1debdf0
So it was easy to define them in bcm2835-rpi.dtsi. Starting with RPi 3
1debdf0
this wont work anymore, because it uses pin 40 and 41. Furthermore the
1debdf0
Zero variants doesn't have audio out.
1debdf0
1debdf0
This patch fixes this pin conflict by moving the PWM node to the board-level.
1debdf0
1debdf0
Change summary:
1debdf0
RPi 3 B:      PWM1 45 -> 41
1debdf0
Zero, Zero W: PWM disabled
1debdf0
all other:    no functional change
1debdf0
1debdf0
Reported-by: Baruch Siach <baruch@tkos.co.il>
1debdf0
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
Reviewed-by: Eric Anholt <eric@anholt.net>
1debdf0
---
1debdf0
 arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 6 ++++++
1debdf0
 arch/arm/boot/dts/bcm2835-rpi-a.dts      | 6 ++++++
1debdf0
 arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 6 ++++++
1debdf0
 arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 6 ++++++
1debdf0
 arch/arm/boot/dts/bcm2835-rpi-b.dts      | 6 ++++++
1debdf0
 arch/arm/boot/dts/bcm2835-rpi.dtsi       | 6 ------
1debdf0
 arch/arm/boot/dts/bcm2836-rpi-2-b.dts    | 6 ++++++
1debdf0
 arch/arm/boot/dts/bcm2837-rpi-3-b.dts    | 6 ++++++
1debdf0
 8 files changed, 42 insertions(+), 6 deletions(-)
1debdf0
1debdf0
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
1debdf0
index aa1fc7b..2cd9c5e 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
1debdf0
@@ -101,6 +101,12 @@
1debdf0
 	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&uart0_gpio14>;
1debdf0
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts
1debdf0
index 425f6b0..067d1f0 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
1debdf0
@@ -96,6 +96,12 @@
1debdf0
 	hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&uart0_gpio14>;
1debdf0
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
1debdf0
index effa195..cfbdaac 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
1debdf0
@@ -103,6 +103,12 @@
1debdf0
 	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&uart0_gpio14>;
1debdf0
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
1debdf0
index 772ec3b..5641d16 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
1debdf0
@@ -96,6 +96,12 @@
1debdf0
 	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&uart0_gpio14>;
1debdf0
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
1debdf0
index 434483d..31ff602 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
1debdf0
@@ -91,6 +91,12 @@
1debdf0
 	hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&uart0_gpio14>;
1debdf0
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
1debdf0
index 6c3cfaa..cb2d6d7 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
1debdf0
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
1debdf0
@@ -83,12 +83,6 @@
1debdf0
 	bus-width = <4>;
1debdf0
 };
1debdf0
 
1debdf0
-&pwm {
1debdf0
-	pinctrl-names = "default";
1debdf0
-	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
-	status = "okay";
1debdf0
-};
1debdf0
-
1debdf0
 &usb {
1debdf0
 	power-domains = <&power RPI_POWER_DOMAIN_USB>;
1debdf0
 };
1debdf0
diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
1debdf0
index 5c339ad..2fef70a 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
1debdf0
@@ -41,6 +41,12 @@
1debdf0
 	hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&uart0_gpio14>;
1debdf0
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
1debdf0
index 0b31d99..cc39b6f 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
1debdf0
@@ -42,6 +42,12 @@
1debdf0
 	};
1debdf0
 };
1debdf0
 
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
 /* uart0 communicates with the BT module */
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
From patchwork Sat Apr 21 11:28:35 2018
1debdf0
Content-Type: text/plain; charset="utf-8"
1debdf0
MIME-Version: 1.0
1debdf0
Content-Transfer-Encoding: 7bit
1debdf0
Subject: [V2,2/9] ARM: dts: bcm2837: Add missing GPIOs of Expander
1debdf0
From: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
X-Patchwork-Id: 10354079
1debdf0
Message-Id: <1524310122-9439-3-git-send-email-stefan.wahren@i2se.com>
1debdf0
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
1debdf0
 Eric Anholt <eric@anholt.net>, Catalin Marinas <catalin.marinas@arm.com>, 
1debdf0
 Will Deacon <will.deacon@arm.com>
1debdf0
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
1debdf0
 Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
1debdf0
 Scott Branden <sbranden@broadcom.com>, Ray Jui <rjui@broadcom.com>,
1debdf0
 Phil Elwell <phil@raspberrypi.org>, Alexander Graf <agraf@suse.de>,
1debdf0
 bcm-kernel-feedback-list@broadcom.com,
1debdf0
 linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
1debdf0
Date: Sat, 21 Apr 2018 13:28:35 +0200
1debdf0
1debdf0
After commit a98d90e7d588 ("gpio: raspberrypi-exp: Driver for RPi3 GPIO
1debdf0
expander via mailbox service") we are able to control the rest of the
1debdf0
GPIOs of the RPi 3. So add all the missing parts (ACT LED,
1debdf0
Wifi & BT control, HDMI detect) to the DT.
1debdf0
1debdf0
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
Reviewed-by: Eric Anholt <eric@anholt.net>
1debdf0
---
1debdf0
 arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 20 +++++++++++++++++++-
1debdf0
 1 file changed, 19 insertions(+), 1 deletion(-)
1debdf0
1debdf0
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
1debdf0
index cc39b6f..c318bcb 100644
1debdf0
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
1debdf0
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
1debdf0
@@ -20,9 +20,14 @@
1debdf0
 
1debdf0
 	leds {
1debdf0
 		act {
1debdf0
-			gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
1debdf0
+			gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
1debdf0
 		};
1debdf0
 	};
1debdf0
+
1debdf0
+	wifi_pwrseq: wifi-pwrseq {
1debdf0
+		compatible = "mmc-pwrseq-simple";
1debdf0
+		reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
1debdf0
+	};
1debdf0
 };
1debdf0
 
1debdf0
 &firmware {
1debdf0
@@ -48,6 +53,10 @@
1debdf0
 	status = "okay";
1debdf0
 };
1debdf0
 
1debdf0
+&hdmi {
1debdf0
+	hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>;
1debdf0
+};
1debdf0
+
1debdf0
 /* uart0 communicates with the BT module */
1debdf0
 &uart0 {
1debdf0
 	pinctrl-names = "default";
1debdf0
@@ -57,6 +66,7 @@
1debdf0
 	bluetooth {
1debdf0
 		compatible = "brcm,bcm43438-bt";
1debdf0
 		max-speed = <2000000>;
1debdf0
+		shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
1debdf0
 	};
1debdf0
 };
1debdf0
 
1debdf0
@@ -69,11 +79,19 @@
1debdf0
 
1debdf0
 /* SDHCI is used to control the SDIO for wireless */
1debdf0
 &sdhci {
1debdf0
+	#address-cells = <1>;
1debdf0
+	#size-cells = <0>;
1debdf0
 	pinctrl-names = "default";
1debdf0
 	pinctrl-0 = <&emmc_gpio34>;
1debdf0
 	status = "okay";
1debdf0
 	bus-width = <4>;
1debdf0
 	non-removable;
1debdf0
+	mmc-pwrseq = <&wifi_pwrseq>;
1debdf0
+
1debdf0
+	brcmf: wifi@1 {
1debdf0
+		reg = <1>;
1debdf0
+		compatible = "brcm,bcm4329-fmac";
1debdf0
+	};
1debdf0
 };
1debdf0
 
1debdf0
 /* SDHOST is used to drive the SD card */
1debdf0
From patchwork Sat Apr 21 11:28:36 2018
1debdf0
Content-Type: text/plain; charset="utf-8"
1debdf0
MIME-Version: 1.0
1debdf0
Content-Transfer-Encoding: 7bit
1debdf0
Subject: [V2,3/9] dt-bindings: bcm: Add Raspberry Pi 3 B+
1debdf0
From: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
X-Patchwork-Id: 10354081
1debdf0
Message-Id: <1524310122-9439-4-git-send-email-stefan.wahren@i2se.com>
1debdf0
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
1debdf0
 Eric Anholt <eric@anholt.net>, Catalin Marinas <catalin.marinas@arm.com>, 
1debdf0
 Will Deacon <will.deacon@arm.com>
1debdf0
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
1debdf0
 Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
1debdf0
 Scott Branden <sbranden@broadcom.com>, Ray Jui <rjui@broadcom.com>,
1debdf0
 Phil Elwell <phil@raspberrypi.org>, Alexander Graf <agraf@suse.de>,
1debdf0
 bcm-kernel-feedback-list@broadcom.com,
1debdf0
 linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
1debdf0
Date: Sat, 21 Apr 2018 13:28:36 +0200
1debdf0
1debdf0
This adds the root properties for the Raspberry Pi 3 B+
1debdf0
1debdf0
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
Reviewed-by: Eric Anholt <eric@anholt.net>
1debdf0
Reviewed-by: Rob Herring <robh@kernel.org>
1debdf0
---
1debdf0
 Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++
1debdf0
 1 file changed, 4 insertions(+)
1debdf0
1debdf0
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
1debdf0
index 3e3efa0..1e3e29a 100644
1debdf0
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
1debdf0
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
1debdf0
@@ -34,6 +34,10 @@ Raspberry Pi 3 Model B
1debdf0
 Required root node properties:
1debdf0
 compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
1debdf0
 
1debdf0
+Raspberry Pi 3 Model B+
1debdf0
+Required root node properties:
1debdf0
+compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
1debdf0
+
1debdf0
 Raspberry Pi Compute Module
1debdf0
 Required root node properties:
1debdf0
 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
1debdf0
From patchwork Sat Apr 21 11:28:37 2018
1debdf0
Content-Type: text/plain; charset="utf-8"
1debdf0
MIME-Version: 1.0
1debdf0
Content-Transfer-Encoding: 7bit
1debdf0
Subject: [V2,4/9] ARM: dts: bcm2837: Add Raspberry Pi 3 B+
1debdf0
From: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
X-Patchwork-Id: 10354075
1debdf0
Message-Id: <1524310122-9439-5-git-send-email-stefan.wahren@i2se.com>
1debdf0
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
1debdf0
 Eric Anholt <eric@anholt.net>, Catalin Marinas <catalin.marinas@arm.com>, 
1debdf0
 Will Deacon <will.deacon@arm.com>
1debdf0
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
1debdf0
 Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
1debdf0
 Scott Branden <sbranden@broadcom.com>, Ray Jui <rjui@broadcom.com>,
1debdf0
 Phil Elwell <phil@raspberrypi.org>, Alexander Graf <agraf@suse.de>,
1debdf0
 bcm-kernel-feedback-list@broadcom.com,
1debdf0
 linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
1debdf0
Date: Sat, 21 Apr 2018 13:28:37 +0200
1debdf0
1debdf0
The Raspberry Pi 3 B+ has the following major differences compared
1debdf0
to the model 3 B:
1debdf0
* Microchip LAN7515 (Gigabit Ethernet with integrated USB 2.0 HUB)
1debdf0
* Cypress CYW43455 (802.11n/ac and BT 4.2)
1debdf0
1debdf0
We need to add the USB LAN chip so the bootloader can add the MAC address.
1debdf0
This is necessary because there ain't an EEPROM or a valid OTP.
1debdf0
1debdf0
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
1debdf0
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
Reviewed-by: Eric Anholt <eric@anholt.net>
1debdf0
---
1debdf0
 arch/arm/boot/dts/Makefile                 |   1 +
1debdf0
 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 108 +++++++++++++++++++++++++++++
1debdf0
 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi |  27 ++++++++
1debdf0
 3 files changed, 136 insertions(+)
1debdf0
 create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
1debdf0
 create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
1debdf0
1debdf0
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
1debdf0
index 7e24249..a300a35 100644
1debdf0
--- a/arch/arm/boot/dts/Makefile
1debdf0
+++ b/arch/arm/boot/dts/Makefile
1debdf0
@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
1debdf0
 	bcm2835-rpi-a-plus.dtb \
1debdf0
 	bcm2836-rpi-2-b.dtb \
1debdf0
 	bcm2837-rpi-3-b.dtb \
1debdf0
+	bcm2837-rpi-3-b-plus.dtb \
1debdf0
 	bcm2835-rpi-zero.dtb \
1debdf0
 	bcm2835-rpi-zero-w.dtb
1debdf0
 dtb-$(CONFIG_ARCH_BCM_5301X) += \
1debdf0
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
1debdf0
new file mode 100644
1debdf0
index 0000000..4adb85e
1debdf0
--- /dev/null
1debdf0
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
1debdf0
@@ -0,0 +1,108 @@
1debdf0
+// SPDX-License-Identifier: GPL-2.0
1debdf0
+/dts-v1/;
1debdf0
+#include "bcm2837.dtsi"
1debdf0
+#include "bcm2835-rpi.dtsi"
1debdf0
+#include "bcm283x-rpi-lan7515.dtsi"
1debdf0
+#include "bcm283x-rpi-usb-host.dtsi"
1debdf0
+
1debdf0
+/ {
1debdf0
+	compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
1debdf0
+	model = "Raspberry Pi 3 Model B+";
1debdf0
+
1debdf0
+	chosen {
1debdf0
+		/* 8250 auxiliary UART instead of pl011 */
1debdf0
+		stdout-path = "serial1:115200n8";
1debdf0
+	};
1debdf0
+
1debdf0
+	memory {
1debdf0
+		reg = <0 0x40000000>;
1debdf0
+	};
1debdf0
+
1debdf0
+	leds {
1debdf0
+		act {
1debdf0
+			gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
1debdf0
+		};
1debdf0
+
1debdf0
+		pwr {
1debdf0
+			label = "PWR";
1debdf0
+			gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
1debdf0
+		};
1debdf0
+	};
1debdf0
+
1debdf0
+	wifi_pwrseq: wifi-pwrseq {
1debdf0
+		compatible = "mmc-pwrseq-simple";
1debdf0
+		reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
1debdf0
+	};
1debdf0
+};
1debdf0
+
1debdf0
+&firmware {
1debdf0
+	expgpio: gpio {
1debdf0
+		compatible = "raspberrypi,firmware-gpio";
1debdf0
+		gpio-controller;
1debdf0
+		#gpio-cells = <2>;
1debdf0
+		gpio-line-names = "BT_ON",
1debdf0
+				  "WL_ON",
1debdf0
+				  "STATUS_LED",
1debdf0
+				  "LAN_RUN",
1debdf0
+				  "",
1debdf0
+				  "CAM_GPIO0",
1debdf0
+				  "CAM_GPIO1",
1debdf0
+				  "";
1debdf0
+		status = "okay";
1debdf0
+	};
1debdf0
+};
1debdf0
+
1debdf0
+&hdmi {
1debdf0
+	hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
1debdf0
+};
1debdf0
+
1debdf0
+&pwm {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
+
1debdf0
+/* SDHCI is used to control the SDIO for wireless */
1debdf0
+&sdhci {
1debdf0
+	#address-cells = <1>;
1debdf0
+	#size-cells = <0>;
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&emmc_gpio34>;
1debdf0
+	status = "okay";
1debdf0
+	bus-width = <4>;
1debdf0
+	non-removable;
1debdf0
+	mmc-pwrseq = <&wifi_pwrseq>;
1debdf0
+
1debdf0
+	brcmf: wifi@1 {
1debdf0
+		reg = <1>;
1debdf0
+		compatible = "brcm,bcm4329-fmac";
1debdf0
+	};
1debdf0
+};
1debdf0
+
1debdf0
+/* SDHOST is used to drive the SD card */
1debdf0
+&sdhost {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&sdhost_gpio48>;
1debdf0
+	status = "okay";
1debdf0
+	bus-width = <4>;
1debdf0
+};
1debdf0
+
1debdf0
+/* uart0 communicates with the BT module */
1debdf0
+&uart0 {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
1debdf0
+	status = "okay";
1debdf0
+
1debdf0
+	bluetooth {
1debdf0
+		compatible = "brcm,bcm43438-bt";
1debdf0
+		max-speed = <2000000>;
1debdf0
+		shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
1debdf0
+	};
1debdf0
+};
1debdf0
+
1debdf0
+/* uart1 is mapped to the pin header */
1debdf0
+&uart1 {
1debdf0
+	pinctrl-names = "default";
1debdf0
+	pinctrl-0 = <&uart1_gpio14>;
1debdf0
+	status = "okay";
1debdf0
+};
1debdf0
diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
1debdf0
new file mode 100644
1debdf0
index 0000000..9403da0
1debdf0
--- /dev/null
1debdf0
+++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
1debdf0
@@ -0,0 +1,27 @@
1debdf0
+// SPDX-License-Identifier: GPL-2.0
1debdf0
+/ {
1debdf0
+	aliases {
1debdf0
+		ethernet0 = &ethernet;
1debdf0
+	};
1debdf0
+};
1debdf0
+
1debdf0
+&usb {
1debdf0
+	usb-port@1 {
1debdf0
+		compatible = "usb424,2514";
1debdf0
+		reg = <1>;
1debdf0
+		#address-cells = <1>;
1debdf0
+		#size-cells = <0>;
1debdf0
+
1debdf0
+		usb-port@1 {
1debdf0
+			compatible = "usb424,2514";
1debdf0
+			reg = <1>;
1debdf0
+			#address-cells = <1>;
1debdf0
+			#size-cells = <0>;
1debdf0
+
1debdf0
+			ethernet: ethernet@1 {
1debdf0
+				compatible = "usb424,7800";
1debdf0
+				reg = <1>;
1debdf0
+			};
1debdf0
+		};
1debdf0
+	};
1debdf0
+};
1debdf0
From patchwork Sat Apr 21 11:28:42 2018
1debdf0
Content-Type: text/plain; charset="utf-8"
1debdf0
MIME-Version: 1.0
1debdf0
Content-Transfer-Encoding: 7bit
1debdf0
Subject: [V2,9/9] arm64: dts: broadcom: Add reference to Raspberry Pi 3 B+
1debdf0
From: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
X-Patchwork-Id: 10354077
1debdf0
Message-Id: <1524310122-9439-10-git-send-email-stefan.wahren@i2se.com>
1debdf0
To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
1debdf0
 Eric Anholt <eric@anholt.net>, Catalin Marinas <catalin.marinas@arm.com>, 
1debdf0
 Will Deacon <will.deacon@arm.com>
1debdf0
Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
1debdf0
 Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
1debdf0
 Scott Branden <sbranden@broadcom.com>, Ray Jui <rjui@broadcom.com>,
1debdf0
 Phil Elwell <phil@raspberrypi.org>, Alexander Graf <agraf@suse.de>,
1debdf0
 bcm-kernel-feedback-list@broadcom.com,
1debdf0
 linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
1debdf0
Date: Sat, 21 Apr 2018 13:28:42 +0200
1debdf0
1debdf0
This adds a reference to the dts of the Raspberry Pi 3 B+
1debdf0
in arm, so don't need to maintain the content in arm64.
1debdf0
1debdf0
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
1debdf0
Reviewed-by: Eric Anholt <eric@anholt.net>
1debdf0
---
1debdf0
 arch/arm64/boot/dts/broadcom/Makefile                 | 3 ++-
1debdf0
 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts | 2 ++
1debdf0
 2 files changed, 4 insertions(+), 1 deletion(-)
1debdf0
 create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
1debdf0
1debdf0
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
1debdf0
index 2a2591e..1193a9e 100644
1debdf0
--- a/arch/arm64/boot/dts/broadcom/Makefile
1debdf0
+++ b/arch/arm64/boot/dts/broadcom/Makefile
1debdf0
@@ -1,5 +1,6 @@
1debdf0
 # SPDX-License-Identifier: GPL-2.0
1debdf0
-dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
1debdf0
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb \
1debdf0
+			      bcm2837-rpi-3-b-plus.dtb
1debdf0
 
1debdf0
 subdir-y	+= northstar2
1debdf0
 subdir-y	+= stingray
1debdf0
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
1debdf0
new file mode 100644
1debdf0
index 0000000..46ad202
1debdf0
--- /dev/null
1debdf0
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
1debdf0
@@ -0,0 +1,2 @@
1debdf0
+// SPDX-License-Identifier: GPL-2.0
1debdf0
+#include "arm/bcm2837-rpi-3-b-plus.dts"