Commit 528587ea authored by Arnd Bergmann's avatar Arnd Bergmann

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

This pull request contains Broadcom ARM64-based SoCs Device Tree changes
for 5.12 please pull the following:

- Rafal continues to add support for the 4906/4908 SoC family and adds
  a Device Tree for the Netgear R8000P router (4906-based), describes
  the NAND controller of the 4908 more appropriately (based on the older
  63138 DSL SoC), describes the 4908 PCIe reset controller, internal
  Ethernet switch (Starfighter 2 switch) and finally the Power
  Management Bus (PMB)

- Scott removes all of the SATA-related Device Tree nodes since SATA
  is unused on the Stingray product line

* tag 'arm-soc/for-5.12/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: Remove SATA from Stingray
  arm64: dts: broadcom: bcm4908: describe PMB block
  arm64: dts: broadcom: bcm4908: describe internal switch
  arm64: dts: broadcom: bcm4908: describe PCIe reset controller
  arm64: dts: broadcom: bcm4908: use proper NAND binding
  arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P DTS files
  dt-bindings: arm: bcm: document Netgear R8000P binding

Link: https://lore.kernel.org/r/20210131221721.685974-4-f.fainelli@gmail.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents af6e05f1 fe119977
......@@ -19,6 +19,8 @@ properties:
oneOf:
- description: BCM4906 based boards
items:
- enum:
- netgear,r8000p
- const: brcm,bcm4906
- const: brcm,bcm4908
......
# SPDX-License-Identifier: GPL-2.0
dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb
dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include "bcm4906.dtsi"
/ {
compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908";
model = "Netgear R8000P";
memory@0 {
device_type = "memory";
reg = <0x00 0x00 0x00 0x20000000>;
};
leds {
compatible = "gpio-leds";
wps {
function = LED_FUNCTION_WPS;
color = <LED_COLOR_ID_WHITE>;
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
};
};
&nandcs {
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
nand-on-flash-bbt;
#address-cells = <1>;
#size-cells = <0>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "cferom";
reg = <0x0 0x100000>;
};
partition@100000 {
label = "firmware";
reg = <0x100000 0x4400000>;
};
};
};
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "bcm4908.dtsi"
/ {
cpus {
/delete-node/ cpu@2;
/delete-node/ cpu@3;
};
pmu {
compatible = "arm,cortex-a53-pmu";
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
interrupt-affinity = <&cpu0>, <&cpu1>;
};
};
......@@ -44,6 +44,57 @@ brightness {
};
};
&ports {
port@0 {
label = "lan2";
};
port@1 {
label = "lan1";
};
port@2 {
label = "lan6";
};
port@3 {
label = "lan5";
};
/* External BCM53134S switch */
port@7 {
label = "sw";
reg = <7>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
&mdio {
/* lan8 */
ethernet-phy@0 {
reg = <0>;
};
/* lan7 */
ethernet-phy@1 {
reg = <1>;
};
/* lan4 */
ethernet-phy@2 {
reg = <2>;
};
/* lan3 */
ethernet-phy@3 {
reg = <3>;
};
};
&nandcs {
nand-ecc-strength = <4>;
nand-ecc-step-size = <512>;
......
......@@ -108,7 +108,7 @@ soc {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00 0x00 0x80000000 0x10000>;
ranges = <0x00 0x00 0x80000000 0x281000>;
usb@c300 {
compatible = "generic-ehci";
......@@ -130,6 +130,104 @@ usb@d000 {
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
ethernet-switch@80000 {
compatible = "simple-bus";
#size-cells = <1>;
#address-cells = <1>;
ranges = <0 0x80000 0x50000>;
ethernet-switch@0 {
compatible = "brcm,bcm4908-switch";
reg = <0x0 0x40000>,
<0x40000 0x110>,
<0x40340 0x30>,
<0x40380 0x30>,
<0x40600 0x34>,
<0x40800 0x208>;
reg-names = "core", "reg", "intrl2_0",
"intrl2_1", "fcb", "acb";
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
brcm,num-gphy = <5>;
brcm,num-rgmii-ports = <2>;
#address-cells = <1>;
#size-cells = <0>;
ports: ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phy-mode = "internal";
phy-handle = <&phy8>;
};
port@1 {
reg = <1>;
phy-mode = "internal";
phy-handle = <&phy9>;
};
port@2 {
reg = <2>;
phy-mode = "internal";
phy-handle = <&phy10>;
};
port@3 {
reg = <3>;
phy-mode = "internal";
phy-handle = <&phy11>;
};
};
};
mdio: mdio@405c0 {
compatible = "brcm,unimac-mdio";
reg = <0x405c0 0x8>;
reg-names = "mdio";
#size-cells = <0>;
#address-cells = <1>;
phy8: ethernet-phy@8 {
reg = <8>;
};
phy9: ethernet-phy@9 {
reg = <9>;
};
phy10: ethernet-phy@a {
reg = <10>;
};
phy11: ethernet-phy@b {
reg = <11>;
};
phy12: ethernet-phy@c {
reg = <12>;
};
};
};
procmon: syscon@280000 {
compatible = "simple-bus";
reg = <0x280000 0x1000>;
ranges;
#address-cells = <1>;
#size-cells = <1>;
power-controller@2800c0 {
compatible = "brcm,bcm4908-pmb";
reg = <0x2800c0 0x40>;
#power-domain-cells = <1>;
};
};
};
bus@ff800000 {
......@@ -164,7 +262,7 @@ uart0: serial@640 {
nand@1800 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "brcm,brcmnand-v7.1", "brcm,brcmnand";
compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
reg = <0x1800 0x600>, <0x2000 0x10>;
reg-names = "nand", "nand-int-base";
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
......@@ -177,6 +275,21 @@ nandcs: nandcs@0 {
};
};
misc@2600 {
compatible = "brcm,misc", "simple-mfd";
reg = <0x2600 0xe4>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00 0x2600 0xe4>;
reset-controller@2644 {
compatible = "brcm,bcm4908-misc-pcie-reset";
reg = <0x44 0x04>;
#reset-cells = <1>;
};
};
reboot {
compatible = "syscon-reboot";
regmap = <&timer>;
......
......@@ -56,70 +56,6 @@ sdio1_vddo_ctrl_reg: sdio1_vddo_ctrl {
};
};
&sata0 {
status = "okay";
};
&sata_phy0{
status = "okay";
};
&sata1 {
status = "okay";
};
&sata_phy1{
status = "okay";
};
&sata2 {
status = "okay";
};
&sata_phy2{
status = "okay";
};
&sata3 {
status = "okay";
};
&sata_phy3{
status = "okay";
};
&sata4 {
status = "okay";
};
&sata_phy4{
status = "okay";
};
&sata5 {
status = "okay";
};
&sata_phy5{
status = "okay";
};
&sata6 {
status = "okay";
};
&sata_phy6{
status = "okay";
};
&sata7 {
status = "okay";
};
&sata_phy7{
status = "okay";
};
&pwm {
status = "okay";
};
......
/*
* BSD LICENSE
*
* Copyright(c) 2016-2017 Broadcom. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Broadcom nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
sata {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x0 0x67d00000 0x00800000>;
sata0: ahci@0 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00000000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata0_port0: sata-port@0 {
reg = <0>;
phys = <&sata0_phy0>;
phy-names = "sata-phy";
};
};
sata_phy0: sata_phy@2100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00002100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata0_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata1: ahci@10000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00010000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata1_port0: sata-port@0 {
reg = <0>;
phys = <&sata1_phy0>;
phy-names = "sata-phy";
};
};
sata_phy1: sata_phy@12100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00012100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata1_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata2: ahci@20000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00020000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata2_port0: sata-port@0 {
reg = <0>;
phys = <&sata2_phy0>;
phy-names = "sata-phy";
};
};
sata_phy2: sata_phy@22100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00022100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata2_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata3: ahci@30000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00030000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata3_port0: sata-port@0 {
reg = <0>;
phys = <&sata3_phy0>;
phy-names = "sata-phy";
};
};
sata_phy3: sata_phy@32100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00032100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata3_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata4: ahci@100000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00100000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata4_port0: sata-port@0 {
reg = <0>;
phys = <&sata4_phy0>;
phy-names = "sata-phy";
};
};
sata_phy4: sata_phy@102100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00102100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata4_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata5: ahci@110000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00110000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata5_port0: sata-port@0 {
reg = <0>;
phys = <&sata5_phy0>;
phy-names = "sata-phy";
};
};
sata_phy5: sata_phy@112100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00112100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata5_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata6: ahci@120000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00120000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata6_port0: sata-port@0 {
reg = <0>;
phys = <&sata6_phy0>;
phy-names = "sata-phy";
};
};
sata_phy6: sata_phy@122100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00122100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata6_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
sata7: ahci@130000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x00130000 0x1000>;
reg-names = "ahci";
interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata7_port0: sata-port@0 {
reg = <0>;
phys = <&sata7_phy0>;
phy-names = "sata-phy";
};
};
sata_phy7: sata_phy@132100 {
compatible = "brcm,iproc-sr-sata-phy";
reg = <0x00132100 0x1000>;
reg-names = "phy";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
sata7_phy0: sata-phy@0 {
reg = <0>;
#phy-cells = <0>;
};
};
};
......@@ -285,7 +285,6 @@ gpio_crmu: gpio@24800 {
};
#include "stingray-fs4.dtsi"
#include "stingray-sata.dtsi"
#include "stingray-pcie.dtsi"
#include "stingray-usb.dtsi"
......@@ -309,12 +308,6 @@ mdio@0 { /* PCIe serdes */
#size-cells = <0>;
};
mdio@2 { /* SATA */
reg = <0x2>;
#address-cells = <1>;
#size-cells = <0>;
};
mdio@3 { /* USB */
reg = <0x3>;
#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