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

TOMOYO Linux Cross Reference
Linux/arch/riscv/boot/dts/starfive/jh7110-common.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 OR MIT
  2 /*
  3  * Copyright (C) 2022 StarFive Technology Co., Ltd.
  4  * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
  5  */
  6 
  7 /dts-v1/;
  8 #include "jh7110.dtsi"
  9 #include "jh7110-pinfunc.h"
 10 #include <dt-bindings/gpio/gpio.h>
 11 
 12 / {
 13         aliases {
 14                 ethernet0 = &gmac0;
 15                 i2c0 = &i2c0;
 16                 i2c2 = &i2c2;
 17                 i2c5 = &i2c5;
 18                 i2c6 = &i2c6;
 19                 mmc0 = &mmc0;
 20                 mmc1 = &mmc1;
 21                 serial0 = &uart0;
 22         };
 23 
 24         chosen {
 25                 stdout-path = "serial0:115200n8";
 26         };
 27 
 28         memory@40000000 {
 29                 device_type = "memory";
 30                 reg = <0x0 0x40000000 0x1 0x0>;
 31         };
 32 
 33         gpio-restart {
 34                 compatible = "gpio-restart";
 35                 gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>;
 36                 priority = <224>;
 37         };
 38 
 39         pwmdac_codec: audio-codec {
 40                 compatible = "linux,spdif-dit";
 41                 #sound-dai-cells = <0>;
 42         };
 43 
 44         sound {
 45                 compatible = "simple-audio-card";
 46                 simple-audio-card,name = "StarFive-PWMDAC-Sound-Card";
 47                 #address-cells = <1>;
 48                 #size-cells = <0>;
 49 
 50                 simple-audio-card,dai-link@0 {
 51                         reg = <0>;
 52                         format = "left_j";
 53                         bitclock-master = <&sndcpu0>;
 54                         frame-master = <&sndcpu0>;
 55 
 56                         sndcpu0: cpu {
 57                                 sound-dai = <&pwmdac>;
 58                         };
 59 
 60                         codec {
 61                                 sound-dai = <&pwmdac_codec>;
 62                         };
 63                 };
 64         };
 65 };
 66 
 67 &cpus {
 68         timebase-frequency = <4000000>;
 69 };
 70 
 71 &dvp_clk {
 72         clock-frequency = <74250000>;
 73 };
 74 
 75 &gmac0_rgmii_rxin {
 76         clock-frequency = <125000000>;
 77 };
 78 
 79 &gmac0_rmii_refin {
 80         clock-frequency = <50000000>;
 81 };
 82 
 83 &gmac1_rgmii_rxin {
 84         clock-frequency = <125000000>;
 85 };
 86 
 87 &gmac1_rmii_refin {
 88         clock-frequency = <50000000>;
 89 };
 90 
 91 &hdmitx0_pixelclk {
 92         clock-frequency = <297000000>;
 93 };
 94 
 95 &i2srx_bclk_ext {
 96         clock-frequency = <12288000>;
 97 };
 98 
 99 &i2srx_lrck_ext {
100         clock-frequency = <192000>;
101 };
102 
103 &i2stx_bclk_ext {
104         clock-frequency = <12288000>;
105 };
106 
107 &i2stx_lrck_ext {
108         clock-frequency = <192000>;
109 };
110 
111 &mclk_ext {
112         clock-frequency = <12288000>;
113 };
114 
115 &osc {
116         clock-frequency = <24000000>;
117 };
118 
119 &rtc_osc {
120         clock-frequency = <32768>;
121 };
122 
123 &tdm_ext {
124         clock-frequency = <49152000>;
125 };
126 
127 &camss {
128         assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
129                           <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
130         assigned-clock-rates = <49500000>, <198000000>;
131 
132         ports {
133                 #address-cells = <1>;
134                 #size-cells = <0>;
135 
136                 port@0 {
137                         reg = <0>;
138                 };
139 
140                 port@1 {
141                         reg = <1>;
142 
143                         camss_from_csi2rx: endpoint {
144                                 remote-endpoint = <&csi2rx_to_camss>;
145                         };
146                 };
147         };
148 };
149 
150 &csi2rx {
151         assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
152         assigned-clock-rates = <297000000>;
153 
154         ports {
155                 #address-cells = <1>;
156                 #size-cells = <0>;
157 
158                 port@0 {
159                         reg = <0>;
160 
161                         /* remote MIPI sensor endpoint */
162                 };
163 
164                 port@1 {
165                         reg = <1>;
166 
167                         csi2rx_to_camss: endpoint {
168                                 remote-endpoint = <&camss_from_csi2rx>;
169                         };
170                 };
171         };
172 };
173 
174 &gmac0 {
175         phy-handle = <&phy0>;
176         phy-mode = "rgmii-id";
177         status = "okay";
178 
179         mdio {
180                 #address-cells = <1>;
181                 #size-cells = <0>;
182                 compatible = "snps,dwmac-mdio";
183 
184                 phy0: ethernet-phy@0 {
185                         reg = <0>;
186                 };
187         };
188 };
189 
190 &i2c0 {
191         clock-frequency = <100000>;
192         i2c-sda-hold-time-ns = <300>;
193         i2c-sda-falling-time-ns = <510>;
194         i2c-scl-falling-time-ns = <510>;
195         pinctrl-names = "default";
196         pinctrl-0 = <&i2c0_pins>;
197         status = "okay";
198 };
199 
200 &i2c2 {
201         clock-frequency = <100000>;
202         i2c-sda-hold-time-ns = <300>;
203         i2c-sda-falling-time-ns = <510>;
204         i2c-scl-falling-time-ns = <510>;
205         pinctrl-names = "default";
206         pinctrl-0 = <&i2c2_pins>;
207         status = "okay";
208 };
209 
210 &i2c5 {
211         clock-frequency = <100000>;
212         i2c-sda-hold-time-ns = <300>;
213         i2c-sda-falling-time-ns = <510>;
214         i2c-scl-falling-time-ns = <510>;
215         pinctrl-names = "default";
216         pinctrl-0 = <&i2c5_pins>;
217         status = "okay";
218 
219         axp15060: pmic@36 {
220                 compatible = "x-powers,axp15060";
221                 reg = <0x36>;
222                 interrupt-controller;
223                 #interrupt-cells = <1>;
224 
225                 regulators {
226                         vcc_3v3: dcdc1 {
227                                 regulator-boot-on;
228                                 regulator-always-on;
229                                 regulator-min-microvolt = <3300000>;
230                                 regulator-max-microvolt = <3300000>;
231                                 regulator-name = "vcc_3v3";
232                         };
233 
234                         vdd_cpu: dcdc2 {
235                                 regulator-always-on;
236                                 regulator-min-microvolt = <500000>;
237                                 regulator-max-microvolt = <1540000>;
238                                 regulator-name = "vdd-cpu";
239                         };
240 
241                         emmc_vdd: aldo4 {
242                                 regulator-boot-on;
243                                 regulator-always-on;
244                                 regulator-min-microvolt = <1800000>;
245                                 regulator-max-microvolt = <3300000>;
246                                 regulator-name = "emmc_vdd";
247                         };
248                 };
249         };
250 };
251 
252 &i2c6 {
253         clock-frequency = <100000>;
254         i2c-sda-hold-time-ns = <300>;
255         i2c-sda-falling-time-ns = <510>;
256         i2c-scl-falling-time-ns = <510>;
257         pinctrl-names = "default";
258         pinctrl-0 = <&i2c6_pins>;
259         status = "okay";
260 };
261 
262 &mmc0 {
263         max-frequency = <100000000>;
264         assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
265         assigned-clock-rates = <50000000>;
266         bus-width = <8>;
267         cap-mmc-highspeed;
268         mmc-ddr-1_8v;
269         mmc-hs200-1_8v;
270         cap-mmc-hw-reset;
271         post-power-on-delay-ms = <200>;
272         pinctrl-names = "default";
273         pinctrl-0 = <&mmc0_pins>;
274         vmmc-supply = <&vcc_3v3>;
275         vqmmc-supply = <&emmc_vdd>;
276         status = "okay";
277 };
278 
279 &mmc1 {
280         max-frequency = <100000000>;
281         assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
282         assigned-clock-rates = <50000000>;
283         bus-width = <4>;
284         no-sdio;
285         no-mmc;
286         cd-gpios = <&sysgpio 41 GPIO_ACTIVE_LOW>;
287         disable-wp;
288         cap-sd-highspeed;
289         post-power-on-delay-ms = <200>;
290         pinctrl-names = "default";
291         pinctrl-0 = <&mmc1_pins>;
292         status = "okay";
293 };
294 
295 &pcie0 {
296         perst-gpios = <&sysgpio 26 GPIO_ACTIVE_LOW>;
297         phys = <&pciephy0>;
298         pinctrl-names = "default";
299         pinctrl-0 = <&pcie0_pins>;
300 };
301 
302 &pcie1 {
303         perst-gpios = <&sysgpio 28 GPIO_ACTIVE_LOW>;
304         phys = <&pciephy1>;
305         pinctrl-names = "default";
306         pinctrl-0 = <&pcie1_pins>;
307 };
308 
309 &pwmdac {
310         pinctrl-names = "default";
311         pinctrl-0 = <&pwmdac_pins>;
312         status = "okay";
313 };
314 
315 &qspi {
316         #address-cells = <1>;
317         #size-cells = <0>;
318         status = "okay";
319 
320         nor_flash: flash@0 {
321                 compatible = "jedec,spi-nor";
322                 reg = <0>;
323                 cdns,read-delay = <5>;
324                 spi-max-frequency = <12000000>;
325                 cdns,tshsl-ns = <1>;
326                 cdns,tsd2d-ns = <1>;
327                 cdns,tchsh-ns = <1>;
328                 cdns,tslch-ns = <1>;
329 
330                 partitions {
331                         compatible = "fixed-partitions";
332                         #address-cells = <1>;
333                         #size-cells = <1>;
334 
335                         spl@0 {
336                                 reg = <0x0 0xf0000>;
337                         };
338                         uboot-env@f0000 {
339                                 reg = <0xf0000 0x10000>;
340                         };
341                         uboot@100000 {
342                                 reg = <0x100000 0xf00000>;
343                         };
344                 };
345         };
346 };
347 
348 &pwm {
349         pinctrl-names = "default";
350         pinctrl-0 = <&pwm_pins>;
351         status = "okay";
352 };
353 
354 &spi0 {
355         pinctrl-names = "default";
356         pinctrl-0 = <&spi0_pins>;
357         status = "okay";
358 
359         spi_dev0: spi@0 {
360                 compatible = "rohm,dh2228fv";
361                 reg = <0>;
362                 spi-max-frequency = <10000000>;
363         };
364 };
365 
366 &syscrg {
367         assigned-clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>,
368                           <&pllclk JH7110_PLLCLK_PLL0_OUT>;
369         assigned-clock-rates = <500000000>, <1500000000>;
370 };
371 
372 &sysgpio {
373         i2c0_pins: i2c0-0 {
374                 i2c-pins {
375                         pinmux = <GPIOMUX(57, GPOUT_LOW,
376                                               GPOEN_SYS_I2C0_CLK,
377                                               GPI_SYS_I2C0_CLK)>,
378                                  <GPIOMUX(58, GPOUT_LOW,
379                                               GPOEN_SYS_I2C0_DATA,
380                                               GPI_SYS_I2C0_DATA)>;
381                         bias-disable; /* external pull-up */
382                         input-enable;
383                         input-schmitt-enable;
384                 };
385         };
386 
387         i2c2_pins: i2c2-0 {
388                 i2c-pins {
389                         pinmux = <GPIOMUX(3, GPOUT_LOW,
390                                              GPOEN_SYS_I2C2_CLK,
391                                              GPI_SYS_I2C2_CLK)>,
392                                  <GPIOMUX(2, GPOUT_LOW,
393                                              GPOEN_SYS_I2C2_DATA,
394                                              GPI_SYS_I2C2_DATA)>;
395                         bias-disable; /* external pull-up */
396                         input-enable;
397                         input-schmitt-enable;
398                 };
399         };
400 
401         i2c5_pins: i2c5-0 {
402                 i2c-pins {
403                         pinmux = <GPIOMUX(19, GPOUT_LOW,
404                                               GPOEN_SYS_I2C5_CLK,
405                                               GPI_SYS_I2C5_CLK)>,
406                                  <GPIOMUX(20, GPOUT_LOW,
407                                               GPOEN_SYS_I2C5_DATA,
408                                               GPI_SYS_I2C5_DATA)>;
409                         bias-disable; /* external pull-up */
410                         input-enable;
411                         input-schmitt-enable;
412                 };
413         };
414 
415         i2c6_pins: i2c6-0 {
416                 i2c-pins {
417                         pinmux = <GPIOMUX(16, GPOUT_LOW,
418                                               GPOEN_SYS_I2C6_CLK,
419                                               GPI_SYS_I2C6_CLK)>,
420                                  <GPIOMUX(17, GPOUT_LOW,
421                                               GPOEN_SYS_I2C6_DATA,
422                                               GPI_SYS_I2C6_DATA)>;
423                         bias-disable; /* external pull-up */
424                         input-enable;
425                         input-schmitt-enable;
426                 };
427         };
428 
429         mmc0_pins: mmc0-0 {
430                  rst-pins {
431                         pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST,
432                                               GPOEN_ENABLE,
433                                               GPI_NONE)>;
434                         bias-pull-up;
435                         drive-strength = <12>;
436                         input-disable;
437                         input-schmitt-disable;
438                         slew-rate = <0>;
439                 };
440 
441                 mmc-pins {
442                         pinmux = <PINMUX(64, 0)>,
443                                  <PINMUX(65, 0)>,
444                                  <PINMUX(66, 0)>,
445                                  <PINMUX(67, 0)>,
446                                  <PINMUX(68, 0)>,
447                                  <PINMUX(69, 0)>,
448                                  <PINMUX(70, 0)>,
449                                  <PINMUX(71, 0)>,
450                                  <PINMUX(72, 0)>,
451                                  <PINMUX(73, 0)>;
452                         bias-pull-up;
453                         drive-strength = <12>;
454                         input-enable;
455                 };
456         };
457 
458         mmc1_pins: mmc1-0 {
459                 clk-pins {
460                         pinmux = <GPIOMUX(10, GPOUT_SYS_SDIO1_CLK,
461                                               GPOEN_ENABLE,
462                                               GPI_NONE)>;
463                         bias-pull-up;
464                         drive-strength = <12>;
465                         input-disable;
466                         input-schmitt-disable;
467                         slew-rate = <0>;
468                 };
469 
470                 mmc-pins {
471                         pinmux = <GPIOMUX(9, GPOUT_SYS_SDIO1_CMD,
472                                              GPOEN_SYS_SDIO1_CMD,
473                                              GPI_SYS_SDIO1_CMD)>,
474                                  <GPIOMUX(11, GPOUT_SYS_SDIO1_DATA0,
475                                               GPOEN_SYS_SDIO1_DATA0,
476                                               GPI_SYS_SDIO1_DATA0)>,
477                                  <GPIOMUX(12, GPOUT_SYS_SDIO1_DATA1,
478                                               GPOEN_SYS_SDIO1_DATA1,
479                                               GPI_SYS_SDIO1_DATA1)>,
480                                  <GPIOMUX(7, GPOUT_SYS_SDIO1_DATA2,
481                                              GPOEN_SYS_SDIO1_DATA2,
482                                              GPI_SYS_SDIO1_DATA2)>,
483                                  <GPIOMUX(8, GPOUT_SYS_SDIO1_DATA3,
484                                              GPOEN_SYS_SDIO1_DATA3,
485                                              GPI_SYS_SDIO1_DATA3)>;
486                         bias-pull-up;
487                         drive-strength = <12>;
488                         input-enable;
489                         input-schmitt-enable;
490                         slew-rate = <0>;
491                 };
492         };
493 
494         pcie0_pins: pcie0-0 {
495                 clkreq-pins {
496                         pinmux = <GPIOMUX(27, GPOUT_LOW,
497                                               GPOEN_DISABLE,
498                                               GPI_NONE)>;
499                         bias-pull-down;
500                         drive-strength = <2>;
501                         input-enable;
502                         input-schmitt-disable;
503                         slew-rate = <0>;
504                 };
505 
506                 wake-pins {
507                         pinmux = <GPIOMUX(32, GPOUT_LOW,
508                                               GPOEN_DISABLE,
509                                               GPI_NONE)>;
510                         bias-pull-up;
511                         drive-strength = <2>;
512                         input-enable;
513                         input-schmitt-disable;
514                         slew-rate = <0>;
515                 };
516         };
517 
518         pcie1_pins: pcie1-0 {
519                 clkreq-pins {
520                         pinmux = <GPIOMUX(29, GPOUT_LOW,
521                                               GPOEN_DISABLE,
522                                               GPI_NONE)>;
523                         bias-pull-down;
524                         drive-strength = <2>;
525                         input-enable;
526                         input-schmitt-disable;
527                         slew-rate = <0>;
528                 };
529 
530                 wake-pins {
531                         pinmux = <GPIOMUX(21, GPOUT_LOW,
532                                       GPOEN_DISABLE,
533                                               GPI_NONE)>;
534                         bias-pull-up;
535                         drive-strength = <2>;
536                         input-enable;
537                         input-schmitt-disable;
538                         slew-rate = <0>;
539                 };
540         };
541 
542         pwmdac_pins: pwmdac-0 {
543                 pwmdac-pins {
544                         pinmux = <GPIOMUX(33, GPOUT_SYS_PWMDAC_LEFT,
545                                               GPOEN_ENABLE,
546                                               GPI_NONE)>,
547                                  <GPIOMUX(34, GPOUT_SYS_PWMDAC_RIGHT,
548                                               GPOEN_ENABLE,
549                                               GPI_NONE)>;
550                         bias-disable;
551                         drive-strength = <2>;
552                         input-disable;
553                         input-schmitt-disable;
554                         slew-rate = <0>;
555                 };
556         };
557 
558         pwm_pins: pwm-0 {
559                 pwm-pins {
560                         pinmux = <GPIOMUX(46, GPOUT_SYS_PWM_CHANNEL0,
561                                               GPOEN_SYS_PWM0_CHANNEL0,
562                                               GPI_NONE)>,
563                                  <GPIOMUX(59, GPOUT_SYS_PWM_CHANNEL1,
564                                               GPOEN_SYS_PWM0_CHANNEL1,
565                                               GPI_NONE)>;
566                         bias-disable;
567                         drive-strength = <12>;
568                         input-disable;
569                         input-schmitt-disable;
570                         slew-rate = <0>;
571                 };
572         };
573 
574         spi0_pins: spi0-0 {
575                 mosi-pins {
576                         pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
577                                               GPOEN_ENABLE,
578                                               GPI_NONE)>;
579                         bias-disable;
580                         input-disable;
581                         input-schmitt-disable;
582                 };
583 
584                 miso-pins {
585                         pinmux = <GPIOMUX(53, GPOUT_LOW,
586                                               GPOEN_DISABLE,
587                                               GPI_SYS_SPI0_RXD)>;
588                         bias-pull-up;
589                         input-enable;
590                         input-schmitt-enable;
591                 };
592 
593                 sck-pins {
594                         pinmux = <GPIOMUX(48, GPOUT_SYS_SPI0_CLK,
595                                               GPOEN_ENABLE,
596                                               GPI_SYS_SPI0_CLK)>;
597                         bias-disable;
598                         input-disable;
599                         input-schmitt-disable;
600                 };
601 
602                 ss-pins {
603                         pinmux = <GPIOMUX(49, GPOUT_SYS_SPI0_FSS,
604                                               GPOEN_ENABLE,
605                                               GPI_SYS_SPI0_FSS)>;
606                         bias-disable;
607                         input-disable;
608                         input-schmitt-disable;
609                 };
610         };
611 
612         uart0_pins: uart0-0 {
613                 tx-pins {
614                         pinmux = <GPIOMUX(5, GPOUT_SYS_UART0_TX,
615                                              GPOEN_ENABLE,
616                                              GPI_NONE)>;
617                         bias-disable;
618                         drive-strength = <12>;
619                         input-disable;
620                         input-schmitt-disable;
621                         slew-rate = <0>;
622                 };
623 
624                 rx-pins {
625                         pinmux = <GPIOMUX(6, GPOUT_LOW,
626                                              GPOEN_DISABLE,
627                                              GPI_SYS_UART0_RX)>;
628                         bias-disable; /* external pull-up */
629                         drive-strength = <2>;
630                         input-enable;
631                         input-schmitt-enable;
632                         slew-rate = <0>;
633                 };
634         };
635 };
636 
637 &uart0 {
638         pinctrl-names = "default";
639         pinctrl-0 = <&uart0_pins>;
640         status = "okay";
641 };
642 
643 &usb0 {
644         dr_mode = "peripheral";
645         status = "okay";
646 };
647 
648 &U74_1 {
649         cpu-supply = <&vdd_cpu>;
650 };
651 
652 &U74_2 {
653         cpu-supply = <&vdd_cpu>;
654 };
655 
656 &U74_3 {
657         cpu-supply = <&vdd_cpu>;
658 };
659 
660 &U74_4 {
661         cpu-supply = <&vdd_cpu>;
662 };

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