Merge tag 'pull-30nov18' of git://git.denx.de/u-boot-dm
[oweals/u-boot.git] / arch / mips / dts / brcm,bcm6318.dtsi
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2018 Álvaro Fernández Rojas <noltari@gmail.com>
4  */
5
6 #include <dt-bindings/clock/bcm6318-clock.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/power-domain/bcm6318-power-domain.h>
9 #include <dt-bindings/reset/bcm6318-reset.h>
10 #include "skeleton.dtsi"
11
12 / {
13         compatible = "brcm,bcm6318";
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,bcm6318-cpu", "mips,mips4Kc";
27                         device_type = "cpu";
28                         reg = <0>;
29                         u-boot,dm-pre-reloc;
30                 };
31         };
32
33         clocks {
34                 compatible = "simple-bus";
35                 #address-cells = <1>;
36                 #size-cells = <1>;
37                 u-boot,dm-pre-reloc;
38
39                 hsspi_pll: hsspi-pll {
40                         compatible = "fixed-clock";
41                         #clock-cells = <0>;
42                         clock-frequency = <250000000>;
43                 };
44
45                 periph_osc: periph-osc {
46                         compatible = "fixed-clock";
47                         #clock-cells = <0>;
48                         clock-frequency = <50000000>;
49                         u-boot,dm-pre-reloc;
50                 };
51
52                 periph_clk: periph-clk {
53                         compatible = "brcm,bcm6345-clk";
54                         reg = <0x10000004 0x4>;
55                         #clock-cells = <1>;
56                 };
57         };
58
59         ubus {
60                 compatible = "simple-bus";
61                 #address-cells = <1>;
62                 #size-cells = <1>;
63                 u-boot,dm-pre-reloc;
64
65                 periph_rst: reset-controller@10000010 {
66                         compatible = "brcm,bcm6345-reset";
67                         reg = <0x10000010 0x4>;
68                         #reset-cells = <1>;
69                 };
70
71                 wdt: watchdog@10000068 {
72                         compatible = "brcm,bcm6345-wdt";
73                         reg = <0x10000068 0xc>;
74                         clocks = <&periph_osc>;
75                 };
76
77                 wdt-reboot {
78                         compatible = "wdt-reboot";
79                         wdt = <&wdt>;
80                 };
81
82                 pll_cntl: syscon@10000074 {
83                         compatible = "syscon";
84                         reg = <0x10000074 0x4>;
85                 };
86
87                 syscon-reboot {
88                         compatible = "syscon-reboot";
89                         regmap = <&pll_cntl>;
90                         offset = <0x0>;
91                         mask = <0x1>;
92                 };
93
94                 gpio1: gpio-controller@10000080 {
95                         compatible = "brcm,bcm6345-gpio";
96                         reg = <0x10000080 0x4>, <0x10000088 0x4>;
97                         gpio-controller;
98                         #gpio-cells = <2>;
99                         ngpios = <18>;
100
101                         status = "disabled";
102                 };
103
104                 gpio0: gpio-controller@10000084 {
105                         compatible = "brcm,bcm6345-gpio";
106                         reg = <0x10000084 0x4>, <0x1000008c 0x4>;
107                         gpio-controller;
108                         #gpio-cells = <2>;
109
110                         status = "disabled";
111                 };
112
113                 uart0: serial@10000100 {
114                         compatible = "brcm,bcm6345-uart";
115                         reg = <0x10000100 0x18>;
116                         clocks = <&periph_osc>;
117
118                         status = "disabled";
119                 };
120
121                 leds: led-controller@10000200 {
122                         compatible = "brcm,bcm6328-leds";
123                         reg = <0x10000200 0x28>;
124                         #address-cells = <1>;
125                         #size-cells = <0>;
126
127                         status = "disabled";
128                 };
129
130                 periph_pwr: power-controller@100008e8 {
131                         compatible = "brcm,bcm6328-power-domain";
132                         reg = <0x100008e8 0x4>;
133                         #power-domain-cells = <1>;
134                 };
135
136                 spi: spi@10003000 {
137                         compatible = "brcm,bcm6328-hsspi";
138                         #address-cells = <1>;
139                         #size-cells = <0>;
140                         reg = <0x10003000 0x600>;
141                         clocks = <&periph_clk BCM6318_CLK_HSSPI>, <&hsspi_pll>;
142                         clock-names = "hsspi", "pll";
143                         resets = <&periph_rst BCM6318_RST_SPI>;
144                         spi-max-frequency = <33333334>;
145                         num-cs = <3>;
146
147                         status = "disabled";
148                 };
149
150                 memory-controller@10004000 {
151                         compatible = "brcm,bcm6318-mc";
152                         reg = <0x10004000 0x38>;
153                         u-boot,dm-pre-reloc;
154                 };
155
156                 ehci: usb-controller@10005000 {
157                         compatible = "brcm,bcm6318-ehci", "generic-ehci";
158                         reg = <0x10005000 0x100>;
159                         phys = <&usbh>;
160                         big-endian;
161
162                         status = "disabled";
163                 };
164
165                 ohci: usb-controller@10005100 {
166                         compatible = "brcm,bcm6318-ohci", "generic-ohci";
167                         reg = <0x10005100 0x100>;
168                         phys = <&usbh>;
169                         big-endian;
170
171                         status = "disabled";
172                 };
173
174                 usbh: usb-phy@10005200 {
175                         compatible = "brcm,bcm6318-usbh";
176                         reg = <0x10005200 0x30>;
177                         #phy-cells = <0>;
178                         clocks = <&periph_clk BCM6318_CLK_USB>;
179                         clock-names = "usbh";
180                         power-domains = <&periph_pwr BCM6318_PWR_USB>;
181                         resets = <&periph_rst BCM6318_RST_USBH>;
182
183                         status = "disabled";
184                 };
185         };
186 };