This pull request contains Broadcom ARM-based Device Tree changes for 4.13.

Note that Baruch's changes are fixes that are currently included in v4.12-rc2,
 but they are also included here in order to keep this tag based off v4.12-rc1.
 
 Please pull the following:
 
 - Rafal adds CPU and thermal zones to the Northstar (BCM5301X) Device Tree and he
   also adds the MDIO controller nodes for later use by USB PHYs
 
 - Eric adds support for the V3D engine and Ethernet switch on the Cygnus
   platforms, he also adds a set of Device Tree sources and include files for the
   Raspberry Pi 3 (BCM2837) to be used with the ARM/Linux kernel,
 
 - Jon adds CPU and thermal zones to the Northstar Plus Device Tree files
 
 - Stefan updates the Raspberry Pi DTS files with thermal trip points and zones,
   adds support for the USB OTG on the Raspberry Pi Zero which includes the
   proper dwc2 configuration, a generic USB PHY and finally the enabling of the
   OTG controller by including the proper DTS include file
 
 - Gerd switches the Raspberry Pi DTS files to use the SDHOST controller (faster
   than the SDHCI)
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJZQEOMAAoJEIfQlpxEBwcEDh4QALPsHSHfEpMgpKAE87OWryhV
 QGfPDNeSQElTNmeSfi/cytdy7yTAw/pJYsLxpyDoJ/a+Dac58Jd3gqmhSN6Gw6cd
 vND9cxZ/tyadHbcqtmnse+5QO7nDH8xFwUEg3yLP50ieQ6Hlqbdv5USvKHTC1Xi3
 5qXjlTTdcATRh6X+tKw8tTBOcgPPt4ZiV2Xzl59uqV468QbTZC+sh5ZskgIZBaZE
 u1rfTXnEAcFT/5xle0CEFP4/yPc6gyZFdnXCQw1hmTimOUW8tlqsHI0S1CGY+pzK
 nxSDOyDYHHHb0HvbJdYC22VE8CLBYIFal6W+kGxFBpP16elxTIke5N12x/xx2WFp
 jCcLJj0PDdGXotaJYSHMuHTQuvKo7hOTU7oWgFHZGdTZNkMA3FWPInbT7v056SNG
 TkfcC86077gaptIshNTCqZCfmm0SVd5oCSyi7kCulcS6tqKMgviaMiqlp0DLnxsO
 bZpYIhdiScHheWy3tifTUBbhiGBy7R57ttMRP0oloOVT+Xgmg1/6+jaN6BLShiZp
 BaOq4IoNwkSDJyVHZEMl81KHFqWN13g+P3wqnNIRpH4t94oo7uM2DXoVsVfsISY0
 uQmWI07SZkw55NkCgn2bVeyzFW1RfW0vFYef9prqjfB4egKRBoZHqzMAnOeQmsMP
 s5w93RzKj/o7r2CQzjzX
 =aDbe
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.13/devicetree' of http://github.com/Broadcom/stblinux into next/dt

This pull request contains Broadcom ARM-based Device Tree changes for 4.13.

Note that Baruch's changes are fixes that are currently included in v4.12-rc2,
but they are also included here in order to keep this tag based off v4.12-rc1.

Please pull the following:

- Rafal adds CPU and thermal zones to the Northstar (BCM5301X) Device Tree and he
  also adds the MDIO controller nodes for later use by USB PHYs

- Eric adds support for the V3D engine and Ethernet switch on the Cygnus
  platforms, he also adds a set of Device Tree sources and include files for the
  Raspberry Pi 3 (BCM2837) to be used with the ARM/Linux kernel,

- Jon adds CPU and thermal zones to the Northstar Plus Device Tree files

- Stefan updates the Raspberry Pi DTS files with thermal trip points and zones,
  adds support for the USB OTG on the Raspberry Pi Zero which includes the
  proper dwc2 configuration, a generic USB PHY and finally the enabling of the
  OTG controller by including the proper DTS include file

- Gerd switches the Raspberry Pi DTS files to use the SDHOST controller (faster
  than the SDHCI)

* tag 'arm-soc/for-4.13/devicetree' of http://github.com/Broadcom/stblinux:
  ARM: dts: bcm2835-rpi-zero: Enable OTG mode
  ARM: dts: bcm283x: Add generic USB PHY
  ARM: dts: bcm283x: Add dtsi for OTG mode
  ARM: dts: Cygnus: Add the ethernet switch and ethernet PHY
  ARM: dts: NSP: Add Thermal Support
  ARM: dts: Cygnus: Add BCM11360's V3D device
  ARM: dts: BCM5301X: Specify MDIO bus in the DT
  ARM: dts: BCM5301X: Add CPU thermal sensor and zone
  ARM: dts: bcm283x: switch from &sdhci to &sdhost
  ARM: dts: bcm283x: Add CPU thermal zone with 1 trip point
  ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6)

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2017-06-18 20:15:54 -07:00
commit 2a65ec81b7
12 changed files with 200 additions and 2 deletions

View File

@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2835-rpi-b-plus.dtb \
bcm2835-rpi-a-plus.dtb \
bcm2836-rpi-2-b.dtb \
bcm2837-rpi-3-b.dtb \
bcm2835-rpi-zero.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm4708-asus-rt-ac56u.dtb \

View File

@ -142,6 +142,55 @@ gpio_crmu: gpio@03024800 {
interrupts = <0>;
};
mdio: mdio@18002000 {
compatible = "brcm,iproc-mdio";
reg = <0x18002000 0x8>;
#size-cells = <1>;
#address-cells = <0>;
status = "disabled";
gphy0: ethernet-phy@0 {
reg = <0>;
};
gphy1: ethernet-phy@1 {
reg = <1>;
};
};
switch: switch@18007000 {
compatible = "brcm,bcm11360-srab", "brcm,cygnus-srab";
reg = <0x18007000 0x1000>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phy-handle = <&gphy0>;
phy-mode = "rgmii";
};
port@1 {
reg = <1>;
phy-handle = <&gphy1>;
phy-mode = "rgmii";
};
port@8 {
reg = <8>;
label = "cpu";
ethernet = <&eth0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
i2c0: i2c@18008000 {
compatible = "brcm,cygnus-iproc-i2c", "brcm,iproc-i2c";
reg = <0x18008000 0x100>;
@ -295,6 +344,15 @@ uart3: serial@18023000 {
status = "disabled";
};
eth0: ethernet@18042000 {
compatible = "brcm,amac";
reg = <0x18042000 0x1000>,
<0x18110000 0x1000>;
reg-names = "amac_base", "idm_base";
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
nand: nand@18046000 {
compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1";
reg = <0x18046000 0x600>, <0xf8105408 0x600>,
@ -386,6 +444,19 @@ touchscreen: touchscreen@180a6000 {
status = "disabled";
};
v3d: v3d@180a2000 {
compatible = "brcm,cygnus-v3d";
reg = <0x180a2000 0x1000>;
clocks = <&mipipll BCM_CYGNUS_MIPIPLL_CH2_V3D>;
clock-names = "v3d_clk";
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
vc4: gpu {
compatible = "brcm,cygnus-vc4";
};
adc: adc@180a6000 {
compatible = "brcm,iproc-static-adc";
#io-channel-cells = <1>;

View File

@ -413,6 +413,12 @@ pinctrl: pinctrl@3f1c0 {
<0x3f408 0x04>;
};
thermal: thermal@3f2c0 {
compatible = "brcm,ns-thermal";
reg = <0x3f2c0 0x10>;
#thermal-sensor-cells = <0>;
};
sata_phy: sata_phy@40100 {
compatible = "brcm,iproc-nsp-sata-phy";
reg = <0x40100 0x340>;
@ -563,4 +569,24 @@ msi2: msi-controller {
brcm,pcie-msi-inten;
};
};
thermal-zones {
cpu-thermal {
polling-delay-passive = <0>;
polling-delay = <1000>;
coefficients = <(-556) 418000>;
thermal-sensors = <&thermal>;
trips {
cpu-crit {
temperature = <125000>;
hysteresis = <0>;
type = "critical";
};
};
cooling-maps {
};
};
};
};

View File

@ -12,7 +12,7 @@
/dts-v1/;
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"
#include "bcm283x-rpi-usb-otg.dtsi"
/ {
compatible = "raspberrypi,model-zero", "brcm,bcm2835";

View File

@ -65,13 +65,13 @@ &i2c2 {
&sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio48>;
status = "okay";
bus-width = <4>;
};
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
status = "okay";
bus-width = <4>;
};

View File

@ -24,6 +24,10 @@ arm-pmu {
};
};
&cpu_thermal {
coefficients = <(-538) 407000>;
};
/* enable thermal sensor with the correct compatible property set */
&thermal {
compatible = "brcm,bcm2835-thermal";

View File

@ -77,6 +77,10 @@ &intc {
interrupts = <8>;
};
&cpu_thermal {
coefficients = <(-538) 407000>;
};
/* enable thermal sensor with the correct compatible property set */
&thermal {
compatible = "brcm,bcm2836-thermal";

View File

@ -0,0 +1 @@
#include "arm64/broadcom/bcm2837-rpi-3-b.dts"

View File

@ -0,0 +1,10 @@
&usb {
dr_mode = "otg";
g-rx-fifo-size = <256>;
g-np-tx-fifo-size = <32>;
/*
* According to dwc2 the sum of all device EP
* fifo sizes shouldn't exceed 3776 bytes.
*/
g-tx-fifo-size = <256 256 512 512 512 768 768>;
};

View File

@ -19,6 +19,26 @@ chosen {
bootargs = "earlyprintk console=ttyAMA0";
};
thermal-zones {
cpu_thermal: cpu-thermal {
polling-delay-passive = <0>;
polling-delay = <1000>;
thermal-sensors = <&thermal>;
trips {
cpu-crit {
temperature = <80000>;
hysteresis = <0>;
type = "critical";
};
};
cooling-maps {
};
};
};
soc {
compatible = "simple-bus";
#address-cells = <1>;
@ -430,6 +450,7 @@ thermal: thermal@7e212000 {
compatible = "brcm,bcm2835-thermal";
reg = <0x7e212000 0x8>;
clocks = <&clocks BCM2835_CLOCK_TSENS>;
#thermal-sensor-cells = <0>;
status = "disabled";
};
@ -568,6 +589,8 @@ usb: usb@7e980000 {
#size-cells = <0>;
clocks = <&clk_usb>;
clock-names = "otg";
phys = <&usbphy>;
phy-names = "usb2-phy";
};
v3d: v3d@7ec00000 {
@ -603,4 +626,8 @@ clk_usb: clock@4 {
clock-frequency = <480000000>;
};
};
usbphy: phy {
compatible = "usb-nop-xceiv";
};
};

View File

@ -320,6 +320,14 @@ gmac3: ethernet@27000 {
};
};
mdio: mdio@18003000 {
compatible = "brcm,iproc-mdio";
reg = <0x18003000 0x8>;
#size-cells = <1>;
#address-cells = <0>;
status = "disabled";
};
i2c0: i2c@18009000 {
compatible = "brcm,iproc-i2c";
reg = <0x18009000 0x50>;
@ -349,6 +357,12 @@ genpll: genpll@1800c140 {
"sata2";
};
thermal: thermal@1800c2c0 {
compatible = "brcm,ns-thermal";
reg = <0x1800c2c0 0x10>;
#thermal-sensor-cells = <0>;
};
srab: srab@18007000 {
compatible = "brcm,bcm5301x-srab";
reg = <0x18007000 0x1000>;
@ -412,4 +426,24 @@ spi_nor: spi-nor@0 {
status = "disabled";
};
};
thermal-zones {
cpu_thermal: cpu-thermal {
polling-delay-passive = <0>;
polling-delay = <1000>;
coefficients = <(-556) 418000>;
thermal-sensors = <&thermal>;
trips {
cpu-crit {
temperature = <125000>;
hysteresis = <0>;
type = "critical";
};
};
cooling-maps {
};
};
};
};

View File

@ -57,6 +57,26 @@ hook {
};
};
&eth0 {
status = "okay";
};
&mdio {
status = "okay";
};
&switch {
status = "okay";
};
&v3d {
assigned-clocks =
<&mipipll BCM_CYGNUS_MIPIPLL>,
<&mipipll BCM_CYGNUS_MIPIPLL_CH2_V3D>;
assigned-clock-rates = <525000000>, <300000000>;
status = "okay";
};
&uart3 {
status = "okay";
};