1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 22eb4d8dcSEmmanuel Vadot 32eb4d8dcSEmmanuel Vadot#include "dt-bindings/clock/bcm63268-clock.h" 42eb4d8dcSEmmanuel Vadot#include "dt-bindings/reset/bcm63268-reset.h" 52eb4d8dcSEmmanuel Vadot#include "dt-bindings/soc/bcm63268-pm.h" 62eb4d8dcSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot/ { 8c66ec88fSEmmanuel Vadot #address-cells = <1>; 9c66ec88fSEmmanuel Vadot #size-cells = <1>; 10c66ec88fSEmmanuel Vadot compatible = "brcm,bcm63268"; 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 { 322eb4d8dcSEmmanuel Vadot periph_osc: periph-osc { 33c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 34c66ec88fSEmmanuel Vadot #clock-cells = <0>; 35c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 362eb4d8dcSEmmanuel Vadot clock-output-names = "periph"; 372eb4d8dcSEmmanuel Vadot }; 382eb4d8dcSEmmanuel Vadot 392eb4d8dcSEmmanuel Vadot hsspi_osc: hsspi-osc { 402eb4d8dcSEmmanuel Vadot compatible = "fixed-clock"; 412eb4d8dcSEmmanuel Vadot 422eb4d8dcSEmmanuel Vadot #clock-cells = <0>; 432eb4d8dcSEmmanuel Vadot 442eb4d8dcSEmmanuel Vadot clock-frequency = <400000000>; 452eb4d8dcSEmmanuel Vadot clock-output-names = "hsspi_osc"; 46c66ec88fSEmmanuel Vadot }; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot aliases { 502eb4d8dcSEmmanuel Vadot nflash = &nflash; 51c66ec88fSEmmanuel Vadot serial0 = &uart0; 52c66ec88fSEmmanuel Vadot serial1 = &uart1; 532eb4d8dcSEmmanuel Vadot spi0 = &lsspi; 542eb4d8dcSEmmanuel 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 722eb4d8dcSEmmanuel Vadot periph_clk: clock-controller@10000004 { 73c66ec88fSEmmanuel Vadot compatible = "brcm,bcm63268-clocks"; 74c66ec88fSEmmanuel Vadot reg = <0x10000004 0x4>; 75c66ec88fSEmmanuel Vadot #clock-cells = <1>; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 782eb4d8dcSEmmanuel Vadot pll_cntl: syscon@10000008 { 79c66ec88fSEmmanuel Vadot compatible = "syscon"; 802eb4d8dcSEmmanuel Vadot reg = <0x10000008 0x4>; 81c66ec88fSEmmanuel Vadot native-endian; 82c66ec88fSEmmanuel Vadot 832eb4d8dcSEmmanuel Vadot reboot { 84c66ec88fSEmmanuel Vadot compatible = "syscon-reboot"; 85c66ec88fSEmmanuel Vadot offset = <0x0>; 86c66ec88fSEmmanuel Vadot mask = <0x1>; 87c66ec88fSEmmanuel Vadot }; 882eb4d8dcSEmmanuel 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 0x20>, 99c66ec88fSEmmanuel Vadot <0x10000040 0x20>; 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 1087ef62cebSEmmanuel Vadot timer-mfd@10000080 { 1097ef62cebSEmmanuel Vadot compatible = "brcm,bcm7038-twd", "simple-mfd", "syscon"; 1107ef62cebSEmmanuel Vadot reg = <0x10000080 0x30>; 1117ef62cebSEmmanuel Vadot ranges = <0x0 0x10000080 0x30>; 112*8bab661aSEmmanuel Vadot #address-cells = <1>; 113*8bab661aSEmmanuel Vadot #size-cells = <1>; 114*8bab661aSEmmanuel Vadot 115*8bab661aSEmmanuel Vadot timer@0 { 116*8bab661aSEmmanuel Vadot compatible = "brcm,bcm6345-timer"; 117*8bab661aSEmmanuel Vadot reg = <0x0 0x1c>; 118*8bab661aSEmmanuel Vadot }; 1197ef62cebSEmmanuel Vadot 1207ef62cebSEmmanuel Vadot wdt: watchdog@1c { 1212eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm7038-wdt"; 1227ef62cebSEmmanuel Vadot reg = <0x1c 0xc>; 1232eb4d8dcSEmmanuel Vadot 1242eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 1252eb4d8dcSEmmanuel Vadot clock-names = "refclk"; 1262eb4d8dcSEmmanuel Vadot 1272eb4d8dcSEmmanuel Vadot timeout-sec = <30>; 1282eb4d8dcSEmmanuel Vadot }; 1297ef62cebSEmmanuel Vadot }; 1302eb4d8dcSEmmanuel Vadot 131c66ec88fSEmmanuel Vadot uart0: serial@10000180 { 132c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 133c66ec88fSEmmanuel Vadot reg = <0x10000180 0x18>; 134c66ec88fSEmmanuel Vadot 135c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 136c66ec88fSEmmanuel Vadot interrupts = <5>; 137c66ec88fSEmmanuel Vadot 1382eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 139c66ec88fSEmmanuel Vadot clock-names = "refclk"; 140c66ec88fSEmmanuel Vadot 141c66ec88fSEmmanuel Vadot status = "disabled"; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot 1442eb4d8dcSEmmanuel Vadot nflash: nand@10000200 { 1452eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1462eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1472eb4d8dcSEmmanuel Vadot compatible = "brcm,nand-bcm6368", 1482eb4d8dcSEmmanuel Vadot "brcm,brcmnand-v4.0", 1492eb4d8dcSEmmanuel Vadot "brcm,brcmnand"; 1502eb4d8dcSEmmanuel Vadot reg = <0x10000200 0x180>, 1512eb4d8dcSEmmanuel Vadot <0x10000600 0x200>, 1522eb4d8dcSEmmanuel Vadot <0x100000b0 0x10>; 1532eb4d8dcSEmmanuel Vadot reg-names = "nand", 1542eb4d8dcSEmmanuel Vadot "nand-cache", 1552eb4d8dcSEmmanuel Vadot "nand-int-base"; 1562eb4d8dcSEmmanuel Vadot 1572eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 1582eb4d8dcSEmmanuel Vadot interrupts = <50>; 1592eb4d8dcSEmmanuel Vadot 1602eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM63268_CLK_NAND>; 1612eb4d8dcSEmmanuel Vadot clock-names = "nand"; 1622eb4d8dcSEmmanuel Vadot 1632eb4d8dcSEmmanuel Vadot status = "disabled"; 1642eb4d8dcSEmmanuel Vadot }; 1652eb4d8dcSEmmanuel Vadot 166c66ec88fSEmmanuel Vadot uart1: serial@100001a0 { 167c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 168c66ec88fSEmmanuel Vadot reg = <0x100001a0 0x18>; 169c66ec88fSEmmanuel Vadot 170c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 171c66ec88fSEmmanuel Vadot interrupts = <34>; 172c66ec88fSEmmanuel Vadot 1732eb4d8dcSEmmanuel Vadot clocks = <&periph_osc>; 174c66ec88fSEmmanuel Vadot clock-names = "refclk"; 175c66ec88fSEmmanuel Vadot 176c66ec88fSEmmanuel Vadot status = "disabled"; 177c66ec88fSEmmanuel Vadot }; 178c66ec88fSEmmanuel Vadot 1792eb4d8dcSEmmanuel Vadot lsspi: spi@10000800 { 1802eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1812eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1822eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6358-spi"; 1832eb4d8dcSEmmanuel Vadot reg = <0x10000800 0x70c>; 1842eb4d8dcSEmmanuel Vadot 1852eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 1862eb4d8dcSEmmanuel Vadot interrupts = <80>; 1872eb4d8dcSEmmanuel Vadot 1882eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM63268_CLK_SPI>; 1892eb4d8dcSEmmanuel Vadot clock-names = "spi"; 1902eb4d8dcSEmmanuel Vadot 1912eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM63268_RST_SPI>; 1922eb4d8dcSEmmanuel Vadot 1932eb4d8dcSEmmanuel Vadot status = "disabled"; 1942eb4d8dcSEmmanuel Vadot }; 1952eb4d8dcSEmmanuel Vadot 1962eb4d8dcSEmmanuel Vadot hsspi: spi@10001000 { 1972eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1982eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1992eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6328-hsspi"; 2002eb4d8dcSEmmanuel Vadot reg = <0x10001000 0x600>; 2012eb4d8dcSEmmanuel Vadot 2022eb4d8dcSEmmanuel Vadot interrupt-parent = <&periph_intc>; 2032eb4d8dcSEmmanuel Vadot interrupts = <6>; 2042eb4d8dcSEmmanuel Vadot 2052eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM63268_CLK_HSSPI>, 2062eb4d8dcSEmmanuel Vadot <&hsspi_osc>; 2072eb4d8dcSEmmanuel Vadot clock-names = "hsspi", 2082eb4d8dcSEmmanuel Vadot "pll"; 2092eb4d8dcSEmmanuel Vadot 2102eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM63268_RST_SPI>; 2112eb4d8dcSEmmanuel Vadot 2122eb4d8dcSEmmanuel Vadot status = "disabled"; 2132eb4d8dcSEmmanuel Vadot }; 2142eb4d8dcSEmmanuel Vadot 2152eb4d8dcSEmmanuel Vadot periph_pwr: power-controller@1000184c { 2162eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm6328-power-controller"; 2172eb4d8dcSEmmanuel Vadot reg = <0x1000184c 0x4>; 2182eb4d8dcSEmmanuel Vadot #power-domain-cells = <1>; 2192eb4d8dcSEmmanuel Vadot }; 2202eb4d8dcSEmmanuel Vadot 221c66ec88fSEmmanuel Vadot leds0: led-controller@10001900 { 222c66ec88fSEmmanuel Vadot #address-cells = <1>; 223c66ec88fSEmmanuel Vadot #size-cells = <0>; 224c66ec88fSEmmanuel Vadot compatible = "brcm,bcm6328-leds"; 225c66ec88fSEmmanuel Vadot reg = <0x10001900 0x24>; 226c66ec88fSEmmanuel Vadot 227c66ec88fSEmmanuel Vadot status = "disabled"; 228c66ec88fSEmmanuel Vadot }; 229c66ec88fSEmmanuel Vadot 230c66ec88fSEmmanuel Vadot ehci: usb@10002500 { 231c66ec88fSEmmanuel Vadot compatible = "brcm,bcm63268-ehci", "generic-ehci"; 232c66ec88fSEmmanuel Vadot reg = <0x10002500 0x100>; 233c66ec88fSEmmanuel Vadot big-endian; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 236c66ec88fSEmmanuel Vadot interrupts = <10>; 237c66ec88fSEmmanuel Vadot 2382eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 2392eb4d8dcSEmmanuel Vadot phy-names = "usb"; 2402eb4d8dcSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot status = "disabled"; 242c66ec88fSEmmanuel Vadot }; 243c66ec88fSEmmanuel Vadot 244c66ec88fSEmmanuel Vadot ohci: usb@10002600 { 245c66ec88fSEmmanuel Vadot compatible = "brcm,bcm63268-ohci", "generic-ohci"; 246c66ec88fSEmmanuel Vadot reg = <0x10002600 0x100>; 247c66ec88fSEmmanuel Vadot big-endian; 248c66ec88fSEmmanuel Vadot no-big-frame-no; 249c66ec88fSEmmanuel Vadot 250c66ec88fSEmmanuel Vadot interrupt-parent = <&periph_intc>; 251c66ec88fSEmmanuel Vadot interrupts = <9>; 252c66ec88fSEmmanuel Vadot 2532eb4d8dcSEmmanuel Vadot phys = <&usbh 0>; 2542eb4d8dcSEmmanuel Vadot phy-names = "usb"; 2552eb4d8dcSEmmanuel Vadot 2562eb4d8dcSEmmanuel Vadot status = "disabled"; 2572eb4d8dcSEmmanuel Vadot }; 2582eb4d8dcSEmmanuel Vadot 2592eb4d8dcSEmmanuel Vadot usbh: usb-phy@10002700 { 2602eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm63268-usbh-phy"; 2612eb4d8dcSEmmanuel Vadot reg = <0x10002700 0x38>; 2622eb4d8dcSEmmanuel Vadot #phy-cells = <1>; 2632eb4d8dcSEmmanuel Vadot 2642eb4d8dcSEmmanuel Vadot clocks = <&periph_clk BCM63268_CLK_USBH>; 2652eb4d8dcSEmmanuel Vadot clock-names = "usbh"; 2662eb4d8dcSEmmanuel Vadot 2672eb4d8dcSEmmanuel Vadot power-domains = <&periph_pwr BCM63268_POWER_DOMAIN_USBH>; 2682eb4d8dcSEmmanuel Vadot 2692eb4d8dcSEmmanuel Vadot resets = <&periph_rst BCM63268_RST_USBH>; 2702eb4d8dcSEmmanuel Vadot reset-names = "usbh"; 2712eb4d8dcSEmmanuel Vadot 272c66ec88fSEmmanuel Vadot status = "disabled"; 273c66ec88fSEmmanuel Vadot }; 274c66ec88fSEmmanuel Vadot }; 275c66ec88fSEmmanuel Vadot}; 276