1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com> 4 */ 5 6#include <dt-bindings/clock/bcm6368-clock.h> 7#include <dt-bindings/dma/bcm6368-dma.h> 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/reset/bcm6368-reset.h> 10#include "skeleton.dtsi" 11 12/ { 13 compatible = "brcm,bcm6368"; 14 15 aliases { 16 spi0 = &spi; 17 }; 18 19 cpus { 20 reg = <0x10000000 0x4>; 21 #address-cells = <1>; 22 #size-cells = <0>; 23 u-boot,dm-pre-reloc; 24 25 cpu@0 { 26 compatible = "brcm,bcm6368-cpu", "mips,mips4Kc"; 27 device_type = "cpu"; 28 reg = <0>; 29 u-boot,dm-pre-reloc; 30 }; 31 32 cpu@1 { 33 compatible = "brcm,bcm6368-cpu", "mips,mips4Kc"; 34 device_type = "cpu"; 35 reg = <1>; 36 u-boot,dm-pre-reloc; 37 }; 38 }; 39 40 clocks { 41 compatible = "simple-bus"; 42 #address-cells = <1>; 43 #size-cells = <1>; 44 u-boot,dm-pre-reloc; 45 46 periph_osc: periph-osc { 47 compatible = "fixed-clock"; 48 #clock-cells = <0>; 49 clock-frequency = <50000000>; 50 u-boot,dm-pre-reloc; 51 }; 52 53 periph_clk: periph-clk { 54 compatible = "brcm,bcm6345-clk"; 55 reg = <0x10000004 0x4>; 56 #clock-cells = <1>; 57 }; 58 }; 59 60 pflash: nor@18000000 { 61 compatible = "cfi-flash"; 62 reg = <0x18000000 0x2000000>; 63 bank-width = <2>; 64 #address-cells = <1>; 65 #size-cells = <1>; 66 67 status = "disabled"; 68 }; 69 70 ubus { 71 compatible = "simple-bus"; 72 #address-cells = <1>; 73 #size-cells = <1>; 74 u-boot,dm-pre-reloc; 75 76 pll_cntl: syscon@10000008 { 77 compatible = "syscon"; 78 reg = <0x10000008 0x4>; 79 }; 80 81 syscon-reboot { 82 compatible = "syscon-reboot"; 83 regmap = <&pll_cntl>; 84 offset = <0x0>; 85 mask = <0x1>; 86 }; 87 88 periph_rst: reset-controller@10000010 { 89 compatible = "brcm,bcm6345-reset"; 90 reg = <0x10000010 0x4>; 91 #reset-cells = <1>; 92 }; 93 94 wdt: watchdog@1000005c { 95 compatible = "brcm,bcm6345-wdt"; 96 reg = <0x1000005c 0xc>; 97 clocks = <&periph_osc>; 98 }; 99 100 wdt-reboot { 101 compatible = "wdt-reboot"; 102 wdt = <&wdt>; 103 }; 104 105 gpio1: gpio-controller@10000080 { 106 compatible = "brcm,bcm6345-gpio"; 107 reg = <0x10000080 0x4>, <0x10000088 0x4>; 108 gpio-controller; 109 #gpio-cells = <2>; 110 ngpios = <6>; 111 112 status = "disabled"; 113 }; 114 115 gpio0: gpio-controller@10000084 { 116 compatible = "brcm,bcm6345-gpio"; 117 reg = <0x10000084 0x4>, <0x1000008c 0x4>; 118 gpio-controller; 119 #gpio-cells = <2>; 120 121 status = "disabled"; 122 }; 123 124 leds: led-controller@100000d0 { 125 compatible = "brcm,bcm6358-leds"; 126 reg = <0x100000d0 0x8>; 127 #address-cells = <1>; 128 #size-cells = <0>; 129 130 status = "disabled"; 131 }; 132 133 uart0: serial@10000100 { 134 compatible = "brcm,bcm6345-uart"; 135 reg = <0x10000100 0x18>; 136 clocks = <&periph_osc>; 137 138 status = "disabled"; 139 }; 140 141 uart1: serial@10000120 { 142 compatible = "brcm,bcm6345-uart"; 143 reg = <0x10000120 0x18>; 144 clocks = <&periph_osc>; 145 146 status = "disabled"; 147 }; 148 149 nand: nand-controller@10000200 { 150 #address-cells = <1>; 151 #size-cells = <0>; 152 compatible = "brcm,nand-bcm6368", 153 "brcm,brcmnand-v2.1", 154 "brcm,brcmnand"; 155 reg-names = "nand", 156 "nand-cache", 157 "nand-int-base"; 158 reg = <0x10000200 0x180>, 159 <0x10000600 0x200>, 160 <0x100000b0 0x10>; 161 clocks = <&periph_clk BCM6368_CLK_NAND>; 162 clock-names = "nand"; 163 164 status = "disabled"; 165 }; 166 167 spi: spi@10000800 { 168 compatible = "brcm,bcm6358-spi"; 169 reg = <0x10000800 0x70c>; 170 #address-cells = <1>; 171 #size-cells = <0>; 172 clocks = <&periph_clk BCM6368_CLK_SPI>; 173 resets = <&periph_rst BCM6368_RST_SPI>; 174 spi-max-frequency = <20000000>; 175 num-cs = <6>; 176 177 status = "disabled"; 178 }; 179 180 memory-controller@10001200 { 181 compatible = "brcm,bcm6358-mc"; 182 reg = <0x10001200 0x4c>; 183 u-boot,dm-pre-reloc; 184 }; 185 186 ehci: usb-controller@10001500 { 187 compatible = "brcm,bcm6368-ehci", "generic-ehci"; 188 reg = <0x10001500 0x100>; 189 phys = <&usbh>; 190 big-endian; 191 192 status = "disabled"; 193 }; 194 195 ohci: usb-controller@10001600 { 196 compatible = "brcm,bcm6368-ohci", "generic-ohci"; 197 reg = <0x10001600 0x100>; 198 phys = <&usbh>; 199 big-endian; 200 201 status = "disabled"; 202 }; 203 204 usbh: usb-phy@10001700 { 205 compatible = "brcm,bcm6368-usbh"; 206 reg = <0x10001700 0x38>; 207 #phy-cells = <0>; 208 clocks = <&periph_clk BCM6368_CLK_USBH>; 209 clock-names = "usbh"; 210 resets = <&periph_rst BCM6368_RST_USBH>; 211 212 status = "disabled"; 213 }; 214 215 iudma: dma-controller@10006800 { 216 compatible = "brcm,bcm6368-iudma"; 217 reg = <0x10006800 0x80>, 218 <0x10006a00 0x80>, 219 <0x10006c00 0x80>; 220 reg-names = "dma", 221 "dma-channels", 222 "dma-sram"; 223 #dma-cells = <1>; 224 dma-channels = <8>; 225 }; 226 227 enet: ethernet@10f00000 { 228 compatible = "brcm,bcm6368-enet"; 229 #address-cells = <1>; 230 #size-cells = <0>; 231 reg = <0x10f00000 0x10000>; 232 clocks = <&periph_clk BCM6368_CLK_SWPKT_USB>, 233 <&periph_clk BCM6368_CLK_SWPKT_SAR>, 234 <&periph_clk BCM6368_CLK_ROBOSW>; 235 resets = <&periph_rst BCM6368_RST_SWITCH>, 236 <&periph_rst BCM6368_RST_EPHY>; 237 dmas = <&iudma BCM6368_DMA_ENETSW_RX>, 238 <&iudma BCM6368_DMA_ENETSW_TX>; 239 dma-names = "rx", 240 "tx"; 241 brcm,num-ports = <6>; 242 243 status = "disabled"; 244 }; 245 }; 246}; 247