1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 21e4388a1SÁlvaro Fernández Rojas 31e4388a1SÁlvaro Fernández Rojas#include "dt-bindings/clock/bcm6328-clock.h" 41e4388a1SÁlvaro Fernández Rojas#include "dt-bindings/reset/bcm6328-reset.h" 51e4388a1SÁlvaro Fernández Rojas#include "dt-bindings/soc/bcm6328-pm.h" 61e4388a1SÁlvaro Fernández Rojas 78945e37eSKevin Cernekee/ { 88945e37eSKevin Cernekee #address-cells = <1>; 98945e37eSKevin Cernekee #size-cells = <1>; 108945e37eSKevin Cernekee compatible = "brcm,bcm6328"; 118945e37eSKevin Cernekee 128945e37eSKevin Cernekee cpus { 138945e37eSKevin Cernekee #address-cells = <1>; 148945e37eSKevin Cernekee #size-cells = <0>; 158945e37eSKevin Cernekee 168945e37eSKevin Cernekee mips-hpt-frequency = <160000000>; 178945e37eSKevin Cernekee 188945e37eSKevin Cernekee cpu@0 { 198945e37eSKevin Cernekee compatible = "brcm,bmips4350"; 208945e37eSKevin Cernekee device_type = "cpu"; 218945e37eSKevin Cernekee reg = <0>; 228945e37eSKevin Cernekee }; 238945e37eSKevin Cernekee 248945e37eSKevin Cernekee cpu@1 { 258945e37eSKevin Cernekee compatible = "brcm,bmips4350"; 268945e37eSKevin Cernekee device_type = "cpu"; 278945e37eSKevin Cernekee reg = <1>; 288945e37eSKevin Cernekee }; 298945e37eSKevin Cernekee }; 308945e37eSKevin Cernekee 318945e37eSKevin Cernekee clocks { 32*7ea42936SÁlvaro Fernández Rojas periph_osc: periph-osc { 338945e37eSKevin Cernekee compatible = "fixed-clock"; 348945e37eSKevin Cernekee #clock-cells = <0>; 358945e37eSKevin Cernekee clock-frequency = <50000000>; 36*7ea42936SÁlvaro Fernández Rojas clock-output-names = "periph"; 37*7ea42936SÁlvaro Fernández Rojas }; 38*7ea42936SÁlvaro Fernández Rojas 39*7ea42936SÁlvaro Fernández Rojas hsspi_osc: hsspi-osc { 40*7ea42936SÁlvaro Fernández Rojas compatible = "fixed-clock"; 41*7ea42936SÁlvaro Fernández Rojas #clock-cells = <0>; 42*7ea42936SÁlvaro Fernández Rojas clock-frequency = <133333333>; 43*7ea42936SÁlvaro Fernández Rojas clock-output-names = "hsspi_osc"; 448945e37eSKevin Cernekee }; 458945e37eSKevin Cernekee }; 468945e37eSKevin Cernekee 478945e37eSKevin Cernekee aliases { 48*7ea42936SÁlvaro Fernández Rojas nflash = &nflash; 49e3b992d0SÁlvaro Fernández Rojas serial0 = &uart0; 50e3b992d0SÁlvaro Fernández Rojas serial1 = &uart1; 51*7ea42936SÁlvaro Fernández Rojas spi1 = &hsspi; 528945e37eSKevin Cernekee }; 538945e37eSKevin Cernekee 54e3b992d0SÁlvaro Fernández Rojas cpu_intc: interrupt-controller { 558945e37eSKevin Cernekee #address-cells = <0>; 568945e37eSKevin Cernekee compatible = "mti,cpu-interrupt-controller"; 578945e37eSKevin Cernekee 588945e37eSKevin Cernekee interrupt-controller; 598945e37eSKevin Cernekee #interrupt-cells = <1>; 608945e37eSKevin Cernekee }; 618945e37eSKevin Cernekee 628945e37eSKevin Cernekee ubus { 638945e37eSKevin Cernekee #address-cells = <1>; 648945e37eSKevin Cernekee #size-cells = <1>; 658945e37eSKevin Cernekee 668945e37eSKevin Cernekee compatible = "simple-bus"; 678945e37eSKevin Cernekee ranges; 688945e37eSKevin Cernekee 69*7ea42936SÁlvaro Fernández Rojas periph_clk: clock-controller@10000004 { 70a23c4134SJonas Gorski compatible = "brcm,bcm6328-clocks"; 71a23c4134SJonas Gorski reg = <0x10000004 0x4>; 72a23c4134SJonas Gorski #clock-cells = <1>; 73a23c4134SJonas Gorski }; 74a23c4134SJonas Gorski 7583f865d7SÁlvaro Fernández Rojas periph_rst: reset-controller@10000010 { 7683f865d7SÁlvaro Fernández Rojas compatible = "brcm,bcm6345-reset"; 7783f865d7SÁlvaro Fernández Rojas reg = <0x10000010 0x4>; 7883f865d7SÁlvaro Fernández Rojas #reset-cells = <1>; 7983f865d7SÁlvaro Fernández Rojas }; 8083f865d7SÁlvaro Fernández Rojas 81e3b992d0SÁlvaro Fernández Rojas periph_intc: interrupt-controller@10000020 { 82e3b992d0SÁlvaro Fernández Rojas compatible = "brcm,bcm6345-l1-intc"; 83e3b992d0SÁlvaro Fernández Rojas reg = <0x10000020 0x10>, 84e3b992d0SÁlvaro Fernández Rojas <0x10000030 0x10>; 858945e37eSKevin Cernekee 868945e37eSKevin Cernekee interrupt-controller; 878945e37eSKevin Cernekee #interrupt-cells = <1>; 888945e37eSKevin Cernekee 898945e37eSKevin Cernekee interrupt-parent = <&cpu_intc>; 90e3b992d0SÁlvaro Fernández Rojas interrupts = <2>, <3>; 918945e37eSKevin Cernekee }; 928945e37eSKevin Cernekee 93*7ea42936SÁlvaro Fernández Rojas wdt: watchdog@1000005c { 94*7ea42936SÁlvaro Fernández Rojas compatible = "brcm,bcm7038-wdt"; 95*7ea42936SÁlvaro Fernández Rojas reg = <0x1000005c 0xc>; 96*7ea42936SÁlvaro Fernández Rojas 97*7ea42936SÁlvaro Fernández Rojas clocks = <&periph_osc>; 98*7ea42936SÁlvaro Fernández Rojas clock-names = "refclk"; 99*7ea42936SÁlvaro Fernández Rojas 100*7ea42936SÁlvaro Fernández Rojas timeout-sec = <30>; 101*7ea42936SÁlvaro Fernández Rojas }; 102*7ea42936SÁlvaro Fernández Rojas 103*7ea42936SÁlvaro Fernández Rojas soft_reset: syscon@10000068 { 104*7ea42936SÁlvaro Fernández Rojas compatible = "syscon"; 105*7ea42936SÁlvaro Fernández Rojas reg = <0x10000068 0x4>; 106*7ea42936SÁlvaro Fernández Rojas native-endian; 107*7ea42936SÁlvaro Fernández Rojas 108*7ea42936SÁlvaro Fernández Rojas reboot { 109*7ea42936SÁlvaro Fernández Rojas compatible = "syscon-reboot"; 110*7ea42936SÁlvaro Fernández Rojas offset = <0x0>; 111*7ea42936SÁlvaro Fernández Rojas mask = <0x1>; 112*7ea42936SÁlvaro Fernández Rojas }; 113*7ea42936SÁlvaro Fernández Rojas }; 114*7ea42936SÁlvaro Fernández Rojas 1158945e37eSKevin Cernekee uart0: serial@10000100 { 1168945e37eSKevin Cernekee compatible = "brcm,bcm6345-uart"; 1178945e37eSKevin Cernekee reg = <0x10000100 0x18>; 118*7ea42936SÁlvaro Fernández Rojas 1198945e37eSKevin Cernekee interrupt-parent = <&periph_intc>; 1208945e37eSKevin Cernekee interrupts = <28>; 121*7ea42936SÁlvaro Fernández Rojas 122*7ea42936SÁlvaro Fernández Rojas clocks = <&periph_osc>; 123bed8d2a2SJonas Gorski clock-names = "refclk"; 124*7ea42936SÁlvaro Fernández Rojas 1258945e37eSKevin Cernekee status = "disabled"; 1268945e37eSKevin Cernekee }; 1278945e37eSKevin Cernekee 128e3b992d0SÁlvaro Fernández Rojas uart1: serial@10000120 { 129e3b992d0SÁlvaro Fernández Rojas compatible = "brcm,bcm6345-uart"; 130e3b992d0SÁlvaro Fernández Rojas reg = <0x10000120 0x18>; 131*7ea42936SÁlvaro Fernández Rojas 132e3b992d0SÁlvaro Fernández Rojas interrupt-parent = <&periph_intc>; 133e3b992d0SÁlvaro Fernández Rojas interrupts = <39>; 134*7ea42936SÁlvaro Fernández Rojas 135*7ea42936SÁlvaro Fernández Rojas clocks = <&periph_osc>; 136bed8d2a2SJonas Gorski clock-names = "refclk"; 137*7ea42936SÁlvaro Fernández Rojas 138e3b992d0SÁlvaro Fernández Rojas status = "disabled"; 139e3b992d0SÁlvaro Fernández Rojas }; 140e3b992d0SÁlvaro Fernández Rojas 141*7ea42936SÁlvaro Fernández Rojas nflash: nand@10000200 { 142*7ea42936SÁlvaro Fernández Rojas #address-cells = <1>; 143*7ea42936SÁlvaro Fernández Rojas #size-cells = <0>; 144*7ea42936SÁlvaro Fernández Rojas compatible = "brcm,nand-bcm6368", 145*7ea42936SÁlvaro Fernández Rojas "brcm,brcmnand-v2.2", 146*7ea42936SÁlvaro Fernández Rojas "brcm,brcmnand"; 147*7ea42936SÁlvaro Fernández Rojas reg = <0x10000200 0x180>, 148*7ea42936SÁlvaro Fernández Rojas <0x10000400 0x200>, 149*7ea42936SÁlvaro Fernández Rojas <0x10000070 0x10>; 150*7ea42936SÁlvaro Fernández Rojas reg-names = "nand", 151*7ea42936SÁlvaro Fernández Rojas "nand-cache", 152*7ea42936SÁlvaro Fernández Rojas "nand-int-base"; 1538945e37eSKevin Cernekee 154*7ea42936SÁlvaro Fernández Rojas interrupt-parent = <&periph_intc>; 155*7ea42936SÁlvaro Fernández Rojas interrupts = <0>; 156*7ea42936SÁlvaro Fernández Rojas 157*7ea42936SÁlvaro Fernández Rojas status = "disabled"; 1588945e37eSKevin Cernekee }; 159db66dbbbSÁlvaro Fernández Rojas 160db66dbbbSÁlvaro Fernández Rojas leds0: led-controller@10000800 { 161db66dbbbSÁlvaro Fernández Rojas #address-cells = <1>; 162db66dbbbSÁlvaro Fernández Rojas #size-cells = <0>; 163db66dbbbSÁlvaro Fernández Rojas compatible = "brcm,bcm6328-leds"; 164db66dbbbSÁlvaro Fernández Rojas reg = <0x10000800 0x24>; 165*7ea42936SÁlvaro Fernández Rojas 166*7ea42936SÁlvaro Fernández Rojas status = "disabled"; 167*7ea42936SÁlvaro Fernández Rojas }; 168*7ea42936SÁlvaro Fernández Rojas 169*7ea42936SÁlvaro Fernández Rojas hsspi: spi@10001000 { 170*7ea42936SÁlvaro Fernández Rojas #address-cells = <1>; 171*7ea42936SÁlvaro Fernández Rojas #size-cells = <0>; 172*7ea42936SÁlvaro Fernández Rojas compatible = "brcm,bcm6328-hsspi"; 173*7ea42936SÁlvaro Fernández Rojas reg = <0x10001000 0x600>; 174*7ea42936SÁlvaro Fernández Rojas 175*7ea42936SÁlvaro Fernández Rojas interrupt-parent = <&periph_intc>; 176*7ea42936SÁlvaro Fernández Rojas interrupts = <29>; 177*7ea42936SÁlvaro Fernández Rojas 178*7ea42936SÁlvaro Fernández Rojas clocks = <&periph_clk BCM6328_CLK_HSSPI>, 179*7ea42936SÁlvaro Fernández Rojas <&hsspi_osc>; 180*7ea42936SÁlvaro Fernández Rojas clock-names = "hsspi", 181*7ea42936SÁlvaro Fernández Rojas "pll"; 182*7ea42936SÁlvaro Fernández Rojas 183*7ea42936SÁlvaro Fernández Rojas resets = <&periph_rst BCM6328_RST_SPI>; 184*7ea42936SÁlvaro Fernández Rojas reset-names = "hsspi"; 185*7ea42936SÁlvaro Fernández Rojas 186db66dbbbSÁlvaro Fernández Rojas status = "disabled"; 187db66dbbbSÁlvaro Fernández Rojas }; 188e3b992d0SÁlvaro Fernández Rojas 18960515712SÁlvaro Fernández Rojas periph_pwr: power-controller@10001848 { 19060515712SÁlvaro Fernández Rojas compatible = "brcm,bcm6328-power-controller"; 19160515712SÁlvaro Fernández Rojas reg = <0x10001848 0x4>; 19260515712SÁlvaro Fernández Rojas #power-domain-cells = <1>; 19360515712SÁlvaro Fernández Rojas }; 19460515712SÁlvaro Fernández Rojas 195e3b992d0SÁlvaro Fernández Rojas ehci: usb@10002500 { 196e3b992d0SÁlvaro Fernández Rojas compatible = "brcm,bcm6328-ehci", "generic-ehci"; 197e3b992d0SÁlvaro Fernández Rojas reg = <0x10002500 0x100>; 198e3b992d0SÁlvaro Fernández Rojas big-endian; 199*7ea42936SÁlvaro Fernández Rojas 200e3b992d0SÁlvaro Fernández Rojas interrupt-parent = <&periph_intc>; 201e3b992d0SÁlvaro Fernández Rojas interrupts = <42>; 202*7ea42936SÁlvaro Fernández Rojas 203*7ea42936SÁlvaro Fernández Rojas phys = <&usbh 0>; 204*7ea42936SÁlvaro Fernández Rojas phy-names = "usb"; 205*7ea42936SÁlvaro Fernández Rojas 206e3b992d0SÁlvaro Fernández Rojas status = "disabled"; 207e3b992d0SÁlvaro Fernández Rojas }; 208e3b992d0SÁlvaro Fernández Rojas 209e3b992d0SÁlvaro Fernández Rojas ohci: usb@10002600 { 210e3b992d0SÁlvaro Fernández Rojas compatible = "brcm,bcm6328-ohci", "generic-ohci"; 211e3b992d0SÁlvaro Fernández Rojas reg = <0x10002600 0x100>; 212e3b992d0SÁlvaro Fernández Rojas big-endian; 213e3b992d0SÁlvaro Fernández Rojas no-big-frame-no; 214*7ea42936SÁlvaro Fernández Rojas 215e3b992d0SÁlvaro Fernández Rojas interrupt-parent = <&periph_intc>; 216e3b992d0SÁlvaro Fernández Rojas interrupts = <41>; 217*7ea42936SÁlvaro Fernández Rojas 218*7ea42936SÁlvaro Fernández Rojas phys = <&usbh 0>; 219*7ea42936SÁlvaro Fernández Rojas phy-names = "usb"; 220*7ea42936SÁlvaro Fernández Rojas 221*7ea42936SÁlvaro Fernández Rojas status = "disabled"; 222*7ea42936SÁlvaro Fernández Rojas }; 223*7ea42936SÁlvaro Fernández Rojas 224*7ea42936SÁlvaro Fernández Rojas usbh: usb-phy@10002700 { 225*7ea42936SÁlvaro Fernández Rojas compatible = "brcm,bcm6328-usbh-phy"; 226*7ea42936SÁlvaro Fernández Rojas reg = <0x10002700 0x38>; 227*7ea42936SÁlvaro Fernández Rojas #phy-cells = <1>; 228*7ea42936SÁlvaro Fernández Rojas 229*7ea42936SÁlvaro Fernández Rojas clocks = <&periph_clk BCM6328_CLK_USBH>; 230*7ea42936SÁlvaro Fernández Rojas clock-names = "usbh"; 231*7ea42936SÁlvaro Fernández Rojas 232*7ea42936SÁlvaro Fernández Rojas power-domains = <&periph_pwr BCM6328_POWER_DOMAIN_USBH>; 233*7ea42936SÁlvaro Fernández Rojas 234*7ea42936SÁlvaro Fernández Rojas resets = <&periph_rst BCM6328_RST_USBH>; 235*7ea42936SÁlvaro Fernández Rojas reset-names = "usbh"; 236*7ea42936SÁlvaro Fernández Rojas 237e3b992d0SÁlvaro Fernández Rojas status = "disabled"; 238e3b992d0SÁlvaro Fernández Rojas }; 2398945e37eSKevin Cernekee }; 2408945e37eSKevin Cernekee}; 241