xref: /linux/scripts/dtc/include-prefixes/riscv/sophgo/sg2042-evb-v2.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1*6ea2a061SHan Gao// SPDX-License-Identifier: GPL-2.0 OR MIT
2*6ea2a061SHan Gao/*
3*6ea2a061SHan Gao * Copyright (C) 2025 Sophgo Technology Inc. All rights reserved.
4*6ea2a061SHan Gao */
5*6ea2a061SHan Gao
6*6ea2a061SHan Gao#include "sg2042.dtsi"
7*6ea2a061SHan Gao
8*6ea2a061SHan Gao#include <dt-bindings/gpio/gpio.h>
9*6ea2a061SHan Gao#include <dt-bindings/input/input.h>
10*6ea2a061SHan Gao
11*6ea2a061SHan Gao/ {
12*6ea2a061SHan Gao	model = "Sophgo SG2042 EVB V2.0";
13*6ea2a061SHan Gao	compatible = "sophgo,sg2042-evb-v2", "sophgo,sg2042";
14*6ea2a061SHan Gao
15*6ea2a061SHan Gao	chosen {
16*6ea2a061SHan Gao		stdout-path = "serial0";
17*6ea2a061SHan Gao	};
18*6ea2a061SHan Gao
19*6ea2a061SHan Gao	pwmfan: pwm-fan {
20*6ea2a061SHan Gao		compatible = "pwm-fan";
21*6ea2a061SHan Gao		cooling-levels = <103 128 179 230 255>;
22*6ea2a061SHan Gao		pwms = <&pwm 0 40000 0>;
23*6ea2a061SHan Gao		#cooling-cells = <2>;
24*6ea2a061SHan Gao	};
25*6ea2a061SHan Gao
26*6ea2a061SHan Gao	thermal-zones {
27*6ea2a061SHan Gao		soc-thermal {
28*6ea2a061SHan Gao			polling-delay-passive = <1000>;
29*6ea2a061SHan Gao			polling-delay = <1000>;
30*6ea2a061SHan Gao			thermal-sensors = <&mcu 0>;
31*6ea2a061SHan Gao
32*6ea2a061SHan Gao			trips {
33*6ea2a061SHan Gao				soc_active1: soc-active1 {
34*6ea2a061SHan Gao					temperature = <30000>;
35*6ea2a061SHan Gao					hysteresis = <8000>;
36*6ea2a061SHan Gao					type = "active";
37*6ea2a061SHan Gao				};
38*6ea2a061SHan Gao
39*6ea2a061SHan Gao				soc_active2: soc-active2 {
40*6ea2a061SHan Gao					temperature = <58000>;
41*6ea2a061SHan Gao					hysteresis = <12000>;
42*6ea2a061SHan Gao					type = "active";
43*6ea2a061SHan Gao				};
44*6ea2a061SHan Gao
45*6ea2a061SHan Gao				soc_active3: soc-active3 {
46*6ea2a061SHan Gao					temperature = <70000>;
47*6ea2a061SHan Gao					hysteresis = <10000>;
48*6ea2a061SHan Gao					type = "active";
49*6ea2a061SHan Gao				};
50*6ea2a061SHan Gao
51*6ea2a061SHan Gao				soc_hot: soc-hot {
52*6ea2a061SHan Gao					temperature = <80000>;
53*6ea2a061SHan Gao					hysteresis = <5000>;
54*6ea2a061SHan Gao					type = "hot";
55*6ea2a061SHan Gao				};
56*6ea2a061SHan Gao			};
57*6ea2a061SHan Gao
58*6ea2a061SHan Gao			cooling-maps {
59*6ea2a061SHan Gao				map0 {
60*6ea2a061SHan Gao					trip = <&soc_active1>;
61*6ea2a061SHan Gao					cooling-device = <&pwmfan 0 1>;
62*6ea2a061SHan Gao				};
63*6ea2a061SHan Gao
64*6ea2a061SHan Gao				map1 {
65*6ea2a061SHan Gao					trip = <&soc_active2>;
66*6ea2a061SHan Gao					cooling-device = <&pwmfan 1 2>;
67*6ea2a061SHan Gao				};
68*6ea2a061SHan Gao
69*6ea2a061SHan Gao				map2 {
70*6ea2a061SHan Gao					trip = <&soc_active3>;
71*6ea2a061SHan Gao					cooling-device = <&pwmfan 2 3>;
72*6ea2a061SHan Gao				};
73*6ea2a061SHan Gao
74*6ea2a061SHan Gao				map3 {
75*6ea2a061SHan Gao					trip = <&soc_hot>;
76*6ea2a061SHan Gao					cooling-device = <&pwmfan 3 4>;
77*6ea2a061SHan Gao				};
78*6ea2a061SHan Gao			};
79*6ea2a061SHan Gao		};
80*6ea2a061SHan Gao
81*6ea2a061SHan Gao		board-thermal {
82*6ea2a061SHan Gao			polling-delay-passive = <1000>;
83*6ea2a061SHan Gao			polling-delay = <1000>;
84*6ea2a061SHan Gao			thermal-sensors = <&mcu 1>;
85*6ea2a061SHan Gao
86*6ea2a061SHan Gao			trips {
87*6ea2a061SHan Gao				board_active: board-active {
88*6ea2a061SHan Gao					temperature = <75000>;
89*6ea2a061SHan Gao					hysteresis = <8000>;
90*6ea2a061SHan Gao					type = "active";
91*6ea2a061SHan Gao				};
92*6ea2a061SHan Gao			};
93*6ea2a061SHan Gao
94*6ea2a061SHan Gao			cooling-maps {
95*6ea2a061SHan Gao				map4 {
96*6ea2a061SHan Gao					trip = <&board_active>;
97*6ea2a061SHan Gao					cooling-device = <&pwmfan 3 4>;
98*6ea2a061SHan Gao				};
99*6ea2a061SHan Gao			};
100*6ea2a061SHan Gao		};
101*6ea2a061SHan Gao	};
102*6ea2a061SHan Gao};
103*6ea2a061SHan Gao
104*6ea2a061SHan Gao&cgi_main {
105*6ea2a061SHan Gao	clock-frequency = <25000000>;
106*6ea2a061SHan Gao};
107*6ea2a061SHan Gao
108*6ea2a061SHan Gao&cgi_dpll0 {
109*6ea2a061SHan Gao	clock-frequency = <25000000>;
110*6ea2a061SHan Gao};
111*6ea2a061SHan Gao
112*6ea2a061SHan Gao&cgi_dpll1 {
113*6ea2a061SHan Gao	clock-frequency = <25000000>;
114*6ea2a061SHan Gao};
115*6ea2a061SHan Gao
116*6ea2a061SHan Gao&emmc {
117*6ea2a061SHan Gao	pinctrl-0 = <&emmc_cfg>;
118*6ea2a061SHan Gao	pinctrl-names = "default";
119*6ea2a061SHan Gao	bus-width = <4>;
120*6ea2a061SHan Gao	no-sdio;
121*6ea2a061SHan Gao	no-sd;
122*6ea2a061SHan Gao	non-removable;
123*6ea2a061SHan Gao	wp-inverted;
124*6ea2a061SHan Gao	status = "okay";
125*6ea2a061SHan Gao};
126*6ea2a061SHan Gao
127*6ea2a061SHan Gao&i2c1 {
128*6ea2a061SHan Gao	pinctrl-0 = <&i2c1_cfg>;
129*6ea2a061SHan Gao	pinctrl-names = "default";
130*6ea2a061SHan Gao	status = "okay";
131*6ea2a061SHan Gao
132*6ea2a061SHan Gao	mcu: syscon@17 {
133*6ea2a061SHan Gao		compatible = "sophgo,sg2042-hwmon-mcu";
134*6ea2a061SHan Gao		reg = <0x17>;
135*6ea2a061SHan Gao		#thermal-sensor-cells = <1>;
136*6ea2a061SHan Gao	};
137*6ea2a061SHan Gao};
138*6ea2a061SHan Gao
139*6ea2a061SHan Gao&gmac0 {
140*6ea2a061SHan Gao	phy-handle = <&phy0>;
141*6ea2a061SHan Gao	phy-mode = "rgmii-id";
142*6ea2a061SHan Gao	status = "okay";
143*6ea2a061SHan Gao
144*6ea2a061SHan Gao	mdio {
145*6ea2a061SHan Gao		phy0: phy@0 {
146*6ea2a061SHan Gao			compatible = "ethernet-phy-ieee802.3-c22";
147*6ea2a061SHan Gao			reg = <0>;
148*6ea2a061SHan Gao			reset-gpios = <&port0a 27 GPIO_ACTIVE_LOW>;
149*6ea2a061SHan Gao			reset-assert-us = <100000>;
150*6ea2a061SHan Gao			reset-deassert-us = <100000>;
151*6ea2a061SHan Gao		};
152*6ea2a061SHan Gao	};
153*6ea2a061SHan Gao};
154*6ea2a061SHan Gao
155*6ea2a061SHan Gao&pinctrl {
156*6ea2a061SHan Gao	emmc_cfg: sdhci-emmc-cfg {
157*6ea2a061SHan Gao		sdhci-emmc-wp-pins {
158*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_EMMC_WP, 0)>;
159*6ea2a061SHan Gao			bias-disable;
160*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
161*6ea2a061SHan Gao			input-schmitt-disable;
162*6ea2a061SHan Gao		};
163*6ea2a061SHan Gao
164*6ea2a061SHan Gao		sdhci-emmc-cd-pins {
165*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_EMMC_CD, 0)>;
166*6ea2a061SHan Gao			bias-pull-up;
167*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
168*6ea2a061SHan Gao			input-schmitt-enable;
169*6ea2a061SHan Gao		};
170*6ea2a061SHan Gao
171*6ea2a061SHan Gao		sdhci-emmc-rst-pwr-pins {
172*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_EMMC_RST, 0)>,
173*6ea2a061SHan Gao				 <PINMUX(PIN_EMMC_PWR_EN, 0)>;
174*6ea2a061SHan Gao			bias-disable;
175*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
176*6ea2a061SHan Gao			input-schmitt-disable;
177*6ea2a061SHan Gao		};
178*6ea2a061SHan Gao	};
179*6ea2a061SHan Gao
180*6ea2a061SHan Gao	i2c1_cfg: i2c1-cfg {
181*6ea2a061SHan Gao		i2c1-pins {
182*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_IIC1_SDA, 0)>,
183*6ea2a061SHan Gao				 <PINMUX(PIN_IIC1_SCL, 0)>;
184*6ea2a061SHan Gao			bias-pull-up;
185*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
186*6ea2a061SHan Gao			input-schmitt-enable;
187*6ea2a061SHan Gao		};
188*6ea2a061SHan Gao	};
189*6ea2a061SHan Gao
190*6ea2a061SHan Gao	sd_cfg: sdhci-sd-cfg {
191*6ea2a061SHan Gao		sdhci-sd-cd-wp-pins {
192*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_SDIO_CD, 0)>,
193*6ea2a061SHan Gao				 <PINMUX(PIN_SDIO_WP, 0)>;
194*6ea2a061SHan Gao			bias-pull-up;
195*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
196*6ea2a061SHan Gao			input-schmitt-enable;
197*6ea2a061SHan Gao		};
198*6ea2a061SHan Gao
199*6ea2a061SHan Gao		sdhci-sd-rst-pwr-pins {
200*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_SDIO_RST, 0)>,
201*6ea2a061SHan Gao				 <PINMUX(PIN_SDIO_PWR_EN, 0)>;
202*6ea2a061SHan Gao			bias-disable;
203*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
204*6ea2a061SHan Gao			input-schmitt-disable;
205*6ea2a061SHan Gao		};
206*6ea2a061SHan Gao	};
207*6ea2a061SHan Gao
208*6ea2a061SHan Gao	uart0_cfg: uart0-cfg {
209*6ea2a061SHan Gao		uart0-rx-pins {
210*6ea2a061SHan Gao			pinmux = <PINMUX(PIN_UART0_TX, 0)>,
211*6ea2a061SHan Gao				 <PINMUX(PIN_UART0_RX, 0)>;
212*6ea2a061SHan Gao			bias-pull-up;
213*6ea2a061SHan Gao			drive-strength-microamp = <26800>;
214*6ea2a061SHan Gao			input-schmitt-enable;
215*6ea2a061SHan Gao		};
216*6ea2a061SHan Gao	};
217*6ea2a061SHan Gao};
218*6ea2a061SHan Gao
219*6ea2a061SHan Gao&sd {
220*6ea2a061SHan Gao	pinctrl-0 = <&sd_cfg>;
221*6ea2a061SHan Gao	pinctrl-names = "default";
222*6ea2a061SHan Gao	bus-width = <4>;
223*6ea2a061SHan Gao	no-sdio;
224*6ea2a061SHan Gao	no-mmc;
225*6ea2a061SHan Gao	wp-inverted;
226*6ea2a061SHan Gao	status = "okay";
227*6ea2a061SHan Gao};
228*6ea2a061SHan Gao
229*6ea2a061SHan Gao&uart0 {
230*6ea2a061SHan Gao	pinctrl-0 = <&uart0_cfg>;
231*6ea2a061SHan Gao	pinctrl-names = "default";
232*6ea2a061SHan Gao	status = "okay";
233*6ea2a061SHan Gao};
234