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>;
40 polling-delay-passive = <250>;
41 polling-delay = <15000>;
43 thermal-sensors = <&sfctemp>;
49 cpu_alert0: cpu_alert0 {
51 temperature = <75000>;
58 temperature = <90000>;
72 compatible = "shared-dma-pool";
74 size = <0x0 0x30000000>;
75 alignment = <0x0 0x1000>;
76 alloc-ranges = <0x0 0x80000000 0x0 0x30000000>;
82 compatible = "gpio-restart";
83 gpios = <&sysgpio 35 GPIO_ACTIVE_HIGH>;
89 clock-frequency = <74250000>;
93 clock-frequency = <125000000>;
97 clock-frequency = <50000000>;
101 clock-frequency = <125000000>;
105 clock-frequency = <50000000>;
109 clock-frequency = <297000000>;
113 clock-frequency = <12288000>;
117 clock-frequency = <192000>;
121 clock-frequency = <12288000>;
125 clock-frequency = <192000>;
129 clock-frequency = <12288000>;
133 clock-frequency = <24000000>;
137 clock-frequency = <32768>;
141 clock-frequency = <49152000>;
145 phy-handle = <&phy0>;
146 phy-mode = "rgmii-id";
150 #address-cells = <1>;
152 compatible = "snps,dwmac-mdio";
154 phy0: ethernet-phy@0 {
161 phy-handle = <&phy1>;
162 phy-mode = "rgmii-id";
166 #address-cells = <1>;
168 compatible = "snps,dwmac-mdio";
170 phy1: ethernet-phy@1 {
193 clock-frequency = <100000>;
194 i2c-sda-hold-time-ns = <300>;
195 i2c-sda-falling-time-ns = <510>;
196 i2c-scl-falling-time-ns = <510>;
197 pinctrl-names = "default";
198 pinctrl-0 = <&i2c0_pins>;
203 clock-frequency = <100000>;
204 i2c-sda-hold-time-ns = <300>;
205 i2c-sda-falling-time-ns = <510>;
206 i2c-scl-falling-time-ns = <510>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&i2c2_pins>;
213 clock-frequency = <100000>;
214 i2c-sda-hold-time-ns = <300>;
215 i2c-sda-falling-time-ns = <510>;
216 i2c-scl-falling-time-ns = <510>;
217 pinctrl-names = "default";
218 pinctrl-0 = <&i2c5_pins>;
222 compatible = "atmel,24c04";
228 compatible = "x-powers,axp15060";
234 regulator-min-microvolt = <500000>;
235 regulator-max-microvolt = <1540000>;
236 regulator-name = "vdd-cpu";
243 clock-frequency = <100000>;
244 i2c-sda-hold-time-ns = <300>;
245 i2c-sda-falling-time-ns = <510>;
246 i2c-scl-falling-time-ns = <510>;
247 pinctrl-names = "default";
248 pinctrl-0 = <&i2c6_pins>;
253 max-frequency = <100000000>;
260 post-power-on-delay-ms = <200>;
265 max-frequency = <100000000>;
271 post-power-on-delay-ms = <200>;
277 compatible = "rohm,dh2228fv";
278 pl022,com-mode = <1>;
279 spi-max-frequency = <10000000>;
286 pinctrl-names = "default";
287 reset-gpios = <&sysgpio 26 GPIO_ACTIVE_LOW>;
293 pinctrl-names = "default";
294 reset-gpios = <&sysgpio 28 GPIO_ACTIVE_LOW>;
300 pinctrl-names = "default";
301 pinctrl-0 = <&pwm_pins>;
308 pinmux = <GPIOMUX(57, GPOUT_LOW,
311 <GPIOMUX(58, GPOUT_LOW,
314 bias-disable; /* external pull-up */
316 input-schmitt-enable;
322 pinmux = <GPIOMUX(3, GPOUT_LOW,
325 <GPIOMUX(2, GPOUT_LOW,
328 bias-disable; /* external pull-up */
330 input-schmitt-enable;
336 pinmux = <GPIOMUX(19, GPOUT_LOW,
339 <GPIOMUX(20, GPOUT_LOW,
342 bias-disable; /* external pull-up */
344 input-schmitt-enable;
350 pinmux = <GPIOMUX(16, GPOUT_LOW,
353 <GPIOMUX(17, GPOUT_LOW,
356 bias-disable; /* external pull-up */
358 input-schmitt-enable;
362 pcie0_wake_default: pcie0_wake_default {
364 pinmux = <GPIOMUX(32, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
366 drive-strength = <2>;
368 input-schmitt-disable;
373 pcie0_clkreq_default: pcie0_clkreq_default {
376 pinmux = <GPIOMUX(27, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
377 drive-strength = <2>;
379 input-schmitt-disable;
384 pcie1_wake_default: pcie1_wake_default {
387 pinmux = <GPIOMUX(21, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
388 drive-strength = <2>;
390 input-schmitt-disable;
395 pcie1_clkreq_default: pcie1_clkreq_default {
398 pinmux = <GPIOMUX(29, GPOUT_HIGH, GPOEN_ENABLE, GPI_NONE)>;
399 drive-strength = <2>;
401 input-schmitt-disable;
408 pinmux = <GPIOMUX(46, GPOUT_SYS_PWM_CHANNEL0,
409 GPOEN_SYS_PWM0_CHANNEL0, GPI_NONE)>,
410 <GPIOMUX(59, GPOUT_SYS_PWM_CHANNEL1,
411 GPOEN_SYS_PWM0_CHANNEL1, GPI_NONE)>;
413 drive-strength = <12>;
415 input-schmitt-disable;
420 uart0_pins: uart0-0 {
422 pinmux = <GPIOMUX(5, GPOUT_SYS_UART0_TX,
426 drive-strength = <12>;
428 input-schmitt-disable;
433 pinmux = <GPIOMUX(6, GPOUT_LOW,
436 bias-disable; /* external pull-up */
437 drive-strength = <2>;
439 input-schmitt-enable;
444 mclk_ext_pins: mclk-ext-pins {
446 pinmux = <GPIOMUX(4, GPOUT_HIGH,
452 pwmdac0_pins: pwmdac0-pins {
454 pinmux = <GPIOMUX(33, GPOUT_SYS_PWMDAC_LEFT,
460 pinmux = <GPIOMUX(34, GPOUT_SYS_PWMDAC_RIGHT,
468 pinmux = <GPIOMUX(0, GPOUT_SYS_HDMI_DDC_SCL,
469 GPOEN_SYS_HDMI_DDC_SCL,
470 GPI_SYS_HDMI_DDC_SCL)>;
476 pinmux = <GPIOMUX(1, GPOUT_SYS_HDMI_DDC_SDA,
477 GPOEN_SYS_HDMI_DDC_SDA,
478 GPI_SYS_HDMI_DDC_SDA)>;
484 pinmux = <GPIOMUX(14, GPOUT_SYS_HDMI_CEC_SDA,
485 GPOEN_SYS_HDMI_CEC_SDA,
486 GPI_SYS_HDMI_CEC_SDA)>;
492 pinmux = <GPIOMUX(15, GPOUT_HIGH,
496 bias-disable; /* external pull-up */
503 pinctrl-names = "default";
504 pinctrl-0 = <&uart0_pins>;
518 pinctrl-names = "default";
519 pinctrl-0 = <&hdmi_pins>;
522 #address-cells = <1>;
524 hdmi_input: endpoint@0 {
526 remote-endpoint = <&dc_out_dpi0>;
535 #address-cells = <1>;
537 dc_out_dpi0: endpoint@0 {
539 remote-endpoint = <&hdmi_input>;
547 usbdrd_cdns3: usb@0 {
548 dr_mode = "peripheral";
553 cpu-supply = <&vdd_cpu>;
557 cpu-supply = <&vdd_cpu>;
561 cpu-supply = <&vdd_cpu>;
565 cpu-supply = <&vdd_cpu>;
569 pinctrl-names = "default";
570 pinctrl-0 = <&mclk_ext_pins>;
576 simple-audio-card,dai-link@0 {
579 bitclock-master = <&sndi2s0>;
580 frame-master = <&sndi2s0>;
585 sound-dai = <&i2stx_4ch0>;
595 simple-audio-card,dai-link@0 {
598 bitclock-master = <&sndcpu0>;
599 frame-master = <&sndcpu0>;
603 sound-dai = <&pwmdac>;
607 sound-dai = <&pwmdac_codec>;
613 pinctrl-names = "default";
614 pinctrl-0 = <&pwmdac0_pins>;