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

TOMOYO Linux Cross Reference
Linux/arch/mips/boot/dts/ralink/mt7621.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-only OR BSD-2-Clause)
  2 #include <dt-bindings/interrupt-controller/mips-gic.h>
  3 #include <dt-bindings/gpio/gpio.h>
  4 #include <dt-bindings/clock/mt7621-clk.h>
  5 #include <dt-bindings/reset/mt7621-reset.h>
  6 
  7 / {
  8         compatible = "mediatek,mt7621-soc";
  9 
 10         #address-cells = <1>;
 11         #size-cells = <1>;
 12 
 13         cpus {
 14                 #address-cells = <1>;
 15                 #size-cells = <0>;
 16 
 17                 cpu@0 {
 18                         compatible = "mips,mips1004Kc";
 19                         reg = <0>;
 20                         device_type = "cpu";
 21                 };
 22 
 23                 cpu@1 {
 24                         compatible = "mips,mips1004Kc";
 25                         reg = <1>;
 26                         device_type = "cpu";
 27                 };
 28         };
 29 
 30         cpuintc: cpuintc {
 31                 compatible = "mti,cpu-interrupt-controller";
 32 
 33                 #address-cells = <0>;
 34                 #interrupt-cells = <1>;
 35 
 36                 interrupt-controller;
 37         };
 38 
 39         mmc_fixed_3v3: regulator-3v3 {
 40                 compatible = "regulator-fixed";
 41 
 42                 enable-active-high;
 43 
 44                 regulator-always-on;
 45                 regulator-max-microvolt = <3300000>;
 46                 regulator-min-microvolt = <3300000>;
 47                 regulator-name = "mmc_power";
 48         };
 49 
 50         mmc_fixed_1v8_io: regulator-1v8 {
 51                 compatible = "regulator-fixed";
 52 
 53                 enable-active-high;
 54 
 55                 regulator-always-on;
 56                 regulator-max-microvolt = <1800000>;
 57                 regulator-min-microvolt = <1800000>;
 58                 regulator-name = "mmc_io";
 59         };
 60 
 61         pinctrl: pinctrl {
 62                 compatible = "ralink,mt7621-pinctrl";
 63 
 64                 i2c_pins: i2c0-pins {
 65                         pinmux {
 66                                 groups = "i2c";
 67                                 function = "i2c";
 68                         };
 69                 };
 70 
 71                 mdio_pins: mdio0-pins {
 72                         pinmux {
 73                                 groups = "mdio";
 74                                 function = "mdio";
 75                         };
 76                 };
 77 
 78                 nand_pins: nand0-pins {
 79                         sdhci-pinmux {
 80                                 groups = "sdhci";
 81                                 function = "nand2";
 82                         };
 83 
 84                         spi-pinmux {
 85                                 groups = "spi";
 86                                 function = "nand1";
 87                         };
 88                 };
 89 
 90                 pcie_pins: pcie0-pins {
 91                         pinmux {
 92                                 groups = "pcie";
 93                                 function = "gpio";
 94                         };
 95                 };
 96 
 97                 rgmii1_pins: rgmii1-pins {
 98                         pinmux {
 99                                 groups = "rgmii1";
100                                 function = "rgmii1";
101                         };
102                 };
103 
104                 rgmii2_pins: rgmii2-pins {
105                         pinmux {
106                                 groups = "rgmii2";
107                                 function = "rgmii2";
108                         };
109                 };
110 
111                 sdhci_pins: sdhci0-pins {
112                         pinmux {
113                                 groups = "sdhci";
114                                 function = "sdhci";
115                         };
116                 };
117 
118                 spi_pins: spi0-pins {
119                         pinmux {
120                                 groups = "spi";
121                                 function = "spi";
122                         };
123                 };
124 
125                 uart1_pins: uart1-pins {
126                         pinmux {
127                                 groups = "uart1";
128                                 function = "uart1";
129                         };
130                 };
131 
132                 uart2_pins: uart2-pins {
133                         pinmux {
134                                 groups = "uart2";
135                                 function = "uart2";
136                         };
137                 };
138 
139                 uart3_pins: uart3-pins {
140                         pinmux {
141                                 groups = "uart3";
142                                 function = "uart3";
143                         };
144                 };
145         };
146 
147         palmbus: palmbus@1e000000 {
148                 compatible = "palmbus";
149                 reg = <0x1e000000 0x100000>;
150                 ranges = <0x0 0x1e000000 0x0fffff>;
151 
152                 #address-cells = <1>;
153                 #size-cells = <1>;
154 
155                 sysc: syscon@0 {
156                         compatible = "mediatek,mt7621-sysc", "syscon";
157                         reg = <0x0 0x100>;
158 
159                         #clock-cells = <1>;
160                         #reset-cells = <1>;
161 
162                         clock-output-names = "xtal", "cpu", "bus",
163                                              "50m", "125m", "150m",
164                                              "250m", "270m";
165 
166                         ralink,memctl = <&memc>;
167                 };
168 
169                 wdt: watchdog@100 {
170                         compatible = "mediatek,mt7621-wdt";
171                         reg = <0x100 0x100>;
172                         mediatek,sysctl = <&sysc>;
173                 };
174 
175                 gpio: gpio@600 {
176                         compatible = "mediatek,mt7621-gpio";
177                         reg = <0x600 0x100>;
178 
179                         #gpio-cells = <2>;
180                         #interrupt-cells = <2>;
181 
182                         gpio-controller;
183                         gpio-ranges = <&pinctrl 0 0 95>;
184 
185                         interrupt-controller;
186                         interrupt-parent = <&gic>;
187                         interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>;
188                 };
189 
190                 i2c: i2c@900 {
191                         compatible = "mediatek,mt7621-i2c";
192                         reg = <0x900 0x100>;
193 
194                         #address-cells = <1>;
195                         #size-cells = <0>;
196 
197                         clocks = <&sysc MT7621_CLK_I2C>;
198                         clock-names = "i2c";
199 
200                         pinctrl-names = "default";
201                         pinctrl-0 = <&i2c_pins>;
202 
203                         resets = <&sysc MT7621_RST_I2C>;
204                         reset-names = "i2c";
205 
206                         status = "disabled";
207                 };
208 
209                 memc: memory-controller@5000 {
210                         compatible = "mediatek,mt7621-memc", "syscon";
211                         reg = <0x5000 0x1000>;
212                 };
213 
214                 serial0: serial@c00 {
215                         compatible = "ns16550a";
216                         reg = <0xc00 0x100>;
217 
218                         reg-io-width = <4>;
219                         reg-shift = <2>;
220 
221                         clocks = <&sysc MT7621_CLK_UART1>;
222 
223                         interrupt-parent = <&gic>;
224                         interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>;
225 
226                         no-loopback-test;
227 
228                         pinctrl-names = "default";
229                         pinctrl-0 = <&uart1_pins>;
230                 };
231 
232                 serial1: serial@d00 {
233                         compatible = "ns16550a";
234                         reg = <0xd00 0x100>;
235 
236                         reg-io-width = <4>;
237                         reg-shift = <2>;
238 
239                         clocks = <&sysc MT7621_CLK_UART2>;
240 
241                         interrupt-parent = <&gic>;
242                         interrupts = <GIC_SHARED 27 IRQ_TYPE_LEVEL_HIGH>;
243 
244                         no-loopback-test;
245 
246                         pinctrl-names = "default";
247                         pinctrl-0 = <&uart2_pins>;
248 
249                         status = "disabled";
250                 };
251 
252                 serial2: serial@e00 {
253                         compatible = "ns16550a";
254                         reg = <0xe00 0x100>;
255 
256                         reg-io-width = <4>;
257                         reg-shift = <2>;
258 
259                         clocks = <&sysc MT7621_CLK_UART3>;
260 
261                         interrupt-parent = <&gic>;
262                         interrupts = <GIC_SHARED 28 IRQ_TYPE_LEVEL_HIGH>;
263 
264                         no-loopback-test;
265 
266                         pinctrl-names = "default";
267                         pinctrl-0 = <&uart3_pins>;
268 
269                         status = "disabled";
270                 };
271 
272                 spi0: spi@b00 {
273                         compatible = "ralink,mt7621-spi";
274                         reg = <0xb00 0x100>;
275 
276                         #address-cells = <1>;
277                         #size-cells = <0>;
278 
279                         clock-names = "spi";
280                         clocks = <&sysc MT7621_CLK_SPI>;
281 
282                         pinctrl-names = "default";
283                         pinctrl-0 = <&spi_pins>;
284 
285                         reset-names = "spi";
286                         resets = <&sysc MT7621_RST_SPI>;
287 
288                         status = "disabled";
289                 };
290         };
291 
292         mmc: mmc@1e130000 {
293                 compatible = "mediatek,mt7620-mmc";
294                 reg = <0x1e130000 0x4000>;
295 
296                 bus-width = <4>;
297 
298                 cap-mmc-highspeed;
299                 cap-sd-highspeed;
300 
301                 clocks = <&sysc MT7621_CLK_SHXC>,
302                          <&sysc MT7621_CLK_50M>;
303                 clock-names = "source", "hclk";
304 
305                 disable-wp;
306 
307                 interrupt-parent = <&gic>;
308                 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
309 
310                 max-frequency = <48000000>;
311 
312                 pinctrl-names = "default", "state_uhs";
313                 pinctrl-0 = <&sdhci_pins>;
314                 pinctrl-1 = <&sdhci_pins>;
315 
316                 vmmc-supply = <&mmc_fixed_3v3>;
317                 vqmmc-supply = <&mmc_fixed_1v8_io>;
318 
319                 status = "disabled";
320         };
321 
322         usb: usb@1e1c0000 {
323                 compatible = "mediatek,mt8173-xhci", "mediatek,mtk-xhci";
324                 reg = <0x1e1c0000 0x1000
325                        0x1e1d0700 0x0100>;
326                 reg-names = "mac", "ippc";
327 
328                 #address-cells = <1>;
329                 #size-cells = <0>;
330 
331                 clocks = <&sysc MT7621_CLK_XTAL>;
332                 clock-names = "sys_ck";
333 
334                 interrupt-parent = <&gic>;
335                 interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>;
336         };
337 
338         gic: interrupt-controller@1fbc0000 {
339                 compatible = "mti,gic";
340                 reg = <0x1fbc0000 0x2000>;
341 
342                 #interrupt-cells = <3>;
343                 interrupt-controller;
344 
345                 mti,reserved-cpu-vectors = <7>;
346 
347                 timer {
348                         compatible = "mti,gic-timer";
349                         clocks = <&sysc MT7621_CLK_CPU>;
350                         interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
351                 };
352         };
353 
354         cpc: cpc@1fbf0000 {
355                 compatible = "mti,mips-cpc";
356                 reg = <0x1fbf0000 0x8000>;
357         };
358 
359         cdmm: cdmm@1fbf8000 {
360                 compatible = "mti,mips-cdmm";
361                 reg = <0x1fbf8000 0x8000>;
362         };
363 
364         ethernet: ethernet@1e100000 {
365                 compatible = "mediatek,mt7621-eth";
366                 reg = <0x1e100000 0x10000>;
367 
368                 #address-cells = <1>;
369                 #size-cells = <0>;
370 
371                 clock-names = "fe", "ethif";
372                 clocks = <&sysc MT7621_CLK_FE>, <&sysc MT7621_CLK_ETH>;
373 
374                 interrupt-parent = <&gic>;
375                 interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
376 
377                 pinctrl-names = "default";
378                 pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>, <&rgmii2_pins>;
379 
380                 reset-names = "fe", "eth";
381                 resets = <&sysc MT7621_RST_FE>, <&sysc MT7621_RST_ETH>;
382 
383                 mediatek,ethsys = <&sysc>;
384 
385                 mdio: mdio-bus {
386                         #address-cells = <1>;
387                         #size-cells = <0>;
388 
389                         switch0: switch@1f {
390                                 compatible = "mediatek,mt7621";
391                                 reg = <0x1f>;
392 
393                                 #interrupt-cells = <1>;
394                                 interrupt-controller;
395                                 interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>;
396 
397                                 reset-names = "mcm";
398                                 resets = <&sysc MT7621_RST_MCM>;
399 
400                                 mediatek,mcm;
401 
402                                 ports {
403                                         #address-cells = <1>;
404                                         #size-cells = <0>;
405 
406                                         port@0 {
407                                                 reg = <0>;
408                                                 label = "swp0";
409                                                 status = "disabled";
410                                         };
411 
412                                         port@1 {
413                                                 reg = <1>;
414                                                 label = "swp1";
415                                                 status = "disabled";
416                                         };
417 
418                                         port@2 {
419                                                 reg = <2>;
420                                                 label = "swp2";
421                                                 status = "disabled";
422                                         };
423 
424                                         port@3 {
425                                                 reg = <3>;
426                                                 label = "swp3";
427                                                 status = "disabled";
428                                         };
429 
430                                         port@4 {
431                                                 reg = <4>;
432                                                 label = "swp4";
433                                                 status = "disabled";
434                                         };
435 
436                                         port@5 {
437                                                 reg = <5>;
438 
439                                                 ethernet = <&gmac1>;
440                                                 phy-mode = "rgmii";
441 
442                                                 fixed-link {
443                                                         full-duplex;
444                                                         pause;
445                                                         speed = <1000>;
446                                                 };
447                                         };
448 
449                                         port@6 {
450                                                 reg = <6>;
451 
452                                                 ethernet = <&gmac0>;
453                                                 phy-mode = "trgmii";
454 
455                                                 fixed-link {
456                                                         full-duplex;
457                                                         pause;
458                                                         speed = <1000>;
459                                                 };
460                                         };
461                                 };
462                         };
463                 };
464 
465                 gmac0: mac@0 {
466                         compatible = "mediatek,eth-mac";
467                         reg = <0>;
468 
469                         phy-mode = "trgmii";
470 
471                         fixed-link {
472                                 full-duplex;
473                                 pause;
474                                 speed = <1000>;
475                         };
476                 };
477 
478                 gmac1: mac@1 {
479                         compatible = "mediatek,eth-mac";
480                         reg = <1>;
481 
482                         phy-mode = "rgmii";
483 
484                         fixed-link {
485                                 full-duplex;
486                                 pause;
487                                 speed = <1000>;
488                         };
489                 };
490 
491         };
492 
493         pcie: pcie@1e140000 {
494                 compatible = "mediatek,mt7621-pci";
495                 reg = <0x1e140000 0x100>, /* host-pci bridge registers */
496                       <0x1e142000 0x100>, /* pcie port 0 RC control registers */
497                       <0x1e143000 0x100>, /* pcie port 1 RC control registers */
498                       <0x1e144000 0x100>; /* pcie port 2 RC control registers */
499                 ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>, /* pci memory */
500                          <0x01000000 0 0x00000000 0x1e160000 0 0x00010000>; /* io space */
501 
502                 #address-cells = <3>;
503                 #interrupt-cells = <1>;
504                 #size-cells = <2>;
505 
506                 device_type = "pci";
507 
508                 interrupt-map-mask = <0xf800 0 0 0>;
509                 interrupt-map = <0x0000 0 0 0 &gic GIC_SHARED  4 IRQ_TYPE_LEVEL_HIGH>,
510                                 <0x0800 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>,
511                                 <0x1000 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
512 
513                 pinctrl-names = "default";
514                 pinctrl-0 = <&pcie_pins>;
515 
516                 reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
517 
518                 status = "disabled";
519 
520                 pcie@0,0 {
521                         reg = <0x0000 0 0 0 0>;
522                         ranges;
523 
524                         #address-cells = <3>;
525                         #interrupt-cells = <1>;
526                         #size-cells = <2>;
527 
528                         clocks = <&sysc MT7621_CLK_PCIE0>;
529 
530                         device_type = "pci";
531 
532                         interrupt-map-mask = <0 0 0 0>;
533                         interrupt-map = <0 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
534 
535                         phy-names = "pcie-phy0";
536                         phys = <&pcie0_phy 1>;
537 
538                         resets = <&sysc MT7621_RST_PCIE0>;
539                 };
540 
541                 pcie@1,0 {
542                         reg = <0x0800 0 0 0 0>;
543                         ranges;
544 
545                         #address-cells = <3>;
546                         #interrupt-cells = <1>;
547                         #size-cells = <2>;
548 
549                         clocks = <&sysc MT7621_CLK_PCIE1>;
550 
551                         device_type = "pci";
552 
553                         interrupt-map-mask = <0 0 0 0>;
554                         interrupt-map = <0 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>;
555 
556                         phy-names = "pcie-phy1";
557                         phys = <&pcie0_phy 1>;
558 
559                         resets = <&sysc MT7621_RST_PCIE1>;
560                 };
561 
562                 pcie@2,0 {
563                         reg = <0x1000 0 0 0 0>;
564                         ranges;
565 
566                         #address-cells = <3>;
567                         #interrupt-cells = <1>;
568                         #size-cells = <2>;
569 
570                         clocks = <&sysc MT7621_CLK_PCIE2>;
571 
572                         device_type = "pci";
573 
574                         interrupt-map-mask = <0 0 0 0>;
575                         interrupt-map = <0 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
576 
577                         phy-names = "pcie-phy2";
578                         phys = <&pcie2_phy 0>;
579 
580                         resets = <&sysc MT7621_RST_PCIE2>;
581                 };
582         };
583 
584         pcie0_phy: pcie-phy@1e149000 {
585                 compatible = "mediatek,mt7621-pci-phy";
586                 reg = <0x1e149000 0x0700>;
587 
588                 #phy-cells = <1>;
589 
590                 clocks = <&sysc MT7621_CLK_XTAL>;
591         };
592 
593         pcie2_phy: pcie-phy@1e14a000 {
594                 compatible = "mediatek,mt7621-pci-phy";
595                 reg = <0x1e14a000 0x0700>;
596 
597                 #phy-cells = <1>;
598 
599                 clocks = <&sysc MT7621_CLK_XTAL>;
600         };
601 };

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