1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*2eb4d8dcSEmmanuel Vadot 3*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/clock/bcm6362-clock.h" 4*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/reset/bcm6362-reset.h" 5*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/soc/bcm6362-pm.h" 6*2eb4d8dcSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot/ { 8c66ec88fSEmmanuel Vadot #address-cells = <1>; 9c66ec88fSEmmanuel Vadot #size-cells = <1>; 10c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6362"; 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot cpus { 13c66ec88fSEmmanuel Vadot #address-cells = <1>; 14c66ec88fSEmmanuel Vadot #size-cells = <0>; 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot mips-hpt-frequency = <200000000>; 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot cpu@0 { 19c66ec88fSEmmanuel Vadot compatible = "brcm,bmips4350"; 20c66ec88fSEmmanuel Vadot device_type = "cpu"; 21c66ec88fSEmmanuel Vadot reg = <0>; 22c66ec88fSEmmanuel Vadot }; 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadot cpu@1 { 25c66ec88fSEmmanuel Vadot compatible = "brcm,bmips4350"; 26c66ec88fSEmmanuel Vadot device_type = "cpu"; 27c66ec88fSEmmanuel Vadot reg = <1>; 28c66ec88fSEmmanuel Vadot }; 29c66ec88fSEmmanuel Vadot }; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot clocks { 32*2eb4d8dcSEmmanuel Vadot periph_osc: periph-osc { 33c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 34c66ec88fSEmmanuel Vadot #clock-cells = <0>; 35c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 36*2eb4d8dcSEmmanuel Vadot clock-output-names = "periph"; 37*2eb4d8dcSEmmanuel Vadot }; 38*2eb4d8dcSEmmanuel Vadot 39*2eb4d8dcSEmmanuel Vadot hsspi_osc: hsspi-osc { 40*2eb4d8dcSEmmanuel Vadot compatible = "fixed-clock"; 41*2eb4d8dcSEmmanuel Vadot 42*2eb4d8dcSEmmanuel Vadot #clock-cells = <0>; 43*2eb4d8dcSEmmanuel Vadot 44*2eb4d8dcSEmmanuel Vadot clock-frequency = <400000000>; 45*2eb4d8dcSEmmanuel Vadot clock-output-names = "hsspi_osc"; 46c66ec88fSEmmanuel Vadot }; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot aliases { 50*2eb4d8dcSEmmanuel Vadot nflash = &nflash; 51c66ec88fSEmmanuel Vadot serial0 = &uart0; 52c66ec88fSEmmanuel Vadot serial1 = &uart1; 53*2eb4d8dcSEmmanuel Vadot spi0 = &lsspi; 54*2eb4d8dcSEmmanuel Vadot spi1 = &hsspi; 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot cpu_intc: interrupt-controller { 58c66ec88fSEmmanuel Vadot #address-cells = <0>; 59c66ec88fSEmmanuel Vadot compatible = "mti,cpu-interrupt-controller"; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot interrupt-controller; 62c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 63c66ec88fSEmmanuel Vadot }; 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot ubus { 66c66ec88fSEmmanuel Vadot #address-cells = <1>; 67c66ec88fSEmmanuel Vadot #size-cells = <1>; 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 70c66ec88fSEmmanuel Vadot ranges; 71c66ec88fSEmmanuel Vadot 72*2eb4d8dcSEmmanuel Vadot periph_clk: clock-controller@10000004 { 73c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6362-clocks"; 74c66ec88fSEmmanuel Vadot reg = <0x10000004 0x4>; 75c66ec88fSEmmanuel Vadot #clock-cells = <1>; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 78*2eb4d8dcSEmmanuel Vadot pll_cntl: syscon@10000008 { 79c66ec88fSEmmanuel Vadot compatible = "syscon"; 80*2eb4d8dcSEmmanuel Vadot reg = <0x10000008 0x4>; 81c66ec88fSEmmanuel Vadot native-endian; 82c66ec88fSEmmanuel Vadot 83*2eb4d8dcSEmmanuel Vadot reboot { 84c66ec88fSEmmanuel Vadot compatible = "syscon-reboot"; 85c66ec88fSEmmanuel Vadot offset = <0x0>; 86c66ec88fSEmmanuel Vadot mask = <0x1>; 87c66ec88fSEmmanuel Vadot }; 88*2eb4d8dcSEmmanuel Vadot }; 89c66ec88fSEmmanuel Vadot 905def4c47SEmmanuel Vadot periph_rst: reset-controller@10000010 { 915def4c47SEmmanuel Vadot compatible = "brcm,bcm6345-reset"; 925def4c47SEmmanuel Vadot reg = <0x10000010 0x4>; 935def4c47SEmmanuel Vadot #reset-cells = <1>; 945def4c47SEmmanuel Vadot }; 955def4c47SEmmanuel Vadot 96c66ec88fSEmmanuel Vadot periph_intc: interrupt-controller@10000020 { 97c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-l1-intc"; 98c66ec88fSEmmanuel Vadot reg = <0x10000020 0x10>, 99c66ec88fSEmmanuel Vadot <0x10000030 0x10>; 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot interrupt-controller; 102c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu_intc>; 105c66ec88fSEmmanuel Vadot interrupts = <2>, <3>; 106c66ec88fSEmmanuel Vadot }; 107c66ec88fSEmmanuel Vadot 108*2eb4d8dcSEmmanuel Vadot wdt: watchdog@1000005c { 109*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm7038-wdt"; 110*2eb4d8dcSEmmanuel Vadot reg = <0x1000005c 0xc>; 111*2eb4d8dcSEmmanuel Vadot 112*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 113*2eb4d8dcSEmmanuel Vadot clock-names = "refclk"; 114*2eb4d8dcSEmmanuel Vadot 115*2eb4d8dcSEmmanuel Vadot timeout-sec = <30>; 116*2eb4d8dcSEmmanuel Vadot }; 117*2eb4d8dcSEmmanuel Vadot 118c66ec88fSEmmanuel Vadot uart0: serial@10000100 { 119c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 120c66ec88fSEmmanuel Vadot reg = <0x10000100 0x18>; 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 123c66ec88fSEmmanuel Vadot interrupts = <3>; 124c66ec88fSEmmanuel Vadot 125*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 126c66ec88fSEmmanuel Vadot clock-names = "refclk"; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot status = "disabled"; 129c66ec88fSEmmanuel Vadot }; 130c66ec88fSEmmanuel Vadot 131c66ec88fSEmmanuel Vadot uart1: serial@10000120 { 132c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 133c66ec88fSEmmanuel Vadot reg = <0x10000120 0x18>; 134c66ec88fSEmmanuel Vadot 135c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 136c66ec88fSEmmanuel Vadot interrupts = <4>; 137c66ec88fSEmmanuel Vadot 138*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 139c66ec88fSEmmanuel Vadot clock-names = "refclk"; 140c66ec88fSEmmanuel Vadot 141c66ec88fSEmmanuel Vadot status = "disabled"; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot 144*2eb4d8dcSEmmanuel Vadot nflash: nand@10000200 { 145*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 146*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 147*2eb4d8dcSEmmanuel Vadot compatible = "brcm,nand-bcm6368", 148*2eb4d8dcSEmmanuel Vadot "brcm,brcmnand-v2.2", 149*2eb4d8dcSEmmanuel Vadot "brcm,brcmnand"; 150*2eb4d8dcSEmmanuel Vadot reg = <0x10000200 0x180>, 151*2eb4d8dcSEmmanuel Vadot <0x10000600 0x200>, 152*2eb4d8dcSEmmanuel Vadot <0x10000070 0x10>; 153*2eb4d8dcSEmmanuel Vadot reg-names = "nand", 154*2eb4d8dcSEmmanuel Vadot "nand-cache", 155*2eb4d8dcSEmmanuel Vadot "nand-int-base"; 156*2eb4d8dcSEmmanuel Vadot 157*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 158*2eb4d8dcSEmmanuel Vadot interrupts = <12>; 159*2eb4d8dcSEmmanuel Vadot 160*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6362_CLK_NAND>; 161*2eb4d8dcSEmmanuel Vadot clock-names = "nand"; 162*2eb4d8dcSEmmanuel Vadot 163*2eb4d8dcSEmmanuel Vadot status = "disabled"; 164*2eb4d8dcSEmmanuel Vadot }; 165*2eb4d8dcSEmmanuel Vadot 166*2eb4d8dcSEmmanuel Vadot lsspi: spi@10000800 { 167*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 168*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 169*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6358-spi"; 170*2eb4d8dcSEmmanuel Vadot reg = <0x10000800 0x70c>; 171*2eb4d8dcSEmmanuel Vadot 172*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 173*2eb4d8dcSEmmanuel Vadot interrupts = <2>; 174*2eb4d8dcSEmmanuel Vadot 175*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6362_CLK_SPI>; 176*2eb4d8dcSEmmanuel Vadot clock-names = "spi"; 177*2eb4d8dcSEmmanuel Vadot 178*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6362_RST_SPI>; 179*2eb4d8dcSEmmanuel Vadot reset-names = "spi"; 180*2eb4d8dcSEmmanuel Vadot 181*2eb4d8dcSEmmanuel Vadot status = "disabled"; 182*2eb4d8dcSEmmanuel Vadot }; 183*2eb4d8dcSEmmanuel Vadot 184*2eb4d8dcSEmmanuel Vadot hsspi: spi@10001000 { 185*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 186*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 187*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6328-hsspi"; 188*2eb4d8dcSEmmanuel Vadot reg = <0x10001000 0x600>; 189*2eb4d8dcSEmmanuel Vadot 190*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 191*2eb4d8dcSEmmanuel Vadot interrupts = <5>; 192*2eb4d8dcSEmmanuel Vadot 193*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6362_CLK_HSSPI>, 194*2eb4d8dcSEmmanuel Vadot <&hsspi_osc>; 195*2eb4d8dcSEmmanuel Vadot clock-names = "hsspi", 196*2eb4d8dcSEmmanuel Vadot "pll"; 197*2eb4d8dcSEmmanuel Vadot 198*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6362_RST_SPI>; 199*2eb4d8dcSEmmanuel Vadot reset-names = "hsspi"; 200*2eb4d8dcSEmmanuel Vadot 201*2eb4d8dcSEmmanuel Vadot status = "disabled"; 202*2eb4d8dcSEmmanuel Vadot }; 203*2eb4d8dcSEmmanuel Vadot 2046be33864SEmmanuel Vadot periph_pwr: power-controller@10001848 { 2056be33864SEmmanuel Vadot compatible = "brcm,bcm6362-power-controller"; 2066be33864SEmmanuel Vadot reg = <0x10001848 0x4>; 2076be33864SEmmanuel Vadot #power-domain-cells = <1>; 2086be33864SEmmanuel Vadot }; 2096be33864SEmmanuel Vadot 210c66ec88fSEmmanuel Vadot leds0: led-controller@10001900 { 211c66ec88fSEmmanuel Vadot #address-cells = <1>; 212c66ec88fSEmmanuel Vadot #size-cells = <0>; 213c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328-leds"; 214c66ec88fSEmmanuel Vadot reg = <0x10001900 0x24>; 215c66ec88fSEmmanuel Vadot 216c66ec88fSEmmanuel Vadot status = "disabled"; 217c66ec88fSEmmanuel Vadot }; 218c66ec88fSEmmanuel Vadot 219c66ec88fSEmmanuel Vadot ehci: usb@10002500 { 220c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6362-ehci", "generic-ehci"; 221c66ec88fSEmmanuel Vadot reg = <0x10002500 0x100>; 222c66ec88fSEmmanuel Vadot big-endian; 223c66ec88fSEmmanuel Vadot 224c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 225c66ec88fSEmmanuel Vadot interrupts = <10>; 226c66ec88fSEmmanuel Vadot 227*2eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 228*2eb4d8dcSEmmanuel Vadot phy-names = "usb"; 229*2eb4d8dcSEmmanuel Vadot 230c66ec88fSEmmanuel Vadot status = "disabled"; 231c66ec88fSEmmanuel Vadot }; 232c66ec88fSEmmanuel Vadot 233c66ec88fSEmmanuel Vadot ohci: usb@10002600 { 234c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6362-ohci", "generic-ohci"; 235c66ec88fSEmmanuel Vadot reg = <0x10002600 0x100>; 236c66ec88fSEmmanuel Vadot big-endian; 237c66ec88fSEmmanuel Vadot no-big-frame-no; 238c66ec88fSEmmanuel Vadot 239c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 240c66ec88fSEmmanuel Vadot interrupts = <9>; 241c66ec88fSEmmanuel Vadot 242*2eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 243*2eb4d8dcSEmmanuel Vadot phy-names = "usb"; 244*2eb4d8dcSEmmanuel Vadot 245*2eb4d8dcSEmmanuel Vadot status = "disabled"; 246*2eb4d8dcSEmmanuel Vadot }; 247*2eb4d8dcSEmmanuel Vadot 248*2eb4d8dcSEmmanuel Vadot usbh: usb-phy@10002700 { 249*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6362-usbh-phy"; 250*2eb4d8dcSEmmanuel Vadot reg = <0x10002700 0x38>; 251*2eb4d8dcSEmmanuel Vadot 252*2eb4d8dcSEmmanuel Vadot #phy-cells = <1>; 253*2eb4d8dcSEmmanuel Vadot 254*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6362_CLK_USBH>; 255*2eb4d8dcSEmmanuel Vadot clock-names = "usbh"; 256*2eb4d8dcSEmmanuel Vadot 257*2eb4d8dcSEmmanuel Vadot power-domains = <&periph_pwr BCM6362_POWER_DOMAIN_USBH>; 258*2eb4d8dcSEmmanuel Vadot 259*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6362_RST_USBH>; 260*2eb4d8dcSEmmanuel Vadot reset-names = "usbh"; 261*2eb4d8dcSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot status = "disabled"; 263c66ec88fSEmmanuel Vadot }; 264c66ec88fSEmmanuel Vadot }; 265c66ec88fSEmmanuel Vadot}; 266