summaryrefslogtreecommitdiff
path: root/arch/riscv/boot/dts/sophgo/sg2044-sophgo-srd3-10.dts
blob: fed3d9a384a00ccfc91dfa1531f799aa397a5dde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (C) 2025 Inochi Amaoto <inochiama@gmail.com>
 */

/dts-v1/;

#include "sg2044.dtsi"

/ {
	model = "Sophgo SG2044 SRD3-10";
	compatible = "sophgo,srd3-10", "sophgo,sg2044";

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
	};

	chosen {
		stdout-path = "serial1:115200n8";
	};
};

&osc {
	clock-frequency = <25000000>;
};

&emmc {
	bus-width = <4>;
	no-sdio;
	no-sd;
	non-removable;
	wp-inverted;
	status = "okay";
};

&gmac0 {
	phy-handle = <&phy0>;
	phy-mode = "rgmii-id";
	status = "okay";

	mdio {
		phy0: phy@0 {
			compatible = "ethernet-phy-ieee802.3-c22";
			reg = <0>;
			reset-gpios = <&porta 28 GPIO_ACTIVE_LOW>;
			reset-assert-us = <10000>;
			reset-deassert-us = <10000>;
			rx-internal-delay-ps = <2050>;
		};
	};
};

&i2c1 {
	status = "okay";

	mcu: syscon@17 {
		compatible = "sophgo,sg2044-hwmon-mcu", "sophgo,sg2042-hwmon-mcu";
		reg = <0x17>;
		#thermal-sensor-cells = <1>;
	};
};

&msi {
	status = "okay";
};

&pcie0 {
	bus-range = <0x00 0xff>;
	linux,pci-domain = <1>;
	status = "okay";
};

&pcie1 {
	bus-range = <0x00 0xff>;
	linux,pci-domain = <0>;
	status = "okay";
};

&pcie2 {
	bus-range = <0x00 0xff>;
	linux,pci-domain = <3>;
	status = "okay";
};

&pcie3 {
	bus-range = <0x00 0xff>;
	linux,pci-domain = <2>;
	status = "okay";
};

&pcie4 {
	bus-range = <0x00 0xff>;
	linux,pci-domain = <4>;
	status = "okay";
};

&pwm {
	status = "okay";
};

&sd {
	bus-width = <4>;
	no-sdio;
	no-mmc;
	wp-inverted;
	status = "okay";
};

&uart0 {
	/* for firmware */
	status = "reserved";
};

&uart1 {
	status = "okay";
};