This pull request contains Broadcom ARM-based SoCs devicetree changes

for 4.17, please pull the following:
 
 - Henry fixes the pin functions for the JTAG pins, nothing uses this for
   now, but it could be backported eventually if deemed appropriate
 
 - Stefan fixes the register ranges for the bcm2835-i2s nodes in the
   binding document definition, he then fixes the probing of the
   bcm2835-i2s driver by providing an appropriate register range and a
   missing clock. Stefan also makes sure that the appropriate pull
   settings are applied to the pins used on the Raspberry Pi Zero
   Wireless, he then adds the necessary UART node to connected to the
   BCM43438 Bluetooth adapter on the Pi Zero W. He finally enables USB
   OTG mode on the Pi Zero W since he became usable again
 
 - Baruch adds the necessary Device Tree nodes to support the Raspberry
   Pi GPIO expander which is controlled via the VC4 firmware
 
 - Hiroshi adds the missing LEDs on the Buffalo WZR-900DHP router
 
 - Eric adds the DPI hardware block into the BCM283x Device Tree include
   file for future use when an actual panel is available
 
 - Florian updates the Northstar Plus platforms to use port 8 of the
   internal switch as the CPU/management port since necessary code was
   added in the b53 switch driver to support that
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJaqCvCAAoJEIfQlpxEBwcE7MIP/iMbvwen6G+JAk2yeeuOgZVi
 +B2GLuOEcyi+MEQQgghpggjMehTPGTklXCNhNIziGYvpreGyzvGAmq/up+hFFVJ7
 TNU0nslf8hBURdexx23/rkJBJFx8jv/R8au1PUZhEHLONQs38UBOe1umWbKDvpxn
 qp+KvBF3EUdqVfnBcdagImr0MfVKlLpGjTuyfPfHhfs1R8egzY/fY/PUMBw4GFHB
 alMrENKR3mFYl+cTk7Ox4yP9WYY4eZnrwuu43J0JHk6+r1De387MyWy+irNHKfKz
 alux92DUDXMYxG57cEREfd9YzI0BOiU3orMBIkRACDpnI7bYWebviDKPda20dDli
 4VgILTj1Vbi2/Qn+0PAWpqBZCVugnFNX44hfSZ1oVHjPlUVoDLojxcAG5AskmNVV
 InMtROagSwgujK7PZD7knc4O73ihdoaLqp1dN0KLn+xx8x17wiVQUAWq2l5XpGD4
 o+rarZRjAmIVe+xzvZfgmMRTaJRwmRNHgcWDWMKSACV63xmRxa9F9BM+Dep4zMq5
 BON6Hvu9SMfgycgHWpU3GGKfAljRm8aRWzKRspIi+whqUuIhxCZcSyMlonrocv5b
 O1AGm5f8Exdm9/4TTSzF7leVne0CXhIyfwEmtp42+y403OGONIaRqspe1on6nr7P
 Yvdn0jO5CauPr7iM6Z10
 =SKgx
 -----END PGP SIGNATURE-----

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

Pull "Broadcom devicetree changes for 4.17" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoCs devicetree changes
for 4.17, please pull the following:

- Henry fixes the pin functions for the JTAG pins, nothing uses this for
  now, but it could be backported eventually if deemed appropriate

- Stefan fixes the register ranges for the bcm2835-i2s nodes in the
  binding document definition, he then fixes the probing of the
  bcm2835-i2s driver by providing an appropriate register range and a
  missing clock. Stefan also makes sure that the appropriate pull
  settings are applied to the pins used on the Raspberry Pi Zero
  Wireless, he then adds the necessary UART node to connected to the
  BCM43438 Bluetooth adapter on the Pi Zero W. He finally enables USB
  OTG mode on the Pi Zero W since he became usable again

- Baruch adds the necessary Device Tree nodes to support the Raspberry
  Pi GPIO expander which is controlled via the VC4 firmware

- Hiroshi adds the missing LEDs on the Buffalo WZR-900DHP router

- Eric adds the DPI hardware block into the BCM283x Device Tree include
  file for future use when an actual panel is available

- Florian updates the Northstar Plus platforms to use port 8 of the
  internal switch as the CPU/management port since necessary code was
  added in the b53 switch driver to support that

* tag 'arm-soc/for-4.17/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: NSP: Switch to port 8 for CPU port
  ARM: bcm2835: Add the DPI hardware to the device tree.
  ARM: dts: BCM5301X: add missing LEDs for Buffalo WZR-900DHP
  ARM: dts: bcm2835-rpi-zero-w: Enable OTG mode
  ARM: dts: bcm2835-rpi-zero-w: Add bcm43438 serial slave
  ARM: dts: bcm283x: Apply pull settings to Zero W relevant groups
  ARM: dts: bcm2837-rpi-3-b: add GPIO expander
  ARM: dts: bcm2835: make the firmware node into a bus
  ARM: dts: bcm283x: Fix probing of bcm2835-i2s
  dt-bindings: bcm283x: Fix register ranges of bcm2835-i2s
  ARM: dts: bcm283x: Fix pin function of JTAG pins
This commit is contained in:
Arnd Bergmann 2018-03-13 22:38:04 +01:00
commit 206c12fc48
12 changed files with 140 additions and 28 deletions

View File

@ -74,8 +74,8 @@ Example:
bcm2835_i2s: i2s@7e203000 {
compatible = "brcm,bcm2835-i2s";
reg = < 0x7e203000 0x20>,
< 0x7e101098 0x02>;
reg = < 0x7e203000 0x24>;
clocks = <&clocks BCM2835_CLOCK_PCM>;
dmas = <&dma 2>,
<&dma 3>;

View File

@ -2,9 +2,8 @@
Required properties:
- compatible: "brcm,bcm2835-i2s"
- reg: A list of base address and size entries:
* The first entry should cover the PCM registers
* The second entry should cover the PCM clock registers
- reg: Should contain PCM registers location and length.
- clocks: the (PCM) clock to use
- dmas: List of DMA controller phandle and DMA request line ordered pairs.
- dma-names: Identifier string for each DMA request line in the dmas property.
These strings correspond 1:1 with the ordered pairs in dmas.
@ -16,8 +15,8 @@ Example:
bcm2835_i2s: i2s@7e203000 {
compatible = "brcm,bcm2835-i2s";
reg = <0x7e203000 0x20>,
<0x7e101098 0x02>;
reg = <0x7e203000 0x24>;
clocks = <&clocks BCM2835_CLOCK_PCM>;
dmas = <&dma 2>,
<&dma 3>;

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-w", "brcm,bcm2835";
@ -131,6 +131,18 @@
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <2000000>;
shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
};
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};

View File

@ -18,7 +18,9 @@
soc {
firmware: firmware {
compatible = "raspberrypi,bcm2835-firmware";
compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
#address-cells = <0>;
#size-cells = <0>;
mboxes = <&mailbox>;
};

View File

@ -25,6 +25,23 @@
};
};
&firmware {
expgpio: gpio {
compatible = "raspberrypi,firmware-gpio";
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "BT_ON",
"WL_ON",
"STATUS_LED",
"LAN_RUN",
"HPD_N",
"CAM_GPIO0",
"CAM_GPIO1",
"PWR_LOW_N";
status = "okay";
};
};
/* uart0 communicates with the BT module */
&uart0 {
pinctrl-names = "default";

View File

@ -223,6 +223,7 @@
gpclk2_gpio43: gpclk2_gpio43 {
brcm,pins = <43>;
brcm,function = <BCM2835_FSEL_ALT0>;
brcm,pull = <BCM2835_PUD_OFF>;
};
i2c0_gpio0: i2c0_gpio0 {
@ -252,7 +253,7 @@
jtag_gpio4: jtag_gpio4 {
brcm,pins = <4 5 6 12 13>;
brcm,function = <BCM2835_FSEL_ALT4>;
brcm,function = <BCM2835_FSEL_ALT5>;
};
jtag_gpio22: jtag_gpio22 {
brcm,pins = <22 23 24 25 26 27>;
@ -335,10 +336,12 @@
uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 {
brcm,pins = <30 31>;
brcm,function = <BCM2835_FSEL_ALT3>;
brcm,pull = <BCM2835_PUD_UP BCM2835_PUD_OFF>;
};
uart0_gpio32: uart0_gpio32 {
brcm,pins = <32 33>;
brcm,function = <BCM2835_FSEL_ALT3>;
brcm,pull = <BCM2835_PUD_OFF BCM2835_PUD_UP>;
};
uart0_gpio36: uart0_gpio36 {
brcm,pins = <36 37>;
@ -397,8 +400,8 @@
i2s: i2s@7e203000 {
compatible = "brcm,bcm2835-i2s";
reg = <0x7e203000 0x20>,
<0x7e101098 0x02>;
reg = <0x7e203000 0x24>;
clocks = <&clocks BCM2835_CLOCK_PCM>;
dmas = <&dma 2>,
<&dma 3>;
@ -438,6 +441,17 @@
interrupts = <2 14>; /* pwa1 */
};
dpi: dpi@7e208000 {
compatible = "brcm,bcm2835-dpi";
reg = <0x7e208000 0x8c>;
clocks = <&clocks BCM2835_CLOCK_VPU>,
<&clocks BCM2835_CLOCK_DPI>;
clock-names = "core", "pixel";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
dsi0: dsi@7e209000 {
compatible = "brcm,bcm2835-dsi0";
reg = <0x7e209000 0x78>;

View File

@ -35,6 +35,74 @@
0x88000000 0x08000000>;
};
spi {
compatible = "spi-gpio";
num-chipselects = <1>;
gpio-sck = <&chipcommon 7 0>;
gpio-mosi = <&chipcommon 4 0>;
cs-gpios = <&chipcommon 6 0>;
#address-cells = <1>;
#size-cells = <0>;
hc595: gpio_spi@0 {
compatible = "fairchild,74hc595";
reg = <0>;
registers-number = <1>;
spi-max-frequency = <100000>;
gpio-controller;
#gpio-cells = <2>;
};
};
leds {
compatible = "gpio-leds";
usb {
label = "bcm53xx:green:usb";
gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
};
power0 {
label = "bcm53xx:green:power";
gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
power1 {
label = "bcm53xx:red:power";
gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
};
router0 {
label = "bcm53xx:green:router";
gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
router1 {
label = "bcm53xx:amber:router";
gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
};
wan {
label = "bcm53xx:green:wan";
gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
wireless0 {
label = "bcm53xx:green:wireless";
gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
};
wireless1 {
label = "bcm53xx:amber:wireless";
gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
};
};
gpio-keys {
compatible = "gpio-keys";
#address-cells = <1>;

View File

@ -204,10 +204,10 @@
reg = <4>;
};
port@5 {
ethernet = <&amac0>;
port@8 {
ethernet = <&amac2>;
label = "cpu";
reg = <5>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;

View File

@ -208,10 +208,10 @@
reg = <4>;
};
port@5 {
ethernet = <&amac0>;
port@8 {
ethernet = <&amac2>;
label = "cpu";
reg = <5>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;

View File

@ -210,10 +210,10 @@
reg = <4>;
};
port@5 {
ethernet = <&amac0>;
port@8 {
ethernet = <&amac2>;
label = "cpu";
reg = <5>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;

View File

@ -245,10 +245,10 @@
reg = <4>;
};
port@5 {
ethernet = <&amac0>;
port@8 {
ethernet = <&amac2>;
label = "cpu";
reg = <5>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;

View File

@ -216,10 +216,10 @@
reg = <4>;
};
port@5 {
ethernet = <&amac0>;
port@8 {
ethernet = <&amac2>;
label = "cpu";
reg = <5>;
reg = <8>;
fixed-link {
speed = <1000>;
full-duplex;