This pull request contains Broadcom ARM-based SoCs Device Tree changes

for 4.19, please pull the following:
 
 - Clement adds ethernet aliases to the Cygnus DTS include file such that
   a DT aware bootloader such as u-boot can properly insert MAC addresses
 
 - Mohamed adds a Device Tree node for the HWRNG found on Cygnus SoCs
 
 - Vivek migrates all the BCM5301x (Northstar) Device Tree sources to use
   the proper USB 3.0 PHY representation using its parent MDIO bus.
   Vivek also completes the Linksys EA9500 Device Tree by adding support
   for LEDs, internal and external switches.
 
 - Rafal adds the ARM architected timer to the BCM53573 Device Tree
   include file.
 
 - Eric adds the Performance Monitoring Unit to the BCM2837 DTS include
   file since it was absent before
 
 - Boris adds the BCM283x transposer block to the Device Tree
 
 - Stefan adds the Raspberry Pi Compute Module (CM1) Device Tree include
   and sources.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJbQ39IAAoJEIfQlpxEBwcEpxUQAMtvpWztA/8zgg0grpIzTKfo
 nE+q45XRMzr3mqtyse+F5UCtWWdewWA37lNNoMWvsd3xebG/Q2UscX+LWu8Y2exi
 GUXHKOJN69krd+brdhCUIre18DFf5zihT+DGR+AFHh1q2iNWKoBR2GTjfnzrLpXY
 N6bIKSMhe/2/JE6Cjr86kB7YvnQLnJUxKtfe+s2Zle9qVjsEdnpUk0X5f+UntLd0
 tNdYMP0zu/LsdVoNT9BScrEZYI6Q5zBrzKruM+FoJzVpnSWt06V4lLSMqIwv8Ye5
 SXtMy7RhVPyPlzFCM9HER+aOnXpNOskILP6rpbn8x/grZTB6A3hnVum031jYYJni
 UTBttyVPsbeliO4w5mHARJ268onAcFCoSIglHiMc4D0eBI0yqXt5wPNrxPXK1+Gt
 LVcWAPNTrgKCiRQV0b7W4b51Iww9L+mYUyMmyXHbv2gITIxyUmfmZQKpOu0V1Z+S
 xadhIKOOOgtYZl4IU/6MdSzh/FVXtd9tMbu0i0PHfrHILR3IzE8OhyYOWm37ycMO
 7lND7oi7he/D80tc9DAOdf0dxk08fmgxnj0ROucq7ZtJFeVDkMA8KudGzalc7YGM
 peK2/BaruZJg3SQQP3vrSBcFqnOP6T4w0p+BhzfEcE+A+UcjQBLKMPVvoSsVASMS
 6gPNpgMz7W8TehA30PSx
 =lRBW
 -----END PGP SIGNATURE-----

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

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 4.19, please pull the following:

- Clement adds ethernet aliases to the Cygnus DTS include file such that
  a DT aware bootloader such as u-boot can properly insert MAC addresses

- Mohamed adds a Device Tree node for the HWRNG found on Cygnus SoCs

- Vivek migrates all the BCM5301x (Northstar) Device Tree sources to use
  the proper USB 3.0 PHY representation using its parent MDIO bus.
  Vivek also completes the Linksys EA9500 Device Tree by adding support
  for LEDs, internal and external switches.

- Rafal adds the ARM architected timer to the BCM53573 Device Tree
  include file.

- Eric adds the Performance Monitoring Unit to the BCM2837 DTS include
  file since it was absent before

- Boris adds the BCM283x transposer block to the Device Tree

- Stefan adds the Raspberry Pi Compute Module (CM1) Device Tree include
  and sources.

* tag 'arm-soc/for-4.19/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: BCM5301X: Add support for Linksys EA9500
  ARM: dts: BCM53573: Add architected timer
  ARM: dts: BCM5301X: Make USB 3.0 PHY use MDIO PHY driver
  ARM: dts: cygnus: enable iproc-hwrng
  ARM: dts: cygnus: add ethernet0 alias
  ARM: dts: bcm283x: Add Transposer block
  ARM: dts: bcm283x: Add the PMU to the devicetree.
  ARM: dts: add Raspberry Pi Compute Module and IO board

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2018-07-14 14:10:54 -07:00
Родитель 5665ab3ac5 3be77fe8c3
Коммит c79306d5c4
41 изменённых файлов: 540 добавлений и 11 удалений

Просмотреть файл

@ -73,6 +73,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2835-rpi-b-rev2.dtb \
bcm2835-rpi-b-plus.dtb \
bcm2835-rpi-a-plus.dtb \
bcm2835-rpi-cm1-io1.dtb \
bcm2836-rpi-2-b.dtb \
bcm2837-rpi-3-b.dtb \
bcm2837-rpi-3-b-plus.dtb \

