Commit 20dcfe69 authored by Arnd Bergmann's avatar Arnd Bergmann

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

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

- Stefan does a bunch of preparatory work for supporting the Raspberry
  Pi 4in the next merge window correct register ranges (SPI, I2C,
  UART), define memory, HDMI and MMC properties at the board level

* tag 'arm-soc/for-5.4/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm283x: Enable HDMI at board level
  ARM: dts: bcm283x: Define memory at board level
  ARM: dts: bcm283x: Define MMC interfaces at board level
  ARM: bcm283x: Reduce register ranges for UART, SPI and I2C
parents 3563b783 f1bace1e
...@@ -8,6 +8,11 @@ / { ...@@ -8,6 +8,11 @@ / {
compatible = "raspberrypi,model-a-plus", "brcm,bcm2835"; compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
model = "Raspberry Pi Model A+"; model = "Raspberry Pi Model A+";
memory@0 {
device_type = "memory";
reg = <0 0x10000000>;
};
leds { leds {
act { act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
...@@ -99,6 +104,8 @@ i2s_alt0: i2s_alt0 { ...@@ -99,6 +104,8 @@ i2s_alt0: i2s_alt0 {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
...@@ -107,6 +114,13 @@ &pwm { ...@@ -107,6 +114,13 @@ &pwm {
status = "okay"; status = "okay";
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
......
...@@ -8,6 +8,11 @@ / { ...@@ -8,6 +8,11 @@ / {
compatible = "raspberrypi,model-a", "brcm,bcm2835"; compatible = "raspberrypi,model-a", "brcm,bcm2835";
model = "Raspberry Pi Model A"; model = "Raspberry Pi Model A";
memory@0 {
device_type = "memory";
reg = <0 0x10000000>;
};
leds { leds {
act { act {
gpios = <&gpio 16 GPIO_ACTIVE_LOW>; gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
...@@ -94,6 +99,8 @@ i2s_alt2: i2s_alt2 { ...@@ -94,6 +99,8 @@ i2s_alt2: i2s_alt2 {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
...@@ -102,6 +109,13 @@ &pwm { ...@@ -102,6 +109,13 @@ &pwm {
status = "okay"; status = "okay";
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
......
...@@ -9,6 +9,11 @@ / { ...@@ -9,6 +9,11 @@ / {
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
model = "Raspberry Pi Model B+"; model = "Raspberry Pi Model B+";
memory@0 {
device_type = "memory";
reg = <0 0x20000000>;
};
leds { leds {
act { act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
...@@ -101,6 +106,8 @@ i2s_alt0: i2s_alt0 { ...@@ -101,6 +106,8 @@ i2s_alt0: i2s_alt0 {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
...@@ -109,6 +116,13 @@ &pwm { ...@@ -109,6 +116,13 @@ &pwm {
status = "okay"; status = "okay";
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
......
...@@ -9,6 +9,11 @@ / { ...@@ -9,6 +9,11 @@ / {
compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835"; compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
model = "Raspberry Pi Model B rev2"; model = "Raspberry Pi Model B rev2";
memory@0 {
device_type = "memory";
reg = <0 0x10000000>;
};
leds { leds {
act { act {
gpios = <&gpio 16 GPIO_ACTIVE_LOW>; gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
...@@ -94,6 +99,8 @@ i2s_alt2: i2s_alt2 { ...@@ -94,6 +99,8 @@ i2s_alt2: i2s_alt2 {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
...@@ -102,6 +109,13 @@ &pwm { ...@@ -102,6 +109,13 @@ &pwm {
status = "okay"; status = "okay";
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
......
...@@ -9,6 +9,11 @@ / { ...@@ -9,6 +9,11 @@ / {
compatible = "raspberrypi,model-b", "brcm,bcm2835"; compatible = "raspberrypi,model-b", "brcm,bcm2835";
model = "Raspberry Pi Model B"; model = "Raspberry Pi Model B";
memory@0 {
device_type = "memory";
reg = <0 0x10000000>;
};
leds { leds {
act { act {
gpios = <&gpio 16 GPIO_ACTIVE_LOW>; gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
...@@ -89,6 +94,8 @@ &gpio { ...@@ -89,6 +94,8 @@ &gpio {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
...@@ -97,6 +104,13 @@ &pwm { ...@@ -97,6 +104,13 @@ &pwm {
status = "okay"; status = "okay";
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
......
...@@ -79,6 +79,15 @@ &gpio { ...@@ -79,6 +79,15 @@ &gpio {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
}; };
&uart0 { &uart0 {
......
...@@ -10,6 +10,11 @@ act { ...@@ -10,6 +10,11 @@ act {
}; };
}; };
memory@0 {
device_type = "memory";
reg = <0 0x20000000>;
};
reg_3v3: fixed-regulator { reg_3v3: fixed-regulator {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "3V3"; regulator-name = "3V3";
......
...@@ -12,6 +12,11 @@ / { ...@@ -12,6 +12,11 @@ / {
compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
model = "Raspberry Pi Zero W"; model = "Raspberry Pi Zero W";
memory@0 {
device_type = "memory";
reg = <0 0x20000000>;
};
chosen { chosen {
/* 8250 auxiliary UART instead of pl011 */ /* 8250 auxiliary UART instead of pl011 */
stdout-path = "serial1:115200n8"; stdout-path = "serial1:115200n8";
...@@ -100,6 +105,8 @@ &gpio { ...@@ -100,6 +105,8 @@ &gpio {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&sdhci { &sdhci {
...@@ -116,6 +123,13 @@ brcmf: wifi@1 { ...@@ -116,6 +123,13 @@ brcmf: wifi@1 {
}; };
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>; pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
......
...@@ -12,6 +12,11 @@ / { ...@@ -12,6 +12,11 @@ / {
compatible = "raspberrypi,model-zero", "brcm,bcm2835"; compatible = "raspberrypi,model-zero", "brcm,bcm2835";
model = "Raspberry Pi Zero"; model = "Raspberry Pi Zero";
memory@0 {
device_type = "memory";
reg = <0 0x20000000>;
};
leds { leds {
act { act {
gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
...@@ -96,6 +101,15 @@ i2s_alt0: i2s_alt0 { ...@@ -96,6 +101,15 @@ i2s_alt0: i2s_alt0 {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
}; };
&uart0 { &uart0 {
......
#include <dt-bindings/power/raspberrypi-power.h> #include <dt-bindings/power/raspberrypi-power.h>
/ { / {
memory@0 {
device_type = "memory";
reg = <0 0x10000000>;
};
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
...@@ -68,28 +63,10 @@ &i2c2 { ...@@ -68,28 +63,10 @@ &i2c2 {
status = "okay"; status = "okay";
}; };
&sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio48>;
bus-width = <4>;
};
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
status = "okay";
bus-width = <4>;
};
&usb { &usb {
power-domains = <&power RPI_POWER_DOMAIN_USB>; power-domains = <&power RPI_POWER_DOMAIN_USB>;
}; };
&hdmi {
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};
&vec { &vec {
power-domains = <&power RPI_POWER_DOMAIN_VEC>; power-domains = <&power RPI_POWER_DOMAIN_VEC>;
status = "okay"; status = "okay";
......
...@@ -10,6 +10,7 @@ / { ...@@ -10,6 +10,7 @@ / {
model = "Raspberry Pi 2 Model B"; model = "Raspberry Pi 2 Model B";
memory@0 { memory@0 {
device_type = "memory";
reg = <0 0x40000000>; reg = <0 0x40000000>;
}; };
...@@ -105,6 +106,8 @@ i2s_alt0: i2s_alt0 { ...@@ -105,6 +106,8 @@ i2s_alt0: i2s_alt0 {
&hdmi { &hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
...@@ -113,6 +116,13 @@ &pwm { ...@@ -113,6 +116,13 @@ &pwm {
status = "okay"; status = "okay";
}; };
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>; pinctrl-0 = <&uart0_gpio14>;
......
...@@ -14,6 +14,7 @@ chosen { ...@@ -14,6 +14,7 @@ chosen {
}; };
memory@0 { memory@0 {
device_type = "memory";
reg = <0 0x20000000>; reg = <0 0x20000000>;
}; };
...@@ -117,6 +118,8 @@ &gpio { ...@@ -117,6 +118,8 @@ &gpio {
&hdmi { &hdmi {
hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
......
...@@ -15,6 +15,7 @@ chosen { ...@@ -15,6 +15,7 @@ chosen {
}; };
memory@0 { memory@0 {
device_type = "memory";
reg = <0 0x40000000>; reg = <0 0x40000000>;
}; };
...@@ -124,6 +125,8 @@ &gpio { ...@@ -124,6 +125,8 @@ &gpio {
&hdmi { &hdmi {
hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>; hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
&pwm { &pwm {
......
...@@ -15,6 +15,7 @@ chosen { ...@@ -15,6 +15,7 @@ chosen {
}; };
memory@0 { memory@0 {
device_type = "memory";
reg = <0 0x40000000>; reg = <0 0x40000000>;
}; };
...@@ -125,6 +126,8 @@ &pwm { ...@@ -125,6 +126,8 @@ &pwm {
&hdmi { &hdmi {
hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>; hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
}; };
/* uart0 communicates with the BT module */ /* uart0 communicates with the BT module */
......
...@@ -78,6 +78,15 @@ &gpio { ...@@ -78,6 +78,15 @@ &gpio {
&hdmi { &hdmi {
hpd-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; hpd-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};
&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
}; };
&uart0 { &uart0 {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
/ { / {
memory@0 { memory@0 {
device_type = "memory";
reg = <0 0x40000000>; reg = <0 0x40000000>;
}; };
......
...@@ -397,7 +397,7 @@ uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 { ...@@ -397,7 +397,7 @@ uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
uart0: serial@7e201000 { uart0: serial@7e201000 {
compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
reg = <0x7e201000 0x1000>; reg = <0x7e201000 0x200>;
interrupts = <2 25>; interrupts = <2 25>;
clocks = <&clocks BCM2835_CLOCK_UART>, clocks = <&clocks BCM2835_CLOCK_UART>,
<&clocks BCM2835_CLOCK_VPU>; <&clocks BCM2835_CLOCK_VPU>;
...@@ -428,7 +428,7 @@ i2s: i2s@7e203000 { ...@@ -428,7 +428,7 @@ i2s: i2s@7e203000 {
spi: spi@7e204000 { spi: spi@7e204000 {
compatible = "brcm,bcm2835-spi"; compatible = "brcm,bcm2835-spi";
reg = <0x7e204000 0x1000>; reg = <0x7e204000 0x200>;
interrupts = <2 22>; interrupts = <2 22>;
clocks = <&clocks BCM2835_CLOCK_VPU>; clocks = <&clocks BCM2835_CLOCK_VPU>;
dmas = <&dma 6>, <&dma 7>; dmas = <&dma 6>, <&dma 7>;
...@@ -440,7 +440,7 @@ spi: spi@7e204000 { ...@@ -440,7 +440,7 @@ spi: spi@7e204000 {
i2c0: i2c@7e205000 { i2c0: i2c@7e205000 {
compatible = "brcm,bcm2835-i2c"; compatible = "brcm,bcm2835-i2c";
reg = <0x7e205000 0x1000>; reg = <0x7e205000 0x200>;
interrupts = <2 21>; interrupts = <2 21>;
clocks = <&clocks BCM2835_CLOCK_VPU>; clocks = <&clocks BCM2835_CLOCK_VPU>;
#address-cells = <1>; #address-cells = <1>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment