~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/boot/dts/ingenic/x1000.dtsi

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 #include <dt-bindings/clock/ingenic,tcu.h>
  3 #include <dt-bindings/clock/ingenic,x1000-cgu.h>
  4 #include <dt-bindings/dma/x1000-dma.h>
  5 
  6 / {
  7         #address-cells = <1>;
  8         #size-cells = <1>;
  9         compatible = "ingenic,x1000", "ingenic,x1000e";
 10 
 11         cpus {
 12                 #address-cells = <1>;
 13                 #size-cells = <0>;
 14 
 15                 cpu0: cpu@0 {
 16                         device_type = "cpu";
 17                         compatible = "ingenic,xburst-fpu1.0-mxu1.1";
 18                         reg = <0>;
 19 
 20                         clocks = <&cgu X1000_CLK_CPU>;
 21                         clock-names = "cpu";
 22                 };
 23         };
 24 
 25         cpuintc: interrupt-controller {
 26                 #address-cells = <0>;
 27                 #interrupt-cells = <1>;
 28                 interrupt-controller;
 29                 compatible = "mti,cpu-interrupt-controller";
 30         };
 31 
 32         intc: interrupt-controller@10001000 {
 33                 compatible = "ingenic,x1000-intc", "ingenic,jz4780-intc";
 34                 reg = <0x10001000 0x50>;
 35 
 36                 interrupt-controller;
 37                 #interrupt-cells = <1>;
 38 
 39                 interrupt-parent = <&cpuintc>;
 40                 interrupts = <2>;
 41         };
 42 
 43         exclk: ext {
 44                 compatible = "fixed-clock";
 45                 #clock-cells = <0>;
 46         };
 47 
 48         rtclk: rtc {
 49                 compatible = "fixed-clock";
 50                 #clock-cells = <0>;
 51                 clock-frequency = <32768>;
 52         };
 53 
 54         cgu: x1000-cgu@10000000 {
 55                 compatible = "ingenic,x1000-cgu", "simple-mfd";
 56                 reg = <0x10000000 0x100>;
 57                 #address-cells = <1>;
 58                 #size-cells = <1>;
 59                 ranges = <0x0 0x10000000 0x100>;
 60 
 61                 #clock-cells = <1>;
 62 
 63                 clocks = <&exclk>, <&rtclk>;
 64                 clock-names = "ext", "rtc";
 65 
 66                 otg_phy: usb-phy@3c {
 67                         compatible = "ingenic,x1000-phy";
 68                         reg = <0x3c 0x10>;
 69 
 70                         clocks = <&cgu X1000_CLK_OTGPHY>;
 71 
 72                         #phy-cells = <0>;
 73 
 74                         status = "disabled";
 75                 };
 76 
 77                 rng: rng@d8 {
 78                         compatible = "ingenic,x1000-rng";
 79                         reg = <0xd8 0x8>;
 80 
 81                         status = "disabled";
 82                 };
 83 
 84                 mac_phy_ctrl: mac-phy-ctrl@e8 {
 85                         compatible = "syscon";
 86                         reg = <0xe8 0x4>;
 87                 };
 88         };
 89 
 90         ost: timer@12000000 {
 91                 compatible = "ingenic,x1000-ost";
 92                 reg = <0x12000000 0x3c>;
 93 
 94                 #clock-cells = <1>;
 95 
 96                 clocks = <&cgu X1000_CLK_OST>;
 97                 clock-names = "ost";
 98 
 99                 interrupt-parent = <&cpuintc>;
100                 interrupts = <3>;
101         };
102 
103         tcu: timer@10002000 {
104                 compatible = "ingenic,x1000-tcu", "simple-mfd";
105                 reg = <0x10002000 0x1000>;
106                 #address-cells = <1>;
107                 #size-cells = <1>;
108                 ranges = <0x0 0x10002000 0x1000>;
109 
110                 #clock-cells = <1>;
111 
112                 clocks = <&cgu X1000_CLK_RTCLK>,
113                          <&cgu X1000_CLK_EXCLK>,
114                          <&cgu X1000_CLK_PCLK>,
115                          <&cgu X1000_CLK_TCU>;
116                 clock-names = "rtc", "ext", "pclk", "tcu";
117 
118                 interrupt-controller;
119                 #interrupt-cells = <1>;
120 
121                 interrupt-parent = <&intc>;
122                 interrupts = <27 26 25>;
123 
124                 wdt: watchdog@0 {
125                         compatible = "ingenic,x1000-watchdog", "ingenic,jz4780-watchdog";
126                         reg = <0x0 0x10>;
127 
128                         clocks = <&tcu TCU_CLK_WDT>;
129                         clock-names = "wdt";
130                 };
131 
132                 pwm: pwm@40 {
133                         compatible = "ingenic,x1000-pwm";
134                         reg = <0x40 0x50>;
135 
136                         #pwm-cells = <3>;
137 
138                         clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
139                                  <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
140                                  <&tcu TCU_CLK_TIMER4>;
141                         clock-names = "timer0", "timer1", "timer2", "timer3", "timer4";
142                 };
143         };
144 
145         rtc: rtc@10003000 {
146                 compatible = "ingenic,x1000-rtc", "ingenic,jz4780-rtc";
147                 reg = <0x10003000 0x4c>;
148 
149                 interrupt-parent = <&intc>;
150                 interrupts = <32>;
151 
152                 clocks = <&cgu X1000_CLK_RTCLK>;
153                 clock-names = "rtc";
154         };
155 
156         pinctrl: pin-controller@10010000 {
157                 compatible = "ingenic,x1000-pinctrl";
158                 reg = <0x10010000 0x800>;
159                 #address-cells = <1>;
160                 #size-cells = <0>;
161 
162                 gpa: gpio@0 {
163                         compatible = "ingenic,x1000-gpio";
164                         reg = <0>;
165 
166                         gpio-controller;
167                         gpio-ranges = <&pinctrl 0 0 32>;
168                         #gpio-cells = <2>;
169 
170                         interrupt-controller;
171                         #interrupt-cells = <2>;
172 
173                         interrupt-parent = <&intc>;
174                         interrupts = <17>;
175                 };
176 
177                 gpb: gpio@1 {
178                         compatible = "ingenic,x1000-gpio";
179                         reg = <1>;
180 
181                         gpio-controller;
182                         gpio-ranges = <&pinctrl 0 32 32>;
183                         #gpio-cells = <2>;
184 
185                         interrupt-controller;
186                         #interrupt-cells = <2>;
187 
188                         interrupt-parent = <&intc>;
189                         interrupts = <16>;
190                 };
191 
192                 gpc: gpio@2 {
193                         compatible = "ingenic,x1000-gpio";
194                         reg = <2>;
195 
196                         gpio-controller;
197                         gpio-ranges = <&pinctrl 0 64 32>;
198                         #gpio-cells = <2>;
199 
200                         interrupt-controller;
201                         #interrupt-cells = <2>;
202 
203                         interrupt-parent = <&intc>;
204                         interrupts = <15>;
205                 };
206 
207                 gpd: gpio@3 {
208                         compatible = "ingenic,x1000-gpio";
209                         reg = <3>;
210 
211                         gpio-controller;
212                         gpio-ranges = <&pinctrl 0 96 32>;
213                         #gpio-cells = <2>;
214 
215                         interrupt-controller;
216                         #interrupt-cells = <2>;
217 
218                         interrupt-parent = <&intc>;
219                         interrupts = <14>;
220                 };
221         };
222 
223         uart0: serial@10030000 {
224                 compatible = "ingenic,x1000-uart";
225                 reg = <0x10030000 0x100>;
226 
227                 interrupt-parent = <&intc>;
228                 interrupts = <51>;
229 
230                 clocks = <&exclk>, <&cgu X1000_CLK_UART0>;
231                 clock-names = "baud", "module";
232 
233                 status = "disabled";
234         };
235 
236         uart1: serial@10031000 {
237                 compatible = "ingenic,x1000-uart";
238                 reg = <0x10031000 0x100>;
239 
240                 interrupt-parent = <&intc>;
241                 interrupts = <50>;
242 
243                 clocks = <&exclk>, <&cgu X1000_CLK_UART1>;
244                 clock-names = "baud", "module";
245 
246                 status = "disabled";
247         };
248 
249         uart2: serial@10032000 {
250                 compatible = "ingenic,x1000-uart";
251                 reg = <0x10032000 0x100>;
252 
253                 interrupt-parent = <&intc>;
254                 interrupts = <49>;
255 
256                 clocks = <&exclk>, <&cgu X1000_CLK_UART2>;
257                 clock-names = "baud", "module";
258 
259                 status = "disabled";
260         };
261 
262         ssi: spi@10043000 {
263                 compatible = "ingenic,x1000-spi";
264                 reg = <0x10043000 0x20>;
265                 #address-cells = <1>;
266                 #size-cells = <0>;
267 
268                 interrupt-parent = <&intc>;
269                 interrupts = <8>;
270 
271                 clocks = <&cgu X1000_CLK_SSI>;
272                 clock-names = "spi";
273 
274                 dmas = <&pdma X1000_DMA_SSI0_RX 0xffffffff>,
275                            <&pdma X1000_DMA_SSI0_TX 0xffffffff>;
276                 dma-names = "rx", "tx";
277 
278                 status = "disabled";
279         };
280 
281         i2c0: i2c-controller@10050000 {
282                 compatible = "ingenic,x1000-i2c";
283                 reg = <0x10050000 0x1000>;
284                 #address-cells = <1>;
285                 #size-cells = <0>;
286 
287                 interrupt-parent = <&intc>;
288                 interrupts = <60>;
289 
290                 clocks = <&cgu X1000_CLK_I2C0>;
291 
292                 status = "disabled";
293         };
294 
295         i2c1: i2c-controller@10051000 {
296                 compatible = "ingenic,x1000-i2c";
297                 reg = <0x10051000 0x1000>;
298                 #address-cells = <1>;
299                 #size-cells = <0>;
300 
301                 interrupt-parent = <&intc>;
302                 interrupts = <59>;
303 
304                 clocks = <&cgu X1000_CLK_I2C1>;
305 
306                 status = "disabled";
307         };
308 
309         i2c2: i2c-controller@10052000 {
310                 compatible = "ingenic,x1000-i2c";
311                 reg = <0x10052000 0x1000>;
312                 #address-cells = <1>;
313                 #size-cells = <0>;
314 
315                 interrupt-parent = <&intc>;
316                 interrupts = <58>;
317 
318                 clocks = <&cgu X1000_CLK_I2C2>;
319 
320                 status = "disabled";
321         };
322 
323         pdma: dma-controller@13420000 {
324                 compatible = "ingenic,x1000-dma";
325                 reg = <0x13420000 0x400>, <0x13421000 0x40>;
326 
327                 #dma-cells = <2>;
328 
329                 interrupt-parent = <&intc>;
330                 interrupts = <10>;
331 
332                 clocks = <&cgu X1000_CLK_PDMA>;
333         };
334 
335         msc0: mmc@13450000 {
336                 compatible = "ingenic,x1000-mmc";
337                 reg = <0x13450000 0x1000>;
338 
339                 interrupt-parent = <&intc>;
340                 interrupts = <37>;
341 
342                 clocks = <&cgu X1000_CLK_MSC0>;
343                 clock-names = "mmc";
344 
345                 cap-sd-highspeed;
346                 cap-mmc-highspeed;
347                 cap-sdio-irq;
348 
349                 dmas = <&pdma X1000_DMA_MSC0_RX 0xffffffff>,
350                            <&pdma X1000_DMA_MSC0_TX 0xffffffff>;
351                 dma-names = "rx", "tx";
352 
353                 status = "disabled";
354         };
355 
356         msc1: mmc@13460000 {
357                 compatible = "ingenic,x1000-mmc";
358                 reg = <0x13460000 0x1000>;
359 
360                 interrupt-parent = <&intc>;
361                 interrupts = <36>;
362 
363                 clocks = <&cgu X1000_CLK_MSC1>;
364                 clock-names = "mmc";
365 
366                 cap-sd-highspeed;
367                 cap-mmc-highspeed;
368                 cap-sdio-irq;
369 
370                 dmas = <&pdma X1000_DMA_MSC1_RX 0xffffffff>,
371                            <&pdma X1000_DMA_MSC1_TX 0xffffffff>;
372                 dma-names = "rx", "tx";
373 
374                 status = "disabled";
375         };
376 
377         mac: ethernet@134b0000 {
378                 compatible = "ingenic,x1000-mac", "snps,dwmac";
379                 reg = <0x134b0000 0x2000>;
380 
381                 interrupt-parent = <&intc>;
382                 interrupts = <55>;
383                 interrupt-names = "macirq";
384 
385                 clocks = <&cgu X1000_CLK_MAC>;
386                 clock-names = "stmmaceth";
387 
388                 mode-reg = <&mac_phy_ctrl>;
389 
390                 status = "disabled";
391 
392                 mdio: mdio {
393                         compatible = "snps,dwmac-mdio";
394                         #address-cells = <1>;
395                         #size-cells = <0>;
396 
397                         status = "disabled";
398                 };
399         };
400 
401         otg: usb@13500000 {
402                 compatible = "ingenic,x1000-otg";
403                 reg = <0x13500000 0x40000>;
404 
405                 interrupt-parent = <&intc>;
406                 interrupts = <21>;
407 
408                 clocks = <&cgu X1000_CLK_OTG>;
409                 clock-names = "otg";
410 
411                 phys = <&otg_phy>;
412                 phy-names = "usb2-phy";
413 
414                 g-rx-fifo-size = <768>;
415                 g-np-tx-fifo-size = <256>;
416                 g-tx-fifo-size = <256 256 256 256 256 256 256 512>;
417 
418                 status = "disabled";
419         };
420 
421         aic: audio-controller@10020000 {
422                 compatible = "ingenic,x1000-i2s";
423                 reg = <0x10020000 0x38>;
424 
425                 #sound-dai-cells = <0>;
426 
427                 interrupt-parent = <&intc>;
428                 interrupts = <1>;
429 
430                 clocks = <&cgu X1000_CLK_AIC>,
431                          <&cgu X1000_CLK_I2S>;
432                 clock-names = "aic", "i2s";
433 
434                 dmas = <&pdma X1000_DMA_I2S0_RX 0xffffffff>,
435                            <&pdma X1000_DMA_I2S0_TX 0xffffffff>;
436                 dma-names = "rx", "tx";
437         };
438 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php