Просмотреть файл

@ -41,6 +41,10 @@
model = "Broadcom Cygnus SoC";
interrupt-parent = <&gic>;
aliases {
ethernet0 = &eth0;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
@ -417,6 +421,11 @@
status = "disabled";
};
rng: rng@18032000 {
compatible = "brcm,iproc-rng200";
reg = <0x18032000 0x28>;
};
sdhci0: sdhci@18041000 {
compatible = "brcm,sdhci-iproc-cygnus";
reg = <0x18041000 0x100>;

Просмотреть файл

@ -0,0 +1,88 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include "bcm2835-rpi-cm1.dtsi"
#include "bcm283x-rpi-usb-host.dtsi"
/ {
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
model = "Raspberry Pi Compute Module IO board rev1";
};
&gpio {
/*
* This is based on the official GPU firmware DT blob.
*
* Legend:
* "NC" = not connected (no rail from the SoC)
* "FOO" = GPIO line named "FOO" on the schematic
* "FOO_N" = GPIO line named "FOO" on schematic, active low
*/
gpio-line-names = "GPIO0",
"GPIO1",
"GPIO2",
"GPIO3",
"GPIO4",
"GPIO5",
"GPIO6",
"GPIO7",
"GPIO8",
"GPIO9",
"GPIO10",
"GPIO11",
"GPIO12",
"GPIO13",
"GPIO14",
"GPIO15",
"GPIO16",
"GPIO17",
"GPIO18",
"GPIO19",
"GPIO20",
"GPIO21",
"GPIO22",
"GPIO23",
"GPIO24",
"GPIO25",
"GPIO26",
"GPIO27",
"GPIO28",
"GPIO29",
"GPIO30",
"GPIO31",
"GPIO32",
"GPIO33",
"GPIO34",
"GPIO35",
"GPIO36",
"GPIO37",
"GPIO38",
"GPIO39",
"GPIO40",
"GPIO41",
"GPIO42",
"GPIO43",
"GPIO44",
"GPIO45",
"HDMI_HPD_N",
/* Also used as ACT LED */
"EMMC_EN_N",
/* Used by eMMC */
"SD_CLK_R",
"SD_CMD_R",
"SD_DATA0_R",
"SD_DATA1_R",
"SD_DATA2_R",
"SD_DATA3_R";
pinctrl-0 = <&gpioout &alt0>;
};
&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

Просмотреть файл

@ -0,0 +1,34 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
#include "bcm2835.dtsi"
#include "bcm2835-rpi.dtsi"
/ {
leds {
act {
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
};
reg_3v3: fixed-regulator {
compatible = "regulator-fixed";
regulator-name = "3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
reg_1v8: fixed-regulator {
compatible = "regulator-fixed";
regulator-name = "1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
};
&sdhost {
non-removable;
vmmc-supply = <&reg_3v3>;
vqmmc-supply = <&reg_1v8>;
};

Просмотреть файл

@ -17,6 +17,12 @@
};
};
arm-pmu {
compatible = "arm,cortex-a53-pmu";
interrupt-parent = <&local_intc>;
interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
};
timer {
compatible = "arm,armv7-timer";
interrupt-parent = <&local_intc>;

Просмотреть файл

@ -66,6 +66,12 @@
clock-frequency = <1000000>;
};
txp@7e004000 {
compatible = "brcm,bcm2835-txp";
reg = <0x7e004000 0x20>;
interrupts = <1 11>;
};
dma: dma@7e007000 {
compatible = "brcm,bcm2835-dma";
reg = <0x7e007000 0xf00>;

Просмотреть файл

@ -90,3 +90,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -80,3 +80,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -146,3 +146,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -38,3 +38,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -57,3 +57,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -64,3 +64,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -91,3 +91,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -83,3 +83,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -158,3 +158,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -74,3 +74,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -118,3 +118,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -104,3 +104,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -57,3 +57,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -105,3 +105,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -99,3 +99,7 @@
&usb2 {
vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -62,3 +62,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -127,3 +127,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -39,3 +39,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -101,3 +101,7 @@
&usb3 {
vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -182,3 +182,7 @@
&usb3 {
vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -104,3 +104,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -115,3 +115,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -31,5 +31,238 @@
linux,code = <KEY_WPS_BUTTON>;
gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
};
rfkill {
label = "WiFi";
linux,code = <KEY_RFKILL>;
gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
};
reset {
label = "Reset";
linux,code = <KEY_RESTART>;
gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
wps {
label = "bcm53xx:white:wps";
gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>;
};
usb2 {
label = "bcm53xx:green:usb2";
gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port2>, <&ehci_port2>;
linux,default-trigger = "usbport";
};
usb3 {
label = "bcm53xx:green:usb3";
gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>,
<&xhci_port1>;
linux,default-trigger = "usbport";
};
power {
label = "bcm53xx:white:power";
gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
};
wifi-disabled {
label = "bcm53xx:amber:wifi-disabled";
gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
};
wifi-enabled {
label = "bcm53xx:white:wifi-enabled";
gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
};
bluebar1 {
label = "bcm53xx:white:bluebar1";
gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
};
bluebar2 {
label = "bcm53xx:white:bluebar2";
gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
};
bluebar3 {
label = "bcm53xx:white:bluebar3";
gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
};
bluebar4 {
label = "bcm53xx:white:bluebar4";
gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
};
bluebar5 {
label = "bcm53xx:white:bluebar5";
gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
};
bluebar6 {
label = "bcm53xx:white:bluebar6";
gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
};
bluebar7 {
label = "bcm53xx:white:bluebar7";
gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
};
bluebar8 {
label = "bcm53xx:white:bluebar8";
gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
};
};
mdio-bus-mux {
/* BIT(9) = 1 => external mdio */
mdio_ext: mdio@200 {
reg = <0x200>;
#address-cells = <1>;
#size-cells = <0>;
};
};
mdio-mii-mux {
compatible = "mdio-mux-mmioreg";
mdio-parent-bus = <&mdio_ext>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x1800c1c0 0x4>;
/* BIT(6) = mdc, BIT(7) = mdio */
mux-mask = <0xc0>;
mdio-mii@0 {
/* Enable MII function */
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
switch@0 {
compatible = "brcm,bcm53125";
#address-cells = <1>;
#size-cells = <0>;
reset-gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
reset-names = "robo_reset";
reg = <0>;
dsa,member = <1 0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan1";
};
port@1 {
reg = <1>;
label = "lan5";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan6";
};
port@4 {
reg = <4>;
label = "lan3";
};
sw1_p8: port@8 {
reg = <8>;
ethernet = <&sw0_p0>;
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
};
};
};
&usb2 {
vcc-gpio = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
};
&usb3 {
vcc-gpio = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
};
&srab {
compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
status = "okay";
dsa,member = <0 0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
label = "lan7";
};
port@2 {
reg = <2>;
label = "lan4";
};
port@3 {
reg = <3>;
label = "lan8";
};
port@4 {
reg = <4>;
label = "wan";
};
port@8 {
reg = <8>;
ethernet = <&gmac2>;
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
sw0_p0: port@0 {
reg = <0>;
label = "extsw";
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -60,3 +60,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -60,3 +60,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -100,3 +100,7 @@
&spi_nor {
status = "okay";
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -91,3 +91,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -7,9 +7,10 @@
#include "bcm4708.dtsi"
/ {
usb3_phy: usb3-phy {
compatible = "brcm,ns-bx-usb3-phy";
};
};
&usb3_phy {
compatible = "brcm,ns-bx-usb3-phy";
};
&uart0 {

Просмотреть файл

@ -154,13 +154,6 @@
clock-names = "phy-ref-clk";
};
usb3_phy: usb3-phy {
compatible = "brcm,ns-ax-usb3-phy";
reg = <0x18105000 0x1000>, <0x18003000 0x1000>;
reg-names = "dmp", "ccb-mii";
#phy-cells = <0>;
};
axi@18000000 {
compatible = "brcm,bus-axi";
reg = <0x18000000 0x1000>;
@ -359,7 +352,33 @@
reg = <0x18003000 0x8>;
#size-cells = <1>;
#address-cells = <0>;
status = "disabled";
};
mdio-bus-mux {
compatible = "mdio-mux-mmioreg";
mdio-parent-bus = <&mdio>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x18003000 0x4>;
mux-mask = <0x200>;
mdio@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
usb3_phy: usb3-phy@10 {
compatible = "brcm,ns-ax-usb3-phy";
reg = <0x10>;
usb3-dmp-syscon = <&usb3_dmp>;
#phy-cells = <0>;
status = "disabled";
};
};
};
usb3_dmp: syscon@18105000 {
reg = <0x18105000 0x1000>;
};
i2c0: i2c@18009000 {

Просмотреть файл

@ -48,6 +48,14 @@
};
};
timer {
compatible = "arm,armv7-timer";
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
};
clocks {
#address-cells = <1>;
#size-cells = <1>;

Просмотреть файл

@ -42,3 +42,7 @@
reg = <0x00000000 0x08000000>;
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -42,3 +42,7 @@
reg = <0x00000000 0x08000000>;
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -90,3 +90,7 @@
};
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -95,3 +95,7 @@
reg = <0x00700000 0x00900000>;
};
};
&usb3_phy {
status = "okay";
};

Просмотреть файл

@ -113,3 +113,7 @@
&uart1 {
status = "okay";
};
&usb3_phy {
status = "okay";
};