1// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
3
4#include <dt-bindings/gpio/gpio.h>
5#include <dt-bindings/leds/common.h>
6
7/dts-v1/;
8
9#include "sun20i-d1.dtsi"
10#include "sun20i-common-regulators.dtsi"
11
12/ {
13	model = "Dongshan Nezha STU";
14	compatible = "100ask,dongshan-nezha-stu", "allwinner,sun20i-d1";
15
16	aliases {
17		ethernet0 = &emac;
18		serial0 = &uart0;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	leds {
26		compatible = "gpio-leds";
27
28		led-0 {
29			color = <LED_COLOR_ID_GREEN>;
30			function = LED_FUNCTION_STATUS;
31			gpios = <&pio 2 1 GPIO_ACTIVE_HIGH>; /* PC1 */
32		};
33	};
34
35	reg_usbvbus: usbvbus {
36		compatible = "regulator-fixed";
37		regulator-name = "usbvbus";
38		regulator-min-microvolt = <5000000>;
39		regulator-max-microvolt = <5000000>;
40		gpio = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
41		enable-active-high;
42		vin-supply = <&reg_vcc>;
43	};
44
45	/*
46	 * This regulator is PWM-controlled, but the PWM controller is not
47	 * yet supported, so fix the regulator to its default voltage.
48	 */
49	reg_vdd_cpu: vdd-cpu {
50		compatible = "regulator-fixed";
51		regulator-name = "vdd-cpu";
52		regulator-min-microvolt = <1100000>;
53		regulator-max-microvolt = <1100000>;
54		vin-supply = <&reg_vcc>;
55	};
56};
57
58&cpu0 {
59	cpu-supply = <&reg_vdd_cpu>;
60};
61
62&dcxo {
63	clock-frequency = <24000000>;
64};
65
66&ehci0 {
67	status = "okay";
68};
69
70&emac {
71	pinctrl-0 = <&rgmii_pe_pins>;
72	pinctrl-names = "default";
73	phy-handle = <&ext_rgmii_phy>;
74	phy-mode = "rgmii-id";
75	phy-supply = <&reg_vcc_3v3>;
76	status = "okay";
77};
78
79&mdio {
80	ext_rgmii_phy: ethernet-phy@1 {
81		compatible = "ethernet-phy-ieee802.3-c22";
82		reg = <1>;
83	};
84};
85
86&mmc0 {
87	broken-cd;
88	bus-width = <4>;
89	disable-wp;
90	vmmc-supply = <&reg_vcc_3v3>;
91	vqmmc-supply = <&reg_vcc_3v3>;
92	pinctrl-0 = <&mmc0_pins>;
93	pinctrl-names = "default";
94	status = "okay";
95};
96
97&ohci0 {
98	status = "okay";
99};
100
101&uart0 {
102	pinctrl-0 = <&uart0_pb8_pins>;
103	pinctrl-names = "default";
104	status = "okay";
105};
106
107&usb_otg {
108	dr_mode = "otg";
109	status = "okay";
110};
111
112&usbphy {
113	usb0_id_det-gpios = <&pio 3 21 GPIO_ACTIVE_HIGH>; /* PD21 */
114	usb0_vbus_det-gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
115	usb0_vbus-supply = <&reg_usbvbus>;
116	status = "okay";
117};
118