1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*2eb4d8dcSEmmanuel Vadot 3*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/clock/bcm6368-clock.h" 4*2eb4d8dcSEmmanuel Vadot#include "dt-bindings/reset/bcm6368-reset.h" 5*2eb4d8dcSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot/ { 7c66ec88fSEmmanuel Vadot #address-cells = <1>; 8c66ec88fSEmmanuel Vadot #size-cells = <1>; 9c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6368"; 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot cpus { 12c66ec88fSEmmanuel Vadot #address-cells = <1>; 13c66ec88fSEmmanuel Vadot #size-cells = <0>; 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadot mips-hpt-frequency = <200000000>; 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot cpu@0 { 18c66ec88fSEmmanuel Vadot compatible = "brcm,bmips4350"; 19c66ec88fSEmmanuel Vadot device_type = "cpu"; 20c66ec88fSEmmanuel Vadot reg = <0>; 21c66ec88fSEmmanuel Vadot }; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot cpu@1 { 24c66ec88fSEmmanuel Vadot compatible = "brcm,bmips4350"; 25c66ec88fSEmmanuel Vadot device_type = "cpu"; 26c66ec88fSEmmanuel Vadot reg = <1>; 27c66ec88fSEmmanuel Vadot }; 28c66ec88fSEmmanuel Vadot }; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot clocks { 31*2eb4d8dcSEmmanuel Vadot periph_osc: periph-osc { 32c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 33c66ec88fSEmmanuel Vadot #clock-cells = <0>; 34c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 35*2eb4d8dcSEmmanuel Vadot clock-output-names = "periph"; 36c66ec88fSEmmanuel Vadot }; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot aliases { 40*2eb4d8dcSEmmanuel Vadot nflash = &nflash; 41*2eb4d8dcSEmmanuel Vadot pflash = &pflash; 42c66ec88fSEmmanuel Vadot serial0 = &uart0; 43c66ec88fSEmmanuel Vadot serial1 = &uart1; 44*2eb4d8dcSEmmanuel Vadot spi0 = &lsspi; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot cpu_intc: interrupt-controller { 48c66ec88fSEmmanuel Vadot #address-cells = <0>; 49c66ec88fSEmmanuel Vadot compatible = "mti,cpu-interrupt-controller"; 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot interrupt-controller; 52c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot ubus { 56c66ec88fSEmmanuel Vadot #address-cells = <1>; 57c66ec88fSEmmanuel Vadot #size-cells = <1>; 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 60c66ec88fSEmmanuel Vadot ranges; 61c66ec88fSEmmanuel Vadot 62*2eb4d8dcSEmmanuel Vadot periph_clk: clock-controller@10000004 { 63c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6368-clocks"; 64c66ec88fSEmmanuel Vadot reg = <0x10000004 0x4>; 65c66ec88fSEmmanuel Vadot #clock-cells = <1>; 66c66ec88fSEmmanuel Vadot }; 67c66ec88fSEmmanuel Vadot 68*2eb4d8dcSEmmanuel Vadot pll_cntl: syscon@100000008 { 69c66ec88fSEmmanuel Vadot compatible = "syscon"; 70*2eb4d8dcSEmmanuel Vadot reg = <0x10000008 0x4>; 71c66ec88fSEmmanuel Vadot native-endian; 72c66ec88fSEmmanuel Vadot 73*2eb4d8dcSEmmanuel Vadot reboot { 74c66ec88fSEmmanuel Vadot compatible = "syscon-reboot"; 75c66ec88fSEmmanuel Vadot offset = <0x0>; 76c66ec88fSEmmanuel Vadot mask = <0x1>; 77c66ec88fSEmmanuel Vadot }; 78*2eb4d8dcSEmmanuel Vadot }; 79c66ec88fSEmmanuel Vadot 805def4c47SEmmanuel Vadot periph_rst: reset-controller@10000010 { 815def4c47SEmmanuel Vadot compatible = "brcm,bcm6345-reset"; 825def4c47SEmmanuel Vadot reg = <0x10000010 0x4>; 835def4c47SEmmanuel Vadot #reset-cells = <1>; 845def4c47SEmmanuel Vadot }; 855def4c47SEmmanuel Vadot 86c66ec88fSEmmanuel Vadot periph_intc: interrupt-controller@10000020 { 87c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-l1-intc"; 88c66ec88fSEmmanuel Vadot reg = <0x10000020 0x10>, 89c66ec88fSEmmanuel Vadot <0x10000030 0x10>; 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot interrupt-controller; 92c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot interrupt-parent = <&cpu_intc>; 95c66ec88fSEmmanuel Vadot interrupts = <2>, <3>; 96c66ec88fSEmmanuel Vadot }; 97c66ec88fSEmmanuel Vadot 98*2eb4d8dcSEmmanuel Vadot wdt: watchdog@1000005c { 99*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm7038-wdt"; 100*2eb4d8dcSEmmanuel Vadot reg = <0x1000005c 0xc>; 101*2eb4d8dcSEmmanuel Vadot 102*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 103*2eb4d8dcSEmmanuel Vadot clock-names = "refclk"; 104*2eb4d8dcSEmmanuel Vadot 105*2eb4d8dcSEmmanuel Vadot timeout-sec = <30>; 106*2eb4d8dcSEmmanuel Vadot }; 107*2eb4d8dcSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot leds0: led-controller@100000d0 { 109c66ec88fSEmmanuel Vadot #address-cells = <1>; 110c66ec88fSEmmanuel Vadot #size-cells = <0>; 111c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6358-leds"; 112c66ec88fSEmmanuel Vadot reg = <0x100000d0 0x8>; 113*2eb4d8dcSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot status = "disabled"; 115c66ec88fSEmmanuel Vadot }; 116c66ec88fSEmmanuel Vadot 117c66ec88fSEmmanuel Vadot uart0: serial@10000100 { 118c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 119c66ec88fSEmmanuel Vadot reg = <0x10000100 0x18>; 120*2eb4d8dcSEmmanuel Vadot 121c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 122c66ec88fSEmmanuel Vadot interrupts = <2>; 123*2eb4d8dcSEmmanuel Vadot 124*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 125c66ec88fSEmmanuel Vadot clock-names = "refclk"; 126*2eb4d8dcSEmmanuel Vadot 127c66ec88fSEmmanuel Vadot status = "disabled"; 128c66ec88fSEmmanuel Vadot }; 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot uart1: serial@10000120 { 131c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 132c66ec88fSEmmanuel Vadot reg = <0x10000120 0x18>; 133*2eb4d8dcSEmmanuel Vadot 134c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 135c66ec88fSEmmanuel Vadot interrupts = <3>; 136*2eb4d8dcSEmmanuel Vadot 137*2eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 138c66ec88fSEmmanuel Vadot clock-names = "refclk"; 139*2eb4d8dcSEmmanuel Vadot 140*2eb4d8dcSEmmanuel Vadot status = "disabled"; 141*2eb4d8dcSEmmanuel Vadot }; 142*2eb4d8dcSEmmanuel Vadot 143*2eb4d8dcSEmmanuel Vadot nflash: nand@10000200 { 144*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 145*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 146*2eb4d8dcSEmmanuel Vadot compatible = "brcm,nand-bcm6368", 147*2eb4d8dcSEmmanuel Vadot "brcm,brcmnand-v2.1", 148*2eb4d8dcSEmmanuel Vadot "brcm,brcmnand"; 149*2eb4d8dcSEmmanuel Vadot reg = <0x10000200 0x180>, 150*2eb4d8dcSEmmanuel Vadot <0x10000600 0x200>, 151*2eb4d8dcSEmmanuel Vadot <0x10000070 0x10>; 152*2eb4d8dcSEmmanuel Vadot reg-names = "nand", 153*2eb4d8dcSEmmanuel Vadot "nand-cache", 154*2eb4d8dcSEmmanuel Vadot "nand-int-base"; 155*2eb4d8dcSEmmanuel Vadot 156*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 157*2eb4d8dcSEmmanuel Vadot interrupts = <10>; 158*2eb4d8dcSEmmanuel Vadot 159*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6368_CLK_NAND>; 160*2eb4d8dcSEmmanuel Vadot clock-names = "nand"; 161*2eb4d8dcSEmmanuel Vadot 162*2eb4d8dcSEmmanuel Vadot status = "disabled"; 163*2eb4d8dcSEmmanuel Vadot }; 164*2eb4d8dcSEmmanuel Vadot 165*2eb4d8dcSEmmanuel Vadot lsspi: spi@10000800 { 166*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 167*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 168*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6358-spi"; 169*2eb4d8dcSEmmanuel Vadot reg = <0x10000800 0x70c>; 170*2eb4d8dcSEmmanuel Vadot 171*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 172*2eb4d8dcSEmmanuel Vadot interrupts = <1>; 173*2eb4d8dcSEmmanuel Vadot 174*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6368_CLK_SPI>; 175*2eb4d8dcSEmmanuel Vadot clock-names = "spi"; 176*2eb4d8dcSEmmanuel Vadot 177*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6368_RST_SPI>; 178*2eb4d8dcSEmmanuel Vadot reset-names = "spi"; 179*2eb4d8dcSEmmanuel Vadot 180c66ec88fSEmmanuel Vadot status = "disabled"; 181c66ec88fSEmmanuel Vadot }; 182c66ec88fSEmmanuel Vadot 183c66ec88fSEmmanuel Vadot ehci: usb@10001500 { 184c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6368-ehci", "generic-ehci"; 185c66ec88fSEmmanuel Vadot reg = <0x10001500 0x100>; 186c66ec88fSEmmanuel Vadot big-endian; 187*2eb4d8dcSEmmanuel Vadot 188c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 189c66ec88fSEmmanuel Vadot interrupts = <7>; 190*2eb4d8dcSEmmanuel Vadot 191*2eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 192*2eb4d8dcSEmmanuel Vadot phy-names = "usb"; 193*2eb4d8dcSEmmanuel Vadot 194c66ec88fSEmmanuel Vadot status = "disabled"; 195c66ec88fSEmmanuel Vadot }; 196c66ec88fSEmmanuel Vadot 197c66ec88fSEmmanuel Vadot ohci: usb@10001600 { 198c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6368-ohci", "generic-ohci"; 199c66ec88fSEmmanuel Vadot reg = <0x10001600 0x100>; 200c66ec88fSEmmanuel Vadot big-endian; 201c66ec88fSEmmanuel Vadot no-big-frame-no; 202*2eb4d8dcSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 204c66ec88fSEmmanuel Vadot interrupts = <5>; 205*2eb4d8dcSEmmanuel Vadot 206*2eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 207*2eb4d8dcSEmmanuel Vadot phy-names = "usb"; 208*2eb4d8dcSEmmanuel Vadot 209c66ec88fSEmmanuel Vadot status = "disabled"; 210c66ec88fSEmmanuel Vadot }; 211*2eb4d8dcSEmmanuel Vadot 212*2eb4d8dcSEmmanuel Vadot usbh: usb-phy@10001700 { 213*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6368-usbh-phy"; 214*2eb4d8dcSEmmanuel Vadot reg = <0x10001700 0x38>; 215*2eb4d8dcSEmmanuel Vadot #phy-cells = <1>; 216*2eb4d8dcSEmmanuel Vadot 217*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6368_CLK_USBH>; 218*2eb4d8dcSEmmanuel Vadot clock-names = "usbh"; 219*2eb4d8dcSEmmanuel Vadot 220*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6368_RST_USBH>; 221*2eb4d8dcSEmmanuel Vadot reset-names = "usbh"; 222*2eb4d8dcSEmmanuel Vadot 223*2eb4d8dcSEmmanuel Vadot status = "disabled"; 224*2eb4d8dcSEmmanuel Vadot }; 225*2eb4d8dcSEmmanuel Vadot 226*2eb4d8dcSEmmanuel Vadot random: rng@10004180 { 227*2eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6368-rng"; 228*2eb4d8dcSEmmanuel Vadot reg = <0x10004180 0x14>; 229*2eb4d8dcSEmmanuel Vadot 230*2eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM6368_CLK_IPSEC>; 231*2eb4d8dcSEmmanuel Vadot clock-names = "ipsec"; 232*2eb4d8dcSEmmanuel Vadot 233*2eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM6368_RST_IPSEC>; 234*2eb4d8dcSEmmanuel Vadot reset-names = "ipsec"; 235*2eb4d8dcSEmmanuel Vadot }; 236*2eb4d8dcSEmmanuel Vadot }; 237*2eb4d8dcSEmmanuel Vadot 238*2eb4d8dcSEmmanuel Vadot pflash: nor@18000000 { 239*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 240*2eb4d8dcSEmmanuel Vadot #size-cells = <1>; 241*2eb4d8dcSEmmanuel Vadot compatible = "cfi-flash"; 242*2eb4d8dcSEmmanuel Vadot reg = <0x18000000 0x2000000>; 243*2eb4d8dcSEmmanuel Vadot bank-width = <2>; 244*2eb4d8dcSEmmanuel Vadot 245*2eb4d8dcSEmmanuel Vadot status = "disabled"; 246c66ec88fSEmmanuel Vadot }; 247c66ec88fSEmmanuel Vadot}; 248