xref: /linux/arch/riscv/boot/dts/starfive/jh7110-milkv-marscm.dtsi (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1*651b30c5SE Shattow// SPDX-License-Identifier: GPL-2.0 OR MIT
2*651b30c5SE Shattow/*
3*651b30c5SE Shattow * Copyright (C) 2025 E Shattow <e@freeshell.de>
4*651b30c5SE Shattow */
5*651b30c5SE Shattow
6*651b30c5SE Shattow/dts-v1/;
7*651b30c5SE Shattow#include <dt-bindings/interrupt-controller/irq.h>
8*651b30c5SE Shattow#include "jh7110-common.dtsi"
9*651b30c5SE Shattow
10*651b30c5SE Shattow/ {
11*651b30c5SE Shattow	aliases {
12*651b30c5SE Shattow		i2c1 = &i2c1;
13*651b30c5SE Shattow		i2c3 = &i2c3;
14*651b30c5SE Shattow		i2c4 = &i2c4;
15*651b30c5SE Shattow		serial3 = &uart3;
16*651b30c5SE Shattow	};
17*651b30c5SE Shattow
18*651b30c5SE Shattow	sdio_pwrseq: sdio-pwrseq {
19*651b30c5SE Shattow		compatible = "mmc-pwrseq-simple";
20*651b30c5SE Shattow		reset-gpios = <&sysgpio 33 GPIO_ACTIVE_LOW>;
21*651b30c5SE Shattow	};
22*651b30c5SE Shattow};
23*651b30c5SE Shattow
24*651b30c5SE Shattow&gmac0 {
25*651b30c5SE Shattow	assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
26*651b30c5SE Shattow	assigned-clock-parents = <&aoncrg JH7110_AONCLK_GMAC0_RMII_RTX>;
27*651b30c5SE Shattow	starfive,tx-use-rgmii-clk;
28*651b30c5SE Shattow	status = "okay";
29*651b30c5SE Shattow};
30*651b30c5SE Shattow
31*651b30c5SE Shattow&i2c0 {
32*651b30c5SE Shattow	status = "okay";
33*651b30c5SE Shattow};
34*651b30c5SE Shattow
35*651b30c5SE Shattow&i2c2 {
36*651b30c5SE Shattow	status = "disabled";
37*651b30c5SE Shattow};
38*651b30c5SE Shattow
39*651b30c5SE Shattow&i2c6 {
40*651b30c5SE Shattow	status = "disabled";
41*651b30c5SE Shattow};
42*651b30c5SE Shattow
43*651b30c5SE Shattow&mmc1 {
44*651b30c5SE Shattow	#address-cells = <1>;
45*651b30c5SE Shattow	#size-cells = <0>;
46*651b30c5SE Shattow
47*651b30c5SE Shattow	mmc-pwrseq = <&sdio_pwrseq>;
48*651b30c5SE Shattow	non-removable;
49*651b30c5SE Shattow	status = "okay";
50*651b30c5SE Shattow
51*651b30c5SE Shattow	ap6256: wifi@1 {
52*651b30c5SE Shattow		compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
53*651b30c5SE Shattow		reg = <1>;
54*651b30c5SE Shattow		interrupt-parent = <&sysgpio>;
55*651b30c5SE Shattow		interrupts = <34 IRQ_TYPE_LEVEL_HIGH>;
56*651b30c5SE Shattow		interrupt-names = "host-wake";
57*651b30c5SE Shattow		pinctrl-0 = <&wifi_host_wake_irq>;
58*651b30c5SE Shattow		pinctrl-names = "default";
59*651b30c5SE Shattow	};
60*651b30c5SE Shattow};
61*651b30c5SE Shattow
62*651b30c5SE Shattow&pcie0 {
63*651b30c5SE Shattow	status = "okay";
64*651b30c5SE Shattow};
65*651b30c5SE Shattow
66*651b30c5SE Shattow&phy0 {
67*651b30c5SE Shattow	rx-internal-delay-ps = <1500>;
68*651b30c5SE Shattow	tx-internal-delay-ps = <1500>;
69*651b30c5SE Shattow	motorcomm,rx-clk-drv-microamp = <3970>;
70*651b30c5SE Shattow	motorcomm,rx-data-drv-microamp = <2910>;
71*651b30c5SE Shattow	motorcomm,tx-clk-10-inverted;
72*651b30c5SE Shattow	motorcomm,tx-clk-100-inverted;
73*651b30c5SE Shattow	motorcomm,tx-clk-1000-inverted;
74*651b30c5SE Shattow	motorcomm,tx-clk-adj-enabled;
75*651b30c5SE Shattow};
76*651b30c5SE Shattow
77*651b30c5SE Shattow&pwm {
78*651b30c5SE Shattow	status = "okay";
79*651b30c5SE Shattow};
80*651b30c5SE Shattow
81*651b30c5SE Shattow&spi0 {
82*651b30c5SE Shattow	status = "okay";
83*651b30c5SE Shattow};
84*651b30c5SE Shattow
85*651b30c5SE Shattow&sysgpio {
86*651b30c5SE Shattow	uart1_pins: uart1-0 {
87*651b30c5SE Shattow		tx-pins {
88*651b30c5SE Shattow			pinmux = <GPIOMUX(16, GPOUT_SYS_UART1_TX,
89*651b30c5SE Shattow					      GPOEN_ENABLE,
90*651b30c5SE Shattow					      GPI_NONE)>;
91*651b30c5SE Shattow			bias-disable;
92*651b30c5SE Shattow			drive-strength = <12>;
93*651b30c5SE Shattow			input-disable;
94*651b30c5SE Shattow			input-schmitt-disable;
95*651b30c5SE Shattow		};
96*651b30c5SE Shattow
97*651b30c5SE Shattow		rx-pins {
98*651b30c5SE Shattow			pinmux = <GPIOMUX(17, GPOUT_LOW,
99*651b30c5SE Shattow					      GPOEN_DISABLE,
100*651b30c5SE Shattow					      GPI_SYS_UART1_RX)>;
101*651b30c5SE Shattow			bias-pull-up;
102*651b30c5SE Shattow			input-enable;
103*651b30c5SE Shattow			input-schmitt-enable;
104*651b30c5SE Shattow		};
105*651b30c5SE Shattow
106*651b30c5SE Shattow		cts-pins {
107*651b30c5SE Shattow			pinmux = <GPIOMUX(3, GPOUT_LOW,
108*651b30c5SE Shattow					     GPOEN_DISABLE,
109*651b30c5SE Shattow					     GPI_SYS_UART1_CTS)>;
110*651b30c5SE Shattow			bias-disable;
111*651b30c5SE Shattow			input-enable;
112*651b30c5SE Shattow			input-schmitt-enable;
113*651b30c5SE Shattow		};
114*651b30c5SE Shattow
115*651b30c5SE Shattow		rts-pins {
116*651b30c5SE Shattow			pinmux = <GPIOMUX(2, GPOUT_SYS_UART1_RTS,
117*651b30c5SE Shattow					     GPOEN_ENABLE,
118*651b30c5SE Shattow					     GPI_NONE)>;
119*651b30c5SE Shattow			bias-disable;
120*651b30c5SE Shattow			input-disable;
121*651b30c5SE Shattow			input-schmitt-disable;
122*651b30c5SE Shattow		};
123*651b30c5SE Shattow	};
124*651b30c5SE Shattow
125*651b30c5SE Shattow	usb0_pins: usb0-0 {
126*651b30c5SE Shattow		vbus-pins {
127*651b30c5SE Shattow			pinmux = <GPIOMUX(25, GPOUT_SYS_USB_DRIVE_VBUS,
128*651b30c5SE Shattow					      GPOEN_ENABLE,
129*651b30c5SE Shattow					      GPI_NONE)>;
130*651b30c5SE Shattow			bias-disable;
131*651b30c5SE Shattow			input-disable;
132*651b30c5SE Shattow			input-schmitt-disable;
133*651b30c5SE Shattow			slew-rate = <0>;
134*651b30c5SE Shattow		};
135*651b30c5SE Shattow	};
136*651b30c5SE Shattow
137*651b30c5SE Shattow	wifi_host_wake_irq: wifi-host-wake-irq-0 {
138*651b30c5SE Shattow		wake-pins {
139*651b30c5SE Shattow			pinmux = <GPIOMUX(34, GPOUT_LOW,
140*651b30c5SE Shattow					      GPOEN_DISABLE,
141*651b30c5SE Shattow					      GPI_NONE)>;
142*651b30c5SE Shattow			input-enable;
143*651b30c5SE Shattow		};
144*651b30c5SE Shattow	};
145*651b30c5SE Shattow};
146*651b30c5SE Shattow
147*651b30c5SE Shattow&uart1 {
148*651b30c5SE Shattow	uart-has-rtscts;
149*651b30c5SE Shattow	pinctrl-0 = <&uart1_pins>;
150*651b30c5SE Shattow	pinctrl-names = "default";
151*651b30c5SE Shattow	status = "okay";
152*651b30c5SE Shattow};
153*651b30c5SE Shattow
154*651b30c5SE Shattow&usb0 {
155*651b30c5SE Shattow	dr_mode = "host";
156*651b30c5SE Shattow	pinctrl-names = "default";
157*651b30c5SE Shattow	pinctrl-0 = <&usb0_pins>;
158*651b30c5SE Shattow	status = "okay";
159*651b30c5SE Shattow};
160