Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'bcm2835-dt-next-2018-04-30' into devicetree/next

This pull request brings in Raspberry Pi 3 B+ support and connects
HDMI hotplug, LEDs, and wifi/bluetooth on the Raspberry Pi 3.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

+205 -8
+4
Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
··· 34 34 Required root node properties: 35 35 compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; 36 36 37 + Raspberry Pi 3 Model B+ 38 + Required root node properties: 39 + compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; 40 + 37 41 Raspberry Pi Compute Module 38 42 Required root node properties: 39 43 compatible = "raspberrypi,compute-module", "brcm,bcm2835";
+1
arch/arm/boot/dts/Makefile
··· 75 75 bcm2835-rpi-a-plus.dtb \ 76 76 bcm2836-rpi-2-b.dtb \ 77 77 bcm2837-rpi-3-b.dtb \ 78 + bcm2837-rpi-3-b-plus.dtb \ 78 79 bcm2835-rpi-zero.dtb \ 79 80 bcm2835-rpi-zero-w.dtb 80 81 dtb-$(CONFIG_ARCH_BCM_5301X) += \
+6
arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
··· 101 101 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; 102 102 }; 103 103 104 + &pwm { 105 + pinctrl-names = "default"; 106 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 107 + status = "okay"; 108 + }; 109 + 104 110 &uart0 { 105 111 pinctrl-names = "default"; 106 112 pinctrl-0 = <&uart0_gpio14>;
+6
arch/arm/boot/dts/bcm2835-rpi-a.dts
··· 96 96 hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; 97 97 }; 98 98 99 + &pwm { 100 + pinctrl-names = "default"; 101 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 102 + status = "okay"; 103 + }; 104 + 99 105 &uart0 { 100 106 pinctrl-names = "default"; 101 107 pinctrl-0 = <&uart0_gpio14>;
+6
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
··· 103 103 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; 104 104 }; 105 105 106 + &pwm { 107 + pinctrl-names = "default"; 108 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 109 + status = "okay"; 110 + }; 111 + 106 112 &uart0 { 107 113 pinctrl-names = "default"; 108 114 pinctrl-0 = <&uart0_gpio14>;
+6
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
··· 96 96 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; 97 97 }; 98 98 99 + &pwm { 100 + pinctrl-names = "default"; 101 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 102 + status = "okay"; 103 + }; 104 + 99 105 &uart0 { 100 106 pinctrl-names = "default"; 101 107 pinctrl-0 = <&uart0_gpio14>;
+6
arch/arm/boot/dts/bcm2835-rpi-b.dts
··· 91 91 hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; 92 92 }; 93 93 94 + &pwm { 95 + pinctrl-names = "default"; 96 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 97 + status = "okay"; 98 + }; 99 + 94 100 &uart0 { 95 101 pinctrl-names = "default"; 96 102 pinctrl-0 = <&uart0_gpio14>;
-6
arch/arm/boot/dts/bcm2835-rpi.dtsi
··· 83 83 bus-width = <4>; 84 84 }; 85 85 86 - &pwm { 87 - pinctrl-names = "default"; 88 - pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 89 - status = "okay"; 90 - }; 91 - 92 86 &usb { 93 87 power-domains = <&power RPI_POWER_DOMAIN_USB>; 94 88 };
+6
arch/arm/boot/dts/bcm2836-rpi-2-b.dts
··· 41 41 hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; 42 42 }; 43 43 44 + &pwm { 45 + pinctrl-names = "default"; 46 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>; 47 + status = "okay"; 48 + }; 49 + 44 50 &uart0 { 45 51 pinctrl-names = "default"; 46 52 pinctrl-0 = <&uart0_gpio14>;
+108
arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /dts-v1/; 3 + #include "bcm2837.dtsi" 4 + #include "bcm2835-rpi.dtsi" 5 + #include "bcm283x-rpi-lan7515.dtsi" 6 + #include "bcm283x-rpi-usb-host.dtsi" 7 + 8 + / { 9 + compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837"; 10 + model = "Raspberry Pi 3 Model B+"; 11 + 12 + chosen { 13 + /* 8250 auxiliary UART instead of pl011 */ 14 + stdout-path = "serial1:115200n8"; 15 + }; 16 + 17 + memory { 18 + reg = <0 0x40000000>; 19 + }; 20 + 21 + leds { 22 + act { 23 + gpios = <&gpio 29 GPIO_ACTIVE_HIGH>; 24 + }; 25 + 26 + pwr { 27 + label = "PWR"; 28 + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; 29 + }; 30 + }; 31 + 32 + wifi_pwrseq: wifi-pwrseq { 33 + compatible = "mmc-pwrseq-simple"; 34 + reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; 35 + }; 36 + }; 37 + 38 + &firmware { 39 + expgpio: gpio { 40 + compatible = "raspberrypi,firmware-gpio"; 41 + gpio-controller; 42 + #gpio-cells = <2>; 43 + gpio-line-names = "BT_ON", 44 + "WL_ON", 45 + "STATUS_LED", 46 + "LAN_RUN", 47 + "", 48 + "CAM_GPIO0", 49 + "CAM_GPIO1", 50 + ""; 51 + status = "okay"; 52 + }; 53 + }; 54 + 55 + &hdmi { 56 + hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; 57 + }; 58 + 59 + &pwm { 60 + pinctrl-names = "default"; 61 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; 62 + status = "okay"; 63 + }; 64 + 65 + /* SDHCI is used to control the SDIO for wireless */ 66 + &sdhci { 67 + #address-cells = <1>; 68 + #size-cells = <0>; 69 + pinctrl-names = "default"; 70 + pinctrl-0 = <&emmc_gpio34>; 71 + status = "okay"; 72 + bus-width = <4>; 73 + non-removable; 74 + mmc-pwrseq = <&wifi_pwrseq>; 75 + 76 + brcmf: wifi@1 { 77 + reg = <1>; 78 + compatible = "brcm,bcm4329-fmac"; 79 + }; 80 + }; 81 + 82 + /* SDHOST is used to drive the SD card */ 83 + &sdhost { 84 + pinctrl-names = "default"; 85 + pinctrl-0 = <&sdhost_gpio48>; 86 + status = "okay"; 87 + bus-width = <4>; 88 + }; 89 + 90 + /* uart0 communicates with the BT module */ 91 + &uart0 { 92 + pinctrl-names = "default"; 93 + pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>; 94 + status = "okay"; 95 + 96 + bluetooth { 97 + compatible = "brcm,bcm43438-bt"; 98 + max-speed = <2000000>; 99 + shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; 100 + }; 101 + }; 102 + 103 + /* uart1 is mapped to the pin header */ 104 + &uart1 { 105 + pinctrl-names = "default"; 106 + pinctrl-0 = <&uart1_gpio14>; 107 + status = "okay"; 108 + };
+25 -1
arch/arm/boot/dts/bcm2837-rpi-3-b.dts
··· 20 20 21 21 leds { 22 22 act { 23 - gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; 23 + gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>; 24 24 }; 25 + }; 26 + 27 + wifi_pwrseq: wifi-pwrseq { 28 + compatible = "mmc-pwrseq-simple"; 29 + reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>; 25 30 }; 26 31 }; 27 32 ··· 47 42 }; 48 43 }; 49 44 45 + &pwm { 46 + pinctrl-names = "default"; 47 + pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>; 48 + status = "okay"; 49 + }; 50 + 51 + &hdmi { 52 + hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>; 53 + }; 54 + 50 55 /* uart0 communicates with the BT module */ 51 56 &uart0 { 52 57 pinctrl-names = "default"; ··· 66 51 bluetooth { 67 52 compatible = "brcm,bcm43438-bt"; 68 53 max-speed = <2000000>; 54 + shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; 69 55 }; 70 56 }; 71 57 ··· 79 63 80 64 /* SDHCI is used to control the SDIO for wireless */ 81 65 &sdhci { 66 + #address-cells = <1>; 67 + #size-cells = <0>; 82 68 pinctrl-names = "default"; 83 69 pinctrl-0 = <&emmc_gpio34>; 84 70 status = "okay"; 85 71 bus-width = <4>; 86 72 non-removable; 73 + mmc-pwrseq = <&wifi_pwrseq>; 74 + 75 + brcmf: wifi@1 { 76 + reg = <1>; 77 + compatible = "brcm,bcm4329-fmac"; 78 + }; 87 79 }; 88 80 89 81 /* SDHOST is used to drive the SD card */
+27
arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + / { 3 + aliases { 4 + ethernet0 = &ethernet; 5 + }; 6 + }; 7 + 8 + &usb { 9 + usb-port@1 { 10 + compatible = "usb424,2514"; 11 + reg = <1>; 12 + #address-cells = <1>; 13 + #size-cells = <0>; 14 + 15 + usb-port@1 { 16 + compatible = "usb424,2514"; 17 + reg = <1>; 18 + #address-cells = <1>; 19 + #size-cells = <0>; 20 + 21 + ethernet: ethernet@1 { 22 + compatible = "usb424,7800"; 23 + reg = <1>; 24 + }; 25 + }; 26 + }; 27 + };
+2 -1
arch/arm64/boot/dts/broadcom/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 - dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb 2 + dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb \ 3 + bcm2837-rpi-3-b-plus.dtb 3 4 4 5 subdir-y += northstar2 5 6 subdir-y += stingray
+2
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + #include "arm/bcm2837-rpi-3-b-plus.dts"