diff options
author | Arnd Bergmann <arnd@arndb.de> | 2020-03-25 21:41:31 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2020-03-25 21:41:32 +0100 |
commit | b0f9a3111d0ec5be2a98120c51326006c20b43c2 (patch) | |
tree | e29ea38a629d470dd796c4aceb5a84137ebea14b /arch/arm | |
parent | 2cedfe1247c087a82ea3d12af8546f6de60c1f36 (diff) | |
parent | 14e1eb5a91a96d9e1ce8051f752b7b6645bc8e10 (diff) | |
download | linux-b0f9a3111d0ec5be2a98120c51326006c20b43c2.tar.bz2 |
Merge tag 'arm-soc/for-5.7/devicetree' of https://github.com/Broadcom/stblinux into arm/dt
This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 5.7, please pull the following:
- Stefan adds GPIO labels to the Raspberry Pi 4 Model B board DTS
- Nicolas moves the eMMC2 controller into its separate node in order for
platform firmware to perform the necessary "dma-ranges" property
patching based on the chip revision since the eMMC controller has
different addressing constraints.
- Florian convers a whole bunch of Broadcom boards bindings from text to
YAML.
* tag 'arm-soc/for-5.7/devicetree' of https://github.com/Broadcom/stblinux:
dt-bindings: arm: Document Broadcom SoCs 'secondary-boot-reg'
dt-bindings: arm: bcm: Convert Vulcan to YAML
dt-bindings: arm: bcm: Convert BCM11351 to YAML
dt-bindings: arm: bcm: Convert BCM4708 to YAML
dt-bindings: arm: bcm: Convert BCM23550 to YAML
dt-bindings: arm: bcm: Convert BCM21664 to YAML
dt-bindings: arm: bcm: Convert Stingray to YAML
dt-bindings: arm: bcm: Convert Northstar 2 to YAML
dt-bindings: arm: bcm: Convert Northstar Plus to YAML
dt-bindings: arm: bcm: Convert Hurricane 2 to YAML
dt-bindings: arm: bcm: Convert Cygnus to YAML
ARM: dts: bcm2711: Move emmc2 into its own bus
ARM: dts: bcm2711-rpi-4-b: Add SoC GPIO labels
Link: https://lore.kernel.org/r/20200311212012.9418-2-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 74 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm2711.dtsi | 25 |
2 files changed, 94 insertions, 5 deletions
diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts index 1b5a835f66bd..e738de379b8d 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -20,6 +20,7 @@ }; aliases { + emmc2bus = &emmc2bus; ethernet0 = &genet; }; @@ -71,6 +72,79 @@ }; }; +&gpio { + /* + * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and + * the official GPU firmware DT blob. + * + * Legend: + * "FOO" = GPIO line named "FOO" on the schematic + * "FOO_N" = GPIO line named "FOO" on schematic, active low + */ + gpio-line-names = "ID_SDA", + "ID_SCL", + "SDA1", + "SCL1", + "GPIO_GCLK", + "GPIO5", + "GPIO6", + "SPI_CE1_N", + "SPI_CE0_N", + "SPI_MISO", + "SPI_MOSI", + "SPI_SCLK", + "GPIO12", + "GPIO13", + /* Serial port */ + "TXD1", + "RXD1", + "GPIO16", + "GPIO17", + "GPIO18", + "GPIO19", + "GPIO20", + "GPIO21", + "GPIO22", + "GPIO23", + "GPIO24", + "GPIO25", + "GPIO26", + "GPIO27", + "RGMII_MDIO", + "RGMIO_MDC", + /* Used by BT module */ + "CTS0", + "RTS0", + "TXD0", + "RXD0", + /* Used by Wifi */ + "SD1_CLK", + "SD1_CMD", + "SD1_DATA0", + "SD1_DATA1", + "SD1_DATA2", + "SD1_DATA3", + /* Shared with SPI flash */ + "PWM0_MISO", + "PWM1_MOSI", + "STATUS_LED_G_CLK", + "SPIFLASH_CE_N", + "SDA0", + "SCL0", + "RGMII_RXCLK", + "RGMII_RXCTL", + "RGMII_RXD0", + "RGMII_RXD1", + "RGMII_RXD2", + "RGMII_RXD3", + "RGMII_TXCLK", + "RGMII_TXCTL", + "RGMII_TXD0", + "RGMII_TXD1", + "RGMII_TXD2", + "RGMII_TXD3"; +}; + &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>; diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index d1e684d0acfd..a91cf68e3c4c 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -241,17 +241,32 @@ status = "disabled"; }; + hvs@7e400000 { + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; + }; + }; + + /* + * emmc2 has different DMA constraints based on SoC revisions. It was + * moved into its own bus, so as for RPi4's firmware to update them. + * The firmware will find whether the emmc2bus alias is defined, and if + * so, it'll edit the dma-ranges property below accordingly. + */ + emmc2bus: emmc2bus { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <1>; + + ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>; + dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>; + emmc2: emmc2@7e340000 { compatible = "brcm,bcm2711-emmc2"; - reg = <0x7e340000 0x100>; + reg = <0x0 0x7e340000 0x100>; interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clocks BCM2711_CLOCK_EMMC2>; status = "disabled"; }; - - hvs@7e400000 { - interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; - }; }; arm-pmu { |