From: Rob Herring <robh@kernel.org> To: Stefan Wahren <stefan.wahren@i2se.com> Cc: Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>, Scott Branden <sbranden@broadcom.com>, Arnd Bergmann <arnd@arndb.de>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Alexander Graf <agraf@suse.de>, Eric Anholt <eric@anholt.net>, Phil Elwell <phil@raspberrypi.org>, bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org, Ray Jui <rjui@broadcom.com>, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 4/9] ARM: dts: bcm2837: Add Raspberry Pi 3 B+ Date: Mon, 16 Apr 2018 15:43:31 -0500 [thread overview] Message-ID: <20180416204331.ft4ehpe5statsw4u@rob-hp-laptop> (raw) In-Reply-To: <1523640478-4448-5-git-send-email-stefan.wahren@i2se.com> On Fri, Apr 13, 2018 at 07:27:53PM +0200, Stefan Wahren wrote: > The Raspberry Pi 3 B+ has the following major differences compared > to the model 3 B: > * Microchip LAN7515 (Gigabit Ethernet) > * Cypress CYW43455 (802.11n/ac and BT 4.2) > > We need to add the USB LAN chip so the bootloader can add the MAC address. > This is necessary because there ain't a EEPROM or a valid OTP. > > Signed-off-by: Phil Elwell <phil@raspberrypi.org> > Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 108 +++++++++++++++++++++++++++++ > arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi | 27 ++++++++ > 3 files changed, 136 insertions(+) > create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts > create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 7e24249..a300a35 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ > bcm2835-rpi-a-plus.dtb \ > bcm2836-rpi-2-b.dtb \ > bcm2837-rpi-3-b.dtb \ > + bcm2837-rpi-3-b-plus.dtb \ > bcm2835-rpi-zero.dtb \ > bcm2835-rpi-zero-w.dtb > dtb-$(CONFIG_ARCH_BCM_5301X) += \ > diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts > new file mode 100644 > index 0000000..4adb85e > --- /dev/null > +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts > @@ -0,0 +1,108 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/dts-v1/; > +#include "bcm2837.dtsi" > +#include "bcm2835-rpi.dtsi" > +#include "bcm283x-rpi-lan7515.dtsi" > +#include "bcm283x-rpi-usb-host.dtsi" > + > +/ { > + compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; > + model = "Raspberry Pi 3 Model B+"; > + > + chosen { > + /* 8250 auxiliary UART instead of pl011 */ > + stdout-path = "serial1:115200n8"; > + }; > + > + memory { > + reg = <0 0x40000000>; > + }; > + > + leds { > + act { > + gpios = <&gpio 29 GPIO_ACTIVE_HIGH>; > + }; > + > + pwr { > + label = "PWR"; > + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + wifi_pwrseq: wifi-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; > + }; > +}; > + > +&firmware { > + expgpio: gpio { > + compatible = "raspberrypi,firmware-gpio"; > + gpio-controller; > + #gpio-cells = <2>; > + gpio-line-names = "BT_ON", > + "WL_ON", > + "STATUS_LED", > + "LAN_RUN", > + "", > + "CAM_GPIO0", > + "CAM_GPIO1", > + ""; > + status = "okay"; > + }; > +}; > + > +&hdmi { > + hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; > +}; > + > +&pwm { > + pinctrl-names = "default"; > + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; > + status = "okay"; > +}; > + > +/* SDHCI is used to control the SDIO for wireless */ > +&sdhci { > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&emmc_gpio34>; > + status = "okay"; > + bus-width = <4>; > + non-removable; > + mmc-pwrseq = <&wifi_pwrseq>; > + > + brcmf: wifi@1 { > + reg = <1>; > + compatible = "brcm,bcm4329-fmac"; > + }; > +}; > + > +/* SDHOST is used to drive the SD card */ > +&sdhost { > + pinctrl-names = "default"; > + pinctrl-0 = <&sdhost_gpio48>; > + status = "okay"; > + bus-width = <4>; > +}; > + > +/* uart0 communicates with the BT module */ > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>; > + status = "okay"; > + > + bluetooth { > + compatible = "brcm,bcm43438-bt"; > + max-speed = <2000000>; > + shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; > + }; > +}; > + > +/* uart1 is mapped to the pin header */ > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_gpio14>; > + status = "okay"; > +}; > diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi > new file mode 100644 > index 0000000..169203c > --- /dev/null > +++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi Why the separate file? This can be shared? > @@ -0,0 +1,27 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/ { > + aliases { > + ethernet0 = ðernet; > + }; > +}; > + > +&usb { > + usb1@1 { > + compatible = "usb424,2514"; > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + usb1_1@1 { usb-port@1 > + compatible = "usb424,2514"; There's really 2 levels of hubs? > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethernet: usbether@1 { ethernet@1 > + compatible = "usb424,7800"; > + reg = <1>; > + }; > + }; > + }; > +}; > -- > 2.7.4 >
WARNING: multiple messages have this Message-ID (diff)
From: robh@kernel.org (Rob Herring) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/9] ARM: dts: bcm2837: Add Raspberry Pi 3 B+ Date: Mon, 16 Apr 2018 15:43:31 -0500 [thread overview] Message-ID: <20180416204331.ft4ehpe5statsw4u@rob-hp-laptop> (raw) In-Reply-To: <1523640478-4448-5-git-send-email-stefan.wahren@i2se.com> On Fri, Apr 13, 2018 at 07:27:53PM +0200, Stefan Wahren wrote: > The Raspberry Pi 3 B+ has the following major differences compared > to the model 3 B: > * Microchip LAN7515 (Gigabit Ethernet) > * Cypress CYW43455 (802.11n/ac and BT 4.2) > > We need to add the USB LAN chip so the bootloader can add the MAC address. > This is necessary because there ain't a EEPROM or a valid OTP. > > Signed-off-by: Phil Elwell <phil@raspberrypi.org> > Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> > --- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 108 +++++++++++++++++++++++++++++ > arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi | 27 ++++++++ > 3 files changed, 136 insertions(+) > create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts > create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 7e24249..a300a35 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ > bcm2835-rpi-a-plus.dtb \ > bcm2836-rpi-2-b.dtb \ > bcm2837-rpi-3-b.dtb \ > + bcm2837-rpi-3-b-plus.dtb \ > bcm2835-rpi-zero.dtb \ > bcm2835-rpi-zero-w.dtb > dtb-$(CONFIG_ARCH_BCM_5301X) += \ > diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts > new file mode 100644 > index 0000000..4adb85e > --- /dev/null > +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts > @@ -0,0 +1,108 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/dts-v1/; > +#include "bcm2837.dtsi" > +#include "bcm2835-rpi.dtsi" > +#include "bcm283x-rpi-lan7515.dtsi" > +#include "bcm283x-rpi-usb-host.dtsi" > + > +/ { > + compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; > + model = "Raspberry Pi 3 Model B+"; > + > + chosen { > + /* 8250 auxiliary UART instead of pl011 */ > + stdout-path = "serial1:115200n8"; > + }; > + > + memory { > + reg = <0 0x40000000>; > + }; > + > + leds { > + act { > + gpios = <&gpio 29 GPIO_ACTIVE_HIGH>; > + }; > + > + pwr { > + label = "PWR"; > + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + wifi_pwrseq: wifi-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; > + }; > +}; > + > +&firmware { > + expgpio: gpio { > + compatible = "raspberrypi,firmware-gpio"; > + gpio-controller; > + #gpio-cells = <2>; > + gpio-line-names = "BT_ON", > + "WL_ON", > + "STATUS_LED", > + "LAN_RUN", > + "", > + "CAM_GPIO0", > + "CAM_GPIO1", > + ""; > + status = "okay"; > + }; > +}; > + > +&hdmi { > + hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; > +}; > + > +&pwm { > + pinctrl-names = "default"; > + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; > + status = "okay"; > +}; > + > +/* SDHCI is used to control the SDIO for wireless */ > +&sdhci { > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-names = "default"; > + pinctrl-0 = <&emmc_gpio34>; > + status = "okay"; > + bus-width = <4>; > + non-removable; > + mmc-pwrseq = <&wifi_pwrseq>; > + > + brcmf: wifi at 1 { > + reg = <1>; > + compatible = "brcm,bcm4329-fmac"; > + }; > +}; > + > +/* SDHOST is used to drive the SD card */ > +&sdhost { > + pinctrl-names = "default"; > + pinctrl-0 = <&sdhost_gpio48>; > + status = "okay"; > + bus-width = <4>; > +}; > + > +/* uart0 communicates with the BT module */ > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>; > + status = "okay"; > + > + bluetooth { > + compatible = "brcm,bcm43438-bt"; > + max-speed = <2000000>; > + shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; > + }; > +}; > + > +/* uart1 is mapped to the pin header */ > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart1_gpio14>; > + status = "okay"; > +}; > diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi > new file mode 100644 > index 0000000..169203c > --- /dev/null > +++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi Why the separate file? This can be shared? > @@ -0,0 +1,27 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/ { > + aliases { > + ethernet0 = ðernet; > + }; > +}; > + > +&usb { > + usb1 at 1 { > + compatible = "usb424,2514"; > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + usb1_1 at 1 { usb-port at 1 > + compatible = "usb424,2514"; There's really 2 levels of hubs? > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + ethernet: usbether at 1 { ethernet at 1 > + compatible = "usb424,7800"; > + reg = <1>; > + }; > + }; > + }; > +}; > -- > 2.7.4 >
next prev parent reply other threads:[~2018-04-16 20:43 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-13 17:27 [PATCH 0/9] ARM: bcm283x: RPi 3 B+ support and other improvements Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 1/9] ARM: dts: bcm283x: Fix PWM pin assignment Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 2/9] ARM: dts: bcm2837: Add missing GPIOs of Expander Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 3/9] dt-bindings: bcm: Add Raspberry Pi 3 B+ Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-16 20:38 ` Rob Herring 2018-04-16 20:38 ` Rob Herring 2018-04-13 17:27 ` [PATCH 4/9] ARM: dts: bcm2837: " Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-16 20:43 ` Rob Herring [this message] 2018-04-16 20:43 ` Rob Herring 2018-04-17 8:13 ` Stefan Wahren 2018-04-17 8:13 ` Stefan Wahren 2018-04-17 16:02 ` Eric Anholt 2018-04-17 16:02 ` Eric Anholt 2018-04-20 11:24 ` Stefan Wahren 2018-04-20 11:24 ` Stefan Wahren 2018-04-20 18:50 ` Rob Herring 2018-04-20 18:50 ` Rob Herring 2018-04-13 17:27 ` [PATCH 5/9] ARM: bcm2835_defconfig: Enable LAN78XX driver Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 6/9] ARM: bcm2835_defconfig: Enable VCHIQ driver Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 7/9] ARM: multi_v7_defconfig: Enable LAN and BT support for RPi 3 B+ Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 8/9] arm64: defconfig: " Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-13 17:27 ` [PATCH 9/9] arm64: dts: broadcom: Add reference to Raspberry Pi " Stefan Wahren 2018-04-13 17:27 ` Stefan Wahren 2018-04-20 11:26 ` Stefan Wahren 2018-04-20 11:26 ` Stefan Wahren 2018-04-13 20:01 ` [PATCH 0/9] ARM: bcm283x: RPi 3 B+ support and other improvements Eric Anholt 2018-04-13 20:01 ` Eric Anholt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180416204331.ft4ehpe5statsw4u@rob-hp-laptop \ --to=robh@kernel.org \ --cc=agraf@suse.de \ --cc=arnd@arndb.de \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=catalin.marinas@arm.com \ --cc=devicetree@vger.kernel.org \ --cc=eric@anholt.net \ --cc=f.fainelli@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-rpi-kernel@lists.infradead.org \ --cc=mark.rutland@arm.com \ --cc=phil@raspberrypi.org \ --cc=rjui@broadcom.com \ --cc=sbranden@broadcom.com \ --cc=stefan.wahren@i2se.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.