0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 #include "dt-bindings/clock/bcm6328-clock.h"
0004 #include "dt-bindings/reset/bcm6328-reset.h"
0005 #include "dt-bindings/soc/bcm6328-pm.h"
0006
0007 / {
0008 #address-cells = <1>;
0009 #size-cells = <1>;
0010 compatible = "brcm,bcm6328";
0011
0012 cpus {
0013 #address-cells = <1>;
0014 #size-cells = <0>;
0015
0016 mips-hpt-frequency = <160000000>;
0017
0018 cpu@0 {
0019 compatible = "brcm,bmips4350";
0020 device_type = "cpu";
0021 reg = <0>;
0022 };
0023
0024 cpu@1 {
0025 compatible = "brcm,bmips4350";
0026 device_type = "cpu";
0027 reg = <1>;
0028 };
0029 };
0030
0031 clocks {
0032 periph_osc: periph-osc {
0033 compatible = "fixed-clock";
0034 #clock-cells = <0>;
0035 clock-frequency = <50000000>;
0036 clock-output-names = "periph";
0037 };
0038
0039 hsspi_osc: hsspi-osc {
0040 compatible = "fixed-clock";
0041 #clock-cells = <0>;
0042 clock-frequency = <133333333>;
0043 clock-output-names = "hsspi_osc";
0044 };
0045 };
0046
0047 aliases {
0048 nflash = &nflash;
0049 serial0 = &uart0;
0050 serial1 = &uart1;
0051 spi1 = &hsspi;
0052 };
0053
0054 cpu_intc: interrupt-controller {
0055 #address-cells = <0>;
0056 compatible = "mti,cpu-interrupt-controller";
0057
0058 interrupt-controller;
0059 #interrupt-cells = <1>;
0060 };
0061
0062 ubus {
0063 #address-cells = <1>;
0064 #size-cells = <1>;
0065
0066 compatible = "simple-bus";
0067 ranges;
0068
0069 periph_clk: clock-controller@10000004 {
0070 compatible = "brcm,bcm6328-clocks";
0071 reg = <0x10000004 0x4>;
0072 #clock-cells = <1>;
0073 };
0074
0075 periph_rst: reset-controller@10000010 {
0076 compatible = "brcm,bcm6345-reset";
0077 reg = <0x10000010 0x4>;
0078 #reset-cells = <1>;
0079 };
0080
0081 periph_intc: interrupt-controller@10000020 {
0082 compatible = "brcm,bcm6345-l1-intc";
0083 reg = <0x10000020 0x10>,
0084 <0x10000030 0x10>;
0085
0086 interrupt-controller;
0087 #interrupt-cells = <1>;
0088
0089 interrupt-parent = <&cpu_intc>;
0090 interrupts = <2>, <3>;
0091 };
0092
0093 wdt: watchdog@1000005c {
0094 compatible = "brcm,bcm7038-wdt";
0095 reg = <0x1000005c 0xc>;
0096
0097 clocks = <&periph_osc>;
0098 clock-names = "refclk";
0099
0100 timeout-sec = <30>;
0101 };
0102
0103 soft_reset: syscon@10000068 {
0104 compatible = "syscon";
0105 reg = <0x10000068 0x4>;
0106 native-endian;
0107
0108 reboot {
0109 compatible = "syscon-reboot";
0110 offset = <0x0>;
0111 mask = <0x1>;
0112 };
0113 };
0114
0115 uart0: serial@10000100 {
0116 compatible = "brcm,bcm6345-uart";
0117 reg = <0x10000100 0x18>;
0118
0119 interrupt-parent = <&periph_intc>;
0120 interrupts = <28>;
0121
0122 clocks = <&periph_osc>;
0123 clock-names = "refclk";
0124
0125 status = "disabled";
0126 };
0127
0128 uart1: serial@10000120 {
0129 compatible = "brcm,bcm6345-uart";
0130 reg = <0x10000120 0x18>;
0131
0132 interrupt-parent = <&periph_intc>;
0133 interrupts = <39>;
0134
0135 clocks = <&periph_osc>;
0136 clock-names = "refclk";
0137
0138 status = "disabled";
0139 };
0140
0141 nflash: nand@10000200 {
0142 #address-cells = <1>;
0143 #size-cells = <0>;
0144 compatible = "brcm,nand-bcm6368",
0145 "brcm,brcmnand-v2.2",
0146 "brcm,brcmnand";
0147 reg = <0x10000200 0x180>,
0148 <0x10000400 0x200>,
0149 <0x10000070 0x10>;
0150 reg-names = "nand",
0151 "nand-cache",
0152 "nand-int-base";
0153
0154 interrupt-parent = <&periph_intc>;
0155 interrupts = <0>;
0156
0157 status = "disabled";
0158 };
0159
0160 leds0: led-controller@10000800 {
0161 #address-cells = <1>;
0162 #size-cells = <0>;
0163 compatible = "brcm,bcm6328-leds";
0164 reg = <0x10000800 0x24>;
0165
0166 status = "disabled";
0167 };
0168
0169 hsspi: spi@10001000 {
0170 #address-cells = <1>;
0171 #size-cells = <0>;
0172 compatible = "brcm,bcm6328-hsspi";
0173 reg = <0x10001000 0x600>;
0174
0175 interrupt-parent = <&periph_intc>;
0176 interrupts = <29>;
0177
0178 clocks = <&periph_clk BCM6328_CLK_HSSPI>,
0179 <&hsspi_osc>;
0180 clock-names = "hsspi",
0181 "pll";
0182
0183 resets = <&periph_rst BCM6328_RST_SPI>;
0184 reset-names = "hsspi";
0185
0186 status = "disabled";
0187 };
0188
0189 periph_pwr: power-controller@10001848 {
0190 compatible = "brcm,bcm6328-power-controller";
0191 reg = <0x10001848 0x4>;
0192 #power-domain-cells = <1>;
0193 };
0194
0195 ehci: usb@10002500 {
0196 compatible = "brcm,bcm6328-ehci", "generic-ehci";
0197 reg = <0x10002500 0x100>;
0198 big-endian;
0199
0200 interrupt-parent = <&periph_intc>;
0201 interrupts = <42>;
0202
0203 phys = <&usbh 0>;
0204 phy-names = "usb";
0205
0206 status = "disabled";
0207 };
0208
0209 ohci: usb@10002600 {
0210 compatible = "brcm,bcm6328-ohci", "generic-ohci";
0211 reg = <0x10002600 0x100>;
0212 big-endian;
0213 no-big-frame-no;
0214
0215 interrupt-parent = <&periph_intc>;
0216 interrupts = <41>;
0217
0218 phys = <&usbh 0>;
0219 phy-names = "usb";
0220
0221 status = "disabled";
0222 };
0223
0224 usbh: usb-phy@10002700 {
0225 compatible = "brcm,bcm6328-usbh-phy";
0226 reg = <0x10002700 0x38>;
0227 #phy-cells = <1>;
0228
0229 clocks = <&periph_clk BCM6328_CLK_USBH>;
0230 clock-names = "usbh";
0231
0232 power-domains = <&periph_pwr BCM6328_POWER_DOMAIN_USBH>;
0233
0234 resets = <&periph_rst BCM6328_RST_USBH>;
0235 reset-names = "usbh";
0236
0237 status = "disabled";
0238 };
0239 };
0240 };