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