1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*2eb4d8dcSEmmanuel Vadot 3*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/clock/bcm6328-clock.h" 4*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/reset/bcm6328-reset.h" 5*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/soc/bcm6328-pm.h" 6*2eb4d8dcSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot/ { 8c66ec88fSEmmanuel Vadot #address-cells = <1>; 9c66ec88fSEmmanuel Vadot #size-cells = <1>; 10c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328"; 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot cpus { 13c66ec88fSEmmanuel Vadot #address-cells = <1>; 14c66ec88fSEmmanuel Vadot #size-cells = <0>; 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot mips-hpt-frequency = <160000000>; 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 #clock-cells = <0>; 42*2eb4d8dcSEmmanuel Vadot clock-frequency = <133333333>; 43*2eb4d8dcSEmmanuel Vadot clock-output-names = "hsspi_osc"; 44c66ec88fSEmmanuel Vadot }; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot aliases { 48*2eb4d8dcSEmmanuel Vadot nflash = &nflash; 49c66ec88fSEmmanuel Vadot serial0 = &uart0; 50c66ec88fSEmmanuel Vadot serial1 = &uart1; 51*2eb4d8dcSEmmanuel Vadot spi1 = &hsspi; 52c66ec88fSEmmanuel Vadot }; 53c66ec88fSEmmanuel Vadot 54c66ec88fSEmmanuel Vadot cpu_intc: interrupt-controller { 55c66ec88fSEmmanuel Vadot #address-cells = <0>; 56c66ec88fSEmmanuel Vadot compatible = "mti,cpu-interrupt-controller"; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot interrupt-controller; 59c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 60c66ec88fSEmmanuel Vadot }; 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot ubus { 63c66ec88fSEmmanuel Vadot #address-cells = <1>; 64c66ec88fSEmmanuel Vadot #size-cells = <1>; 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 67c66ec88fSEmmanuel Vadot ranges; 68c66ec88fSEmmanuel Vadot 69*2eb4d8dcSEmmanuel Vadot periph_clk: clock-controller@10000004 { 70c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328-clocks"; 71c66ec88fSEmmanuel Vadot reg = <0x10000004 0x4>; 72c66ec88fSEmmanuel Vadot #clock-cells = <1>; 73c66ec88fSEmmanuel Vadot }; 74c66ec88fSEmmanuel Vadot 755def4c47SEmmanuel Vadot periph_rst: reset-controller@10000010 { 765def4c47SEmmanuel Vadot compatible = "brcm,bcm6345-reset"; 775def4c47SEmmanuel Vadot reg = <0x10000010 0x4>; 785def4c47SEmmanuel Vadot #reset-cells = <1>; 795def4c47SEmmanuel Vadot }; 805def4c47SEmmanuel Vadot 81c66ec88fSEmmanuel Vadot periph_intc: interrupt-controller@10000020 { 82c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-l1-intc"; 83c66ec88fSEmmanuel Vadot reg = <0x10000020 0x10>, 84c66ec88fSEmmanuel Vadot <0x10000030 0x10>; 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot interrupt-controller; 87c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu_intc>; 90c66ec88fSEmmanuel Vadot interrupts = <2>, <3>; 91c66ec88fSEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot 93*2eb4d8dcSEmmanuel Vadot wdt: watchdog@1000005c { 94*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm7038-wdt"; 95*2eb4d8dcSEmmanuel Vadot reg = <0x1000005c 0xc>; 96*2eb4d8dcSEmmanuel Vadot 97*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 98*2eb4d8dcSEmmanuel Vadot clock-names = "refclk"; 99*2eb4d8dcSEmmanuel Vadot 100*2eb4d8dcSEmmanuel Vadot timeout-sec = <30>; 101*2eb4d8dcSEmmanuel Vadot }; 102*2eb4d8dcSEmmanuel Vadot 103*2eb4d8dcSEmmanuel Vadot soft_reset: syscon@10000068 { 104*2eb4d8dcSEmmanuel Vadot compatible = "syscon"; 105*2eb4d8dcSEmmanuel Vadot reg = <0x10000068 0x4>; 106*2eb4d8dcSEmmanuel Vadot native-endian; 107*2eb4d8dcSEmmanuel Vadot 108*2eb4d8dcSEmmanuel Vadot reboot { 109*2eb4d8dcSEmmanuel Vadot compatible = "syscon-reboot"; 110*2eb4d8dcSEmmanuel Vadot offset = <0x0>; 111*2eb4d8dcSEmmanuel Vadot mask = <0x1>; 112*2eb4d8dcSEmmanuel Vadot }; 113*2eb4d8dcSEmmanuel Vadot }; 114*2eb4d8dcSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot uart0: serial@10000100 { 116c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 117c66ec88fSEmmanuel Vadot reg = <0x10000100 0x18>; 118*2eb4d8dcSEmmanuel Vadot 119c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 120c66ec88fSEmmanuel Vadot interrupts = <28>; 121*2eb4d8dcSEmmanuel Vadot 122*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 123c66ec88fSEmmanuel Vadot clock-names = "refclk"; 124*2eb4d8dcSEmmanuel Vadot 125c66ec88fSEmmanuel Vadot status = "disabled"; 126c66ec88fSEmmanuel Vadot }; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot uart1: serial@10000120 { 129c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 130c66ec88fSEmmanuel Vadot reg = <0x10000120 0x18>; 131*2eb4d8dcSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 133c66ec88fSEmmanuel Vadot interrupts = <39>; 134*2eb4d8dcSEmmanuel Vadot 135*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 136c66ec88fSEmmanuel Vadot clock-names = "refclk"; 137*2eb4d8dcSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot status = "disabled"; 139c66ec88fSEmmanuel Vadot }; 140c66ec88fSEmmanuel Vadot 141*2eb4d8dcSEmmanuel Vadot nflash: nand@10000200 { 142*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 143*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 144*2eb4d8dcSEmmanuel Vadot compatible = "brcm,nand-bcm6368", 145*2eb4d8dcSEmmanuel Vadot "brcm,brcmnand-v2.2", 146*2eb4d8dcSEmmanuel Vadot "brcm,brcmnand"; 147*2eb4d8dcSEmmanuel Vadot reg = <0x10000200 0x180>, 148*2eb4d8dcSEmmanuel Vadot <0x10000400 0x200>, 149*2eb4d8dcSEmmanuel Vadot <0x10000070 0x10>; 150*2eb4d8dcSEmmanuel Vadot reg-names = "nand", 151*2eb4d8dcSEmmanuel Vadot "nand-cache", 152*2eb4d8dcSEmmanuel Vadot "nand-int-base"; 153c66ec88fSEmmanuel Vadot 154*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 155*2eb4d8dcSEmmanuel Vadot interrupts = <0>; 156*2eb4d8dcSEmmanuel Vadot 157*2eb4d8dcSEmmanuel Vadot status = "disabled"; 158c66ec88fSEmmanuel Vadot }; 159c66ec88fSEmmanuel Vadot 160c66ec88fSEmmanuel Vadot leds0: led-controller@10000800 { 161c66ec88fSEmmanuel Vadot #address-cells = <1>; 162c66ec88fSEmmanuel Vadot #size-cells = <0>; 163c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328-leds"; 164c66ec88fSEmmanuel Vadot reg = <0x10000800 0x24>; 165*2eb4d8dcSEmmanuel Vadot 166*2eb4d8dcSEmmanuel Vadot status = "disabled"; 167*2eb4d8dcSEmmanuel Vadot }; 168*2eb4d8dcSEmmanuel Vadot 169*2eb4d8dcSEmmanuel Vadot hsspi: spi@10001000 { 170*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 171*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 172*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6328-hsspi"; 173*2eb4d8dcSEmmanuel Vadot reg = <0x10001000 0x600>; 174*2eb4d8dcSEmmanuel Vadot 175*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 176*2eb4d8dcSEmmanuel Vadot interrupts = <29>; 177*2eb4d8dcSEmmanuel Vadot 178*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6328_CLK_HSSPI>, 179*2eb4d8dcSEmmanuel Vadot <&hsspi_osc>; 180*2eb4d8dcSEmmanuel Vadot clock-names = "hsspi", 181*2eb4d8dcSEmmanuel Vadot "pll"; 182*2eb4d8dcSEmmanuel Vadot 183*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6328_RST_SPI>; 184*2eb4d8dcSEmmanuel Vadot reset-names = "hsspi"; 185*2eb4d8dcSEmmanuel Vadot 186c66ec88fSEmmanuel Vadot status = "disabled"; 187c66ec88fSEmmanuel Vadot }; 188c66ec88fSEmmanuel Vadot 1896be33864SEmmanuel Vadot periph_pwr: power-controller@10001848 { 1906be33864SEmmanuel Vadot compatible = "brcm,bcm6328-power-controller"; 1916be33864SEmmanuel Vadot reg = <0x10001848 0x4>; 1926be33864SEmmanuel Vadot #power-domain-cells = <1>; 1936be33864SEmmanuel Vadot }; 1946be33864SEmmanuel Vadot 195c66ec88fSEmmanuel Vadot ehci: usb@10002500 { 196c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328-ehci", "generic-ehci"; 197c66ec88fSEmmanuel Vadot reg = <0x10002500 0x100>; 198c66ec88fSEmmanuel Vadot big-endian; 199*2eb4d8dcSEmmanuel Vadot 200c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 201c66ec88fSEmmanuel Vadot interrupts = <42>; 202*2eb4d8dcSEmmanuel Vadot 203*2eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 204*2eb4d8dcSEmmanuel Vadot phy-names = "usb"; 205*2eb4d8dcSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot status = "disabled"; 207c66ec88fSEmmanuel Vadot }; 208c66ec88fSEmmanuel Vadot 209c66ec88fSEmmanuel Vadot ohci: usb@10002600 { 210c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328-ohci", "generic-ohci"; 211c66ec88fSEmmanuel Vadot reg = <0x10002600 0x100>; 212c66ec88fSEmmanuel Vadot big-endian; 213c66ec88fSEmmanuel Vadot no-big-frame-no; 214*2eb4d8dcSEmmanuel Vadot 215c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 216c66ec88fSEmmanuel Vadot interrupts = <41>; 217*2eb4d8dcSEmmanuel Vadot 218*2eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 219*2eb4d8dcSEmmanuel Vadot phy-names = "usb"; 220*2eb4d8dcSEmmanuel Vadot 221*2eb4d8dcSEmmanuel Vadot status = "disabled"; 222*2eb4d8dcSEmmanuel Vadot }; 223*2eb4d8dcSEmmanuel Vadot 224*2eb4d8dcSEmmanuel Vadot usbh: usb-phy@10002700 { 225*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6328-usbh-phy"; 226*2eb4d8dcSEmmanuel Vadot reg = <0x10002700 0x38>; 227*2eb4d8dcSEmmanuel Vadot #phy-cells = <1>; 228*2eb4d8dcSEmmanuel Vadot 229*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6328_CLK_USBH>; 230*2eb4d8dcSEmmanuel Vadot clock-names = "usbh"; 231*2eb4d8dcSEmmanuel Vadot 232*2eb4d8dcSEmmanuel Vadot power-domains = <&periph_pwr BCM6328_POWER_DOMAIN_USBH>; 233*2eb4d8dcSEmmanuel Vadot 234*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6328_RST_USBH>; 235*2eb4d8dcSEmmanuel Vadot reset-names = "usbh"; 236*2eb4d8dcSEmmanuel Vadot 237c66ec88fSEmmanuel Vadot status = "disabled"; 238c66ec88fSEmmanuel Vadot }; 239c66ec88fSEmmanuel Vadot }; 240c66ec88fSEmmanuel Vadot}; 241