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