1 // SPDX-License-Identifier: GPL-2.0 OR MIT
3 * Copyright (C) 2022 StarFive Technology Co., Ltd.
4 * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
9 #include "jh7110-pinfunc.h"
10 #include <dt-bindings/gpio/gpio.h>
26 stdout-path = "serial0:115200n8";
30 timebase-frequency = <4000000>;
34 device_type = "memory";
35 reg = <0x0 0x40000000 0x1 0x0>;
39 compatible = "gpio-restart";
40 gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>;
44 pwmdac_codec: pwmdac-codec {
45 compatible = "linux,spdif-dit";
46 #sound-dai-cells = <0>;
50 compatible = "simple-audio-card";
51 simple-audio-card,name = "StarFive-PWMDAC-Sound-Card";
55 simple-audio-card,dai-link@0 {
58 bitclock-master = <&sndcpu0>;
59 frame-master = <&sndcpu0>;
62 sound-dai = <&pwmdac>;
66 sound-dai = <&pwmdac_codec>;
73 clock-frequency = <74250000>;
77 clock-frequency = <125000000>;
81 clock-frequency = <50000000>;
85 clock-frequency = <125000000>;
89 clock-frequency = <50000000>;
93 clock-frequency = <297000000>;
97 clock-frequency = <12288000>;
101 clock-frequency = <192000>;
105 clock-frequency = <12288000>;
109 clock-frequency = <192000>;
113 clock-frequency = <12288000>;
117 clock-frequency = <24000000>;
121 clock-frequency = <32768>;
125 clock-frequency = <49152000>;
129 phy-handle = <&phy0>;
130 phy-mode = "rgmii-id";
134 #address-cells = <1>;
136 compatible = "snps,dwmac-mdio";
138 phy0: ethernet-phy@0 {
145 phy-handle = <&phy1>;
146 phy-mode = "rgmii-id";
150 #address-cells = <1>;
152 compatible = "snps,dwmac-mdio";
154 phy1: ethernet-phy@1 {
161 clock-frequency = <100000>;
162 i2c-sda-hold-time-ns = <300>;
163 i2c-sda-falling-time-ns = <510>;
164 i2c-scl-falling-time-ns = <510>;
165 pinctrl-names = "default";
166 pinctrl-0 = <&i2c0_pins>;
171 clock-frequency = <100000>;
172 i2c-sda-hold-time-ns = <300>;
173 i2c-sda-falling-time-ns = <510>;
174 i2c-scl-falling-time-ns = <510>;
175 pinctrl-names = "default";
176 pinctrl-0 = <&i2c2_pins>;
181 clock-frequency = <100000>;
182 i2c-sda-hold-time-ns = <300>;
183 i2c-sda-falling-time-ns = <510>;
184 i2c-scl-falling-time-ns = <510>;
185 pinctrl-names = "default";
186 pinctrl-0 = <&i2c5_pins>;
190 compatible = "x-powers,axp15060";
193 interrupt-controller;
194 #interrupt-cells = <1>;
200 regulator-min-microvolt = <3300000>;
201 regulator-max-microvolt = <3300000>;
202 regulator-name = "vcc_3v3";
207 regulator-min-microvolt = <500000>;
208 regulator-max-microvolt = <1540000>;
209 regulator-name = "vdd-cpu";
215 regulator-min-microvolt = <1800000>;
216 regulator-max-microvolt = <1800000>;
217 regulator-name = "emmc_vdd";
224 clock-frequency = <100000>;
225 i2c-sda-hold-time-ns = <300>;
226 i2c-sda-falling-time-ns = <510>;
227 i2c-scl-falling-time-ns = <510>;
228 pinctrl-names = "default";
229 pinctrl-0 = <&i2c6_pins>;
234 pinctrl-names = "default";
235 pinctrl-0 = <&i2srx_pins>;
240 pinctrl-names = "default";
241 pinctrl-0 = <&mclk_ext_pins>;
246 pinctrl-names = "default";
247 pinctrl-0 = <&i2stx1_pins>;
252 max-frequency = <100000000>;
253 assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>;
254 assigned-clock-rates = <50000000>;
261 post-power-on-delay-ms = <200>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&mmc0_pins>;
264 vmmc-supply = <&vcc_3v3>;
265 vqmmc-supply = <&emmc_vdd>;
270 max-frequency = <100000000>;
271 assigned-clocks = <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>;
272 assigned-clock-rates = <50000000>;
278 post-power-on-delay-ms = <200>;
279 pinctrl-names = "default";
280 pinctrl-0 = <&mmc1_pins>;
285 pinctrl-names = "default";
286 pinctrl-0 = <&pwmdac_pins>;
291 #address-cells = <1>;
296 compatible = "jedec,spi-nor";
298 cdns,read-delay = <5>;
299 spi-max-frequency = <12000000>;
306 compatible = "fixed-partitions";
307 #address-cells = <1>;
314 reg = <0xf0000 0x10000>;
317 reg = <0x100000 0x400000>;
319 reserved-data@600000 {
320 reg = <0x600000 0xa00000>;
327 pinctrl-names = "default";
328 pinctrl-0 = <&spi0_pins>;
332 compatible = "rohm,dh2228fv";
334 spi-max-frequency = <10000000>;
341 pinmux = <GPIOMUX(57, GPOUT_LOW,
344 <GPIOMUX(58, GPOUT_LOW,
347 bias-disable; /* external pull-up */
349 input-schmitt-enable;
355 pinmux = <GPIOMUX(3, GPOUT_LOW,
358 <GPIOMUX(2, GPOUT_LOW,
361 bias-disable; /* external pull-up */
363 input-schmitt-enable;
369 pinmux = <GPIOMUX(19, GPOUT_LOW,
372 <GPIOMUX(20, GPOUT_LOW,
375 bias-disable; /* external pull-up */
377 input-schmitt-enable;
383 pinmux = <GPIOMUX(16, GPOUT_LOW,
386 <GPIOMUX(17, GPOUT_LOW,
389 bias-disable; /* external pull-up */
391 input-schmitt-enable;
395 i2srx_pins: i2srx-0 {
397 pinmux = <GPIOMUX(38, GPOUT_LOW,
399 GPI_SYS_I2SRX_BCLK)>,
400 <GPIOMUX(63, GPOUT_LOW,
402 GPI_SYS_I2SRX_LRCK)>,
403 <GPIOMUX(38, GPOUT_LOW,
405 GPI_SYS_I2STX1_BCLK)>,
406 <GPIOMUX(63, GPOUT_LOW,
408 GPI_SYS_I2STX1_LRCK)>,
409 <GPIOMUX(61, GPOUT_LOW,
411 GPI_SYS_I2SRX_SDIN0)>;
416 i2stx1_pins: i2stx1-0 {
418 pinmux = <GPIOMUX(44, GPOUT_SYS_I2STX1_SDO0,
426 mclk_ext_pins: mclk-ext-0 {
428 pinmux = <GPIOMUX(4, GPOUT_LOW,
437 pinmux = <GPIOMUX(62, GPOUT_SYS_SDIO0_RST,
441 drive-strength = <12>;
443 input-schmitt-disable;
448 pinmux = <PINMUX(64, 0)>,
459 drive-strength = <12>;
466 pinmux = <GPIOMUX(10, GPOUT_SYS_SDIO1_CLK,
470 drive-strength = <12>;
472 input-schmitt-disable;
477 pinmux = <GPIOMUX(9, GPOUT_SYS_SDIO1_CMD,
480 <GPIOMUX(11, GPOUT_SYS_SDIO1_DATA0,
481 GPOEN_SYS_SDIO1_DATA0,
482 GPI_SYS_SDIO1_DATA0)>,
483 <GPIOMUX(12, GPOUT_SYS_SDIO1_DATA1,
484 GPOEN_SYS_SDIO1_DATA1,
485 GPI_SYS_SDIO1_DATA1)>,
486 <GPIOMUX(7, GPOUT_SYS_SDIO1_DATA2,
487 GPOEN_SYS_SDIO1_DATA2,
488 GPI_SYS_SDIO1_DATA2)>,
489 <GPIOMUX(8, GPOUT_SYS_SDIO1_DATA3,
490 GPOEN_SYS_SDIO1_DATA3,
491 GPI_SYS_SDIO1_DATA3)>;
493 drive-strength = <12>;
495 input-schmitt-enable;
500 pwmdac_pins: pwmdac-0 {
502 pinmux = <GPIOMUX(33, GPOUT_SYS_PWMDAC_LEFT,
505 <GPIOMUX(34, GPOUT_SYS_PWMDAC_RIGHT,
509 drive-strength = <2>;
511 input-schmitt-disable;
518 pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
523 input-schmitt-disable;
527 pinmux = <GPIOMUX(53, GPOUT_LOW,
532 input-schmitt-enable;
536 pinmux = <GPIOMUX(48, GPOUT_SYS_SPI0_CLK,
541 input-schmitt-disable;
545 pinmux = <GPIOMUX(49, GPOUT_SYS_SPI0_FSS,
550 input-schmitt-disable;
556 pinmux = <GPIOMUX(44, GPOUT_SYS_TDM_TXD,
560 drive-strength = <2>;
562 input-schmitt-disable;
567 pinmux = <GPIOMUX(61, GPOUT_HIGH,
574 pinmux = <GPIOMUX(63, GPOUT_HIGH,
581 pinmux = <GPIOMUX(38, GPOUT_HIGH,
588 uart0_pins: uart0-0 {
590 pinmux = <GPIOMUX(5, GPOUT_SYS_UART0_TX,
594 drive-strength = <12>;
596 input-schmitt-disable;
601 pinmux = <GPIOMUX(6, GPOUT_LOW,
604 bias-disable; /* external pull-up */
605 drive-strength = <2>;
607 input-schmitt-enable;
614 pinctrl-names = "default";
615 pinctrl-0 = <&tdm_pins>;
620 pinctrl-names = "default";
621 pinctrl-0 = <&uart0_pins>;
626 dr_mode = "peripheral";
631 cpu-supply = <&vdd_cpu>;
635 cpu-supply = <&vdd_cpu>;
639 cpu-supply = <&vdd_cpu>;
643 cpu-supply = <&vdd_cpu>;