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

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/marvell/mmp2.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*
  3  *  Copyright (C) 2012 Marvell Technology Group Ltd.
  4  *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
  5  */
  6 
  7 #include <dt-bindings/clock/marvell,mmp2.h>
  8 #include <dt-bindings/power/marvell,mmp2.h>
  9 #include <dt-bindings/clock/marvell,mmp2-audio.h>
 10 
 11 / {
 12         #address-cells = <1>;
 13         #size-cells = <1>;
 14 
 15         aliases {
 16                 serial0 = &uart1;
 17                 serial1 = &uart2;
 18                 serial2 = &uart3;
 19                 serial3 = &uart4;
 20                 i2c0 = &twsi1;
 21                 i2c1 = &twsi2;
 22         };
 23 
 24         soc {
 25                 #address-cells = <1>;
 26                 #size-cells = <1>;
 27                 compatible = "simple-bus";
 28                 interrupt-parent = <&intc>;
 29                 ranges;
 30 
 31                 L2: l2-cache {
 32                         compatible = "marvell,tauros2-cache";
 33                         marvell,tauros2-cache-features = <0x3>;
 34                 };
 35 
 36                 axi@d4200000 {  /* AXI */
 37                         compatible = "mrvl,axi-bus", "simple-bus";
 38                         #address-cells = <1>;
 39                         #size-cells = <1>;
 40                         reg = <0xd4200000 0x00200000>;
 41                         ranges;
 42 
 43                         gpu: gpu@d420d000 {
 44                                 compatible = "vivante,gc";
 45                                 reg = <0xd420d000 0x4000>;
 46                                 interrupts = <8>;
 47                                 status = "disabled";
 48                                 clocks = <&soc_clocks MMP2_CLK_GPU_3D>,
 49                                          <&soc_clocks MMP2_CLK_GPU_BUS>;
 50                                 clock-names = "core", "bus";
 51                                 power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>;
 52                         };
 53 
 54                         intc: interrupt-controller@d4282000 {
 55                                 compatible = "mrvl,mmp2-intc";
 56                                 interrupt-controller;
 57                                 #interrupt-cells = <1>;
 58                                 reg = <0xd4282000 0x1000>;
 59                                 mrvl,intc-nr-irqs = <64>;
 60                         };
 61 
 62                         intcmux4: interrupt-controller@d4282150 {
 63                                 compatible = "mrvl,mmp2-mux-intc";
 64                                 interrupts = <4>;
 65                                 interrupt-controller;
 66                                 #interrupt-cells = <1>;
 67                                 reg = <0x150 0x4>, <0x168 0x4>;
 68                                 reg-names = "mux status", "mux mask";
 69                                 mrvl,intc-nr-irqs = <2>;
 70                         };
 71 
 72                         intcmux5: interrupt-controller@d4282154 {
 73                                 compatible = "mrvl,mmp2-mux-intc";
 74                                 interrupts = <5>;
 75                                 interrupt-controller;
 76                                 #interrupt-cells = <1>;
 77                                 reg = <0x154 0x4>, <0x16c 0x4>;
 78                                 reg-names = "mux status", "mux mask";
 79                                 mrvl,intc-nr-irqs = <2>;
 80                                 mrvl,clr-mfp-irq = <1>;
 81                         };
 82 
 83                         intcmux9: interrupt-controller@d4282180 {
 84                                 compatible = "mrvl,mmp2-mux-intc";
 85                                 interrupts = <9>;
 86                                 interrupt-controller;
 87                                 #interrupt-cells = <1>;
 88                                 reg = <0x180 0x4>, <0x17c 0x4>;
 89                                 reg-names = "mux status", "mux mask";
 90                                 mrvl,intc-nr-irqs = <3>;
 91                         };
 92 
 93                         intcmux17: interrupt-controller@d4282158 {
 94                                 compatible = "mrvl,mmp2-mux-intc";
 95                                 interrupts = <17>;
 96                                 interrupt-controller;
 97                                 #interrupt-cells = <1>;
 98                                 reg = <0x158 0x4>, <0x170 0x4>;
 99                                 reg-names = "mux status", "mux mask";
100                                 mrvl,intc-nr-irqs = <5>;
101                         };
102 
103                         intcmux35: interrupt-controller@d428215c {
104                                 compatible = "mrvl,mmp2-mux-intc";
105                                 interrupts = <35>;
106                                 interrupt-controller;
107                                 #interrupt-cells = <1>;
108                                 reg = <0x15c 0x4>, <0x174 0x4>;
109                                 reg-names = "mux status", "mux mask";
110                                 mrvl,intc-nr-irqs = <15>;
111                         };
112 
113                         intcmux51: interrupt-controller@d4282160 {
114                                 compatible = "mrvl,mmp2-mux-intc";
115                                 interrupts = <51>;
116                                 interrupt-controller;
117                                 #interrupt-cells = <1>;
118                                 reg = <0x160 0x4>, <0x178 0x4>;
119                                 reg-names = "mux status", "mux mask";
120                                 mrvl,intc-nr-irqs = <2>;
121                         };
122 
123                         intcmux55: interrupt-controller@d4282188 {
124                                 compatible = "mrvl,mmp2-mux-intc";
125                                 interrupts = <55>;
126                                 interrupt-controller;
127                                 #interrupt-cells = <1>;
128                                 reg = <0x188 0x4>, <0x184 0x4>;
129                                 reg-names = "mux status", "mux mask";
130                                 mrvl,intc-nr-irqs = <2>;
131                         };
132 
133                         usb_phy0: usb-phy@d4207000 {
134                                 compatible = "marvell,mmp2-usb-phy";
135                                 reg = <0xd4207000 0x40>;
136                                 #phy-cells = <0>;
137                                 status = "disabled";
138                         };
139 
140                         usb_otg0: usb-otg@d4208000 {
141                                 compatible = "marvell,pxau2o-ehci";
142                                 reg = <0xd4208000 0x200>;
143                                 interrupts = <44>;
144                                 clocks = <&soc_clocks MMP2_CLK_USB>;
145                                 clock-names = "USBCLK";
146                                 phys = <&usb_phy0>;
147                                 phy-names = "usb";
148                                 status = "disabled";
149                         };
150 
151                         mmc1: mmc@d4280000 {
152                                 compatible = "mrvl,pxav3-mmc";
153                                 reg = <0xd4280000 0x120>;
154                                 clocks = <&soc_clocks MMP2_CLK_SDH0>;
155                                 clock-names = "io";
156                                 interrupts = <39>;
157                                 status = "disabled";
158                         };
159 
160                         mmc2: mmc@d4280800 {
161                                 compatible = "mrvl,pxav3-mmc";
162                                 reg = <0xd4280800 0x120>;
163                                 clocks = <&soc_clocks MMP2_CLK_SDH1>;
164                                 clock-names = "io";
165                                 interrupts = <52>;
166                                 status = "disabled";
167                         };
168 
169                         mmc3: mmc@d4281000 {
170                                 compatible = "mrvl,pxav3-mmc";
171                                 reg = <0xd4281000 0x120>;
172                                 clocks = <&soc_clocks MMP2_CLK_SDH2>;
173                                 clock-names = "io";
174                                 interrupts = <53>;
175                                 status = "disabled";
176                         };
177 
178                         mmc4: mmc@d4281800 {
179                                 compatible = "mrvl,pxav3-mmc";
180                                 reg = <0xd4281800 0x120>;
181                                 clocks = <&soc_clocks MMP2_CLK_SDH3>;
182                                 clock-names = "io";
183                                 interrupts = <54>;
184                                 status = "disabled";
185                         };
186 
187                         camera0: camera@d420a000 {
188                                 compatible = "marvell,mmp2-ccic";
189                                 reg = <0xd420a000 0x800>;
190                                 interrupts = <42>;
191                                 clocks = <&soc_clocks MMP2_CLK_CCIC0>;
192                                 clock-names = "axi";
193                                 #clock-cells = <0>;
194                                 clock-output-names = "mclk";
195                                 status = "disabled";
196                         };
197 
198                         camera1: camera@d420a800 {
199                                 compatible = "marvell,mmp2-ccic";
200                                 reg = <0xd420a800 0x800>;
201                                 interrupts = <30>;
202                                 clocks = <&soc_clocks MMP2_CLK_CCIC1>;
203                                 clock-names = "axi";
204                                 #clock-cells = <0>;
205                                 clock-output-names = "mclk";
206                                 status = "disabled";
207                         };
208 
209                         adma0: dma-controller@d42a0800 {
210                                 compatible = "marvell,adma-1.0";
211                                 reg = <0xd42a0800 0x100>;
212                                 interrupts = <48>;
213                                 #dma-cells = <1>;
214                                 asram = <&asram>;
215                                 iram = <&asram>;
216                                 status = "disabled";
217                         };
218 
219                         adma1: dma-controller@d42a0900 {
220                                 compatible = "marvell,adma-1.0";
221                                 reg = <0xd42a0900 0x100>;
222                                 interrupts = <48>;
223                                 #dma-cells = <1>;
224                                 status = "disabled";
225                         };
226 
227                         audio_clk: clocks@d42a0c30 {
228                                 compatible = "marvell,mmp2-audio-clock";
229                                 reg = <0xd42a0c30 0x10>;
230                                 clock-names = "audio", "vctcxo", "i2s0", "i2s1";
231                                 clocks = <&soc_clocks MMP2_CLK_AUDIO>,
232                                          <&soc_clocks MMP2_CLK_VCTCXO>,
233                                          <&soc_clocks MMP2_CLK_I2S0>,
234                                          <&soc_clocks MMP2_CLK_I2S1>;
235                                 power-domains = <&soc_clocks MMP2_POWER_DOMAIN_AUDIO>;
236                                 #clock-cells = <1>;
237                                 status = "disabled";
238                         };
239 
240                         sspa0: audio-controller@d42a0c00 {
241                                 compatible = "marvell,mmp-sspa";
242                                 reg = <0xd42a0c00 0x30>,
243                                       <0xd42a0c80 0x30>;
244                                 interrupts = <2>;
245                                 clock-names = "audio", "bitclk";
246                                 clocks = <&soc_clocks MMP2_CLK_AUDIO>,
247                                          <&audio_clk MMP2_CLK_AUDIO_SSPA0>;
248                                 power-domains = <&soc_clocks MMP2_POWER_DOMAIN_AUDIO>;
249                                 #sound-dai-cells = <0>;
250                                 status = "disabled";
251                         };
252 
253                         sspa1: audio-controller@d42a0d00 {
254                                 compatible = "marvell,mmp-sspa";
255                                 reg = <0xd42a0d00 0x30>,
256                                       <0xd42a0d80 0x30>;
257                                 interrupts = <3>;
258                                 clock-names = "audio", "bitclk";
259                                 clocks = <&soc_clocks MMP2_CLK_AUDIO>,
260                                          <&audio_clk MMP2_CLK_AUDIO_SSPA1>;
261                                 power-domains = <&soc_clocks MMP2_POWER_DOMAIN_AUDIO>;
262                                 #sound-dai-cells = <0>;
263                                 status = "disabled";
264                         };
265                 };
266 
267                 apb@d4000000 {  /* APB */
268                         compatible = "mrvl,apb-bus", "simple-bus";
269                         #address-cells = <1>;
270                         #size-cells = <1>;
271                         reg = <0xd4000000 0x00200000>;
272                         ranges;
273 
274                         dma-controller@d4000000 {
275                                 compatible = "marvell,pdma-1.0";
276                                 reg = <0xd4000000 0x10000>;
277                                 interrupts = <48>;
278                                 /* For backwards compatibility: */
279                                 #dma-channels = <16>;
280                                 dma-channels = <16>;
281                                 status = "disabled";
282                         };
283 
284                         timer0: timer@d4014000 {
285                                 compatible = "mrvl,mmp-timer";
286                                 reg = <0xd4014000 0x100>;
287                                 interrupts = <13>;
288                                 clocks = <&soc_clocks MMP2_CLK_TIMER>;
289                         };
290 
291                         uart1: serial@d4030000 {
292                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
293                                 reg = <0xd4030000 0x1000>;
294                                 interrupts = <27>;
295                                 clocks = <&soc_clocks MMP2_CLK_UART0>;
296                                 resets = <&soc_clocks MMP2_CLK_UART0>;
297                                 reg-shift = <2>;
298                                 status = "disabled";
299                         };
300 
301                         uart2: serial@d4017000 {
302                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
303                                 reg = <0xd4017000 0x1000>;
304                                 interrupts = <28>;
305                                 clocks = <&soc_clocks MMP2_CLK_UART1>;
306                                 resets = <&soc_clocks MMP2_CLK_UART1>;
307                                 reg-shift = <2>;
308                                 status = "disabled";
309                         };
310 
311                         uart3: serial@d4018000 {
312                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
313                                 reg = <0xd4018000 0x1000>;
314                                 interrupts = <24>;
315                                 clocks = <&soc_clocks MMP2_CLK_UART2>;
316                                 resets = <&soc_clocks MMP2_CLK_UART2>;
317                                 reg-shift = <2>;
318                                 status = "disabled";
319                         };
320 
321                         uart4: serial@d4016000 {
322                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
323                                 reg = <0xd4016000 0x1000>;
324                                 interrupts = <46>;
325                                 clocks = <&soc_clocks MMP2_CLK_UART3>;
326                                 resets = <&soc_clocks MMP2_CLK_UART3>;
327                                 reg-shift = <2>;
328                                 status = "disabled";
329                         };
330 
331                         gpio: gpio@d4019000 {
332                                 compatible = "marvell,mmp2-gpio";
333                                 #address-cells = <1>;
334                                 #size-cells = <1>;
335                                 reg = <0xd4019000 0x1000>;
336                                 gpio-controller;
337                                 #gpio-cells = <2>;
338                                 interrupts = <49>;
339                                 interrupt-names = "gpio_mux";
340                                 clocks = <&soc_clocks MMP2_CLK_GPIO>;
341                                 resets = <&soc_clocks MMP2_CLK_GPIO>;
342                                 interrupt-controller;
343                                 #interrupt-cells = <2>;
344                                 ranges;
345 
346                                 gcb0: gpio@d4019000 {
347                                         reg = <0xd4019000 0x4>;
348                                 };
349 
350                                 gcb1: gpio@d4019004 {
351                                         reg = <0xd4019004 0x4>;
352                                 };
353 
354                                 gcb2: gpio@d4019008 {
355                                         reg = <0xd4019008 0x4>;
356                                 };
357 
358                                 gcb3: gpio@d4019100 {
359                                         reg = <0xd4019100 0x4>;
360                                 };
361 
362                                 gcb4: gpio@d4019104 {
363                                         reg = <0xd4019104 0x4>;
364                                 };
365 
366                                 gcb5: gpio@d4019108 {
367                                         reg = <0xd4019108 0x4>;
368                                 };
369                         };
370 
371                         twsi1: i2c@d4011000 {
372                                 compatible = "mrvl,mmp-twsi";
373                                 reg = <0xd4011000 0x1000>;
374                                 interrupts = <7>;
375                                 clocks = <&soc_clocks MMP2_CLK_TWSI0>;
376                                 resets = <&soc_clocks MMP2_CLK_TWSI0>;
377                                 #address-cells = <1>;
378                                 #size-cells = <0>;
379                                 mrvl,i2c-fast-mode;
380                                 status = "disabled";
381                         };
382 
383                         twsi2: i2c@d4031000 {
384                                 compatible = "mrvl,mmp-twsi";
385                                 reg = <0xd4031000 0x1000>;
386                                 interrupt-parent = <&intcmux17>;
387                                 interrupts = <0>;
388                                 clocks = <&soc_clocks MMP2_CLK_TWSI1>;
389                                 resets = <&soc_clocks MMP2_CLK_TWSI1>;
390                                 #address-cells = <1>;
391                                 #size-cells = <0>;
392                                 status = "disabled";
393                         };
394 
395                         twsi3: i2c@d4032000 {
396                                 compatible = "mrvl,mmp-twsi";
397                                 reg = <0xd4032000 0x1000>;
398                                 interrupt-parent = <&intcmux17>;
399                                 interrupts = <1>;
400                                 clocks = <&soc_clocks MMP2_CLK_TWSI2>;
401                                 resets = <&soc_clocks MMP2_CLK_TWSI2>;
402                                 #address-cells = <1>;
403                                 #size-cells = <0>;
404                                 status = "disabled";
405                         };
406 
407                         twsi4: i2c@d4033000 {
408                                 compatible = "mrvl,mmp-twsi";
409                                 reg = <0xd4033000 0x1000>;
410                                 interrupt-parent = <&intcmux17>;
411                                 interrupts = <2>;
412                                 clocks = <&soc_clocks MMP2_CLK_TWSI3>;
413                                 resets = <&soc_clocks MMP2_CLK_TWSI3>;
414                                 #address-cells = <1>;
415                                 #size-cells = <0>;
416                                 status = "disabled";
417                         };
418 
419 
420                         twsi5: i2c@d4033800 {
421                                 compatible = "mrvl,mmp-twsi";
422                                 reg = <0xd4033800 0x1000>;
423                                 interrupt-parent = <&intcmux17>;
424                                 interrupts = <3>;
425                                 clocks = <&soc_clocks MMP2_CLK_TWSI4>;
426                                 resets = <&soc_clocks MMP2_CLK_TWSI4>;
427                                 #address-cells = <1>;
428                                 #size-cells = <0>;
429                                 status = "disabled";
430                         };
431 
432                         twsi6: i2c@d4034000 {
433                                 compatible = "mrvl,mmp-twsi";
434                                 reg = <0xd4034000 0x1000>;
435                                 interrupt-parent = <&intcmux17>;
436                                 interrupts = <4>;
437                                 clocks = <&soc_clocks MMP2_CLK_TWSI5>;
438                                 resets = <&soc_clocks MMP2_CLK_TWSI5>;
439                                 #address-cells = <1>;
440                                 #size-cells = <0>;
441                                 status = "disabled";
442                         };
443 
444                         rtc: rtc@d4010000 {
445                                 compatible = "mrvl,mmp-rtc";
446                                 reg = <0xd4010000 0x1000>;
447                                 interrupts = <1>, <0>;
448                                 interrupt-names = "rtc 1Hz", "rtc alarm";
449                                 interrupt-parent = <&intcmux5>;
450                                 clocks = <&soc_clocks MMP2_CLK_RTC>;
451                                 resets = <&soc_clocks MMP2_CLK_RTC>;
452                                 status = "disabled";
453                         };
454 
455                         ssp1: spi@d4035000 {
456                                 compatible = "marvell,mmp2-ssp";
457                                 reg = <0xd4035000 0x1000>;
458                                 clocks = <&soc_clocks MMP2_CLK_SSP0>;
459                                 interrupts = <0>;
460                                 #address-cells = <1>;
461                                 #size-cells = <0>;
462                                 status = "disabled";
463                         };
464 
465                         ssp2: spi@d4036000 {
466                                 compatible = "marvell,mmp2-ssp";
467                                 reg = <0xd4036000 0x1000>;
468                                 clocks = <&soc_clocks MMP2_CLK_SSP1>;
469                                 interrupts = <1>;
470                                 #address-cells = <1>;
471                                 #size-cells = <0>;
472                                 status = "disabled";
473                         };
474 
475                         ssp3: spi@d4037000 {
476                                 compatible = "marvell,mmp2-ssp";
477                                 reg = <0xd4037000 0x1000>;
478                                 clocks = <&soc_clocks MMP2_CLK_SSP2>;
479                                 interrupts = <20>;
480                                 #address-cells = <1>;
481                                 #size-cells = <0>;
482                                 status = "disabled";
483                         };
484 
485                         ssp4: spi@d4039000 {
486                                 compatible = "marvell,mmp2-ssp";
487                                 reg = <0xd4039000 0x1000>;
488                                 clocks = <&soc_clocks MMP2_CLK_SSP3>;
489                                 interrupts = <21>;
490                                 #address-cells = <1>;
491                                 #size-cells = <0>;
492                                 status = "disabled";
493                         };
494                 };
495 
496                 asram: sram@e0000000 {
497                         compatible = "mmio-sram";
498                         reg = <0xe0000000 0x10000>;
499                         ranges = <0 0xe0000000 0x10000>;
500                         #address-cells = <1>;
501                         #size-cells = <1>;
502                         status = "disabled";
503                 };
504 
505                 soc_clocks: clocks {
506                         compatible = "marvell,mmp2-clock";
507                         reg = <0xd4050000 0x2000>,
508                               <0xd4282800 0x400>,
509                               <0xd4015000 0x1000>;
510                         reg-names = "mpmu", "apmu", "apbc";
511                         #clock-cells = <1>;
512                         #reset-cells = <1>;
513                         #power-domain-cells = <1>;
514                 };
515         };
516 };

~ [ 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