xref: /linux/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a133-helperboard.dts (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1*7204944dSAlexander Sverdlin// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*7204944dSAlexander Sverdlin/*
3*7204944dSAlexander Sverdlin * Copyright (c) 2025 Arm Ltd.
4*7204944dSAlexander Sverdlin * Copyright (c) 2026 Alexander Sverdlin <alexander.sverdlin@gmail.com>
5*7204944dSAlexander Sverdlin */
6*7204944dSAlexander Sverdlin
7*7204944dSAlexander Sverdlin/dts-v1/;
8*7204944dSAlexander Sverdlin
9*7204944dSAlexander Sverdlin#include "sun50i-a133-helperboard-core.dtsi"
10*7204944dSAlexander Sverdlin
11*7204944dSAlexander Sverdlin#include <dt-bindings/gpio/gpio.h>
12*7204944dSAlexander Sverdlin#include <dt-bindings/input/linux-event-codes.h>
13*7204944dSAlexander Sverdlin#include <dt-bindings/leds/common.h>
14*7204944dSAlexander Sverdlin
15*7204944dSAlexander Sverdlin/{
16*7204944dSAlexander Sverdlin	model = "Baijie HelperBoard A133";
17*7204944dSAlexander Sverdlin	compatible = "baijie,helperboard-a133",
18*7204944dSAlexander Sverdlin		     "baijie,helperboard-a133-core",
19*7204944dSAlexander Sverdlin		     "allwinner,sun50i-a100";
20*7204944dSAlexander Sverdlin
21*7204944dSAlexander Sverdlin	aliases {
22*7204944dSAlexander Sverdlin		serial0 = &uart0;
23*7204944dSAlexander Sverdlin	};
24*7204944dSAlexander Sverdlin
25*7204944dSAlexander Sverdlin	chosen {
26*7204944dSAlexander Sverdlin		stdout-path = "serial0:115200n8";
27*7204944dSAlexander Sverdlin	};
28*7204944dSAlexander Sverdlin
29*7204944dSAlexander Sverdlin	leds {
30*7204944dSAlexander Sverdlin		compatible = "gpio-leds";
31*7204944dSAlexander Sverdlin
32*7204944dSAlexander Sverdlin		led {
33*7204944dSAlexander Sverdlin			function = LED_FUNCTION_INDICATOR;
34*7204944dSAlexander Sverdlin			color = <LED_COLOR_ID_GREEN>;
35*7204944dSAlexander Sverdlin			gpios = <&pio 7 13 GPIO_ACTIVE_LOW>;	/* PH13 */
36*7204944dSAlexander Sverdlin		};
37*7204944dSAlexander Sverdlin	};
38*7204944dSAlexander Sverdlin
39*7204944dSAlexander Sverdlin	reg_vdd5v: vdd5v {
40*7204944dSAlexander Sverdlin		/* board wide 5V supply from a 12V->5V regulator */
41*7204944dSAlexander Sverdlin		compatible = "regulator-fixed";
42*7204944dSAlexander Sverdlin		regulator-name = "vdd-5v";
43*7204944dSAlexander Sverdlin		regulator-min-microvolt = <5000000>;
44*7204944dSAlexander Sverdlin		regulator-max-microvolt = <5000000>;
45*7204944dSAlexander Sverdlin		regulator-always-on;
46*7204944dSAlexander Sverdlin	};
47*7204944dSAlexander Sverdlin};
48*7204944dSAlexander Sverdlin
49*7204944dSAlexander Sverdlin&ehci1 {
50*7204944dSAlexander Sverdlin	status = "okay";
51*7204944dSAlexander Sverdlin};
52*7204944dSAlexander Sverdlin
53*7204944dSAlexander Sverdlin&emac0 {
54*7204944dSAlexander Sverdlin	pinctrl-names = "default";
55*7204944dSAlexander Sverdlin	pinctrl-0 = <&rgmii0_pins>;
56*7204944dSAlexander Sverdlin	phy-handle = <&rgmii_phy>;
57*7204944dSAlexander Sverdlin	phy-mode = "rgmii-id";
58*7204944dSAlexander Sverdlin	allwinner,rx-delay-ps = <200>;
59*7204944dSAlexander Sverdlin	allwinner,tx-delay-ps = <200>;
60*7204944dSAlexander Sverdlin	status = "okay";
61*7204944dSAlexander Sverdlin};
62*7204944dSAlexander Sverdlin
63*7204944dSAlexander Sverdlin&lradc {
64*7204944dSAlexander Sverdlin	wakeup-source;
65*7204944dSAlexander Sverdlin	status = "okay";
66*7204944dSAlexander Sverdlin
67*7204944dSAlexander Sverdlin	button-115 {
68*7204944dSAlexander Sverdlin		label = "K1";
69*7204944dSAlexander Sverdlin		linux,code = <KEY_1>;
70*7204944dSAlexander Sverdlin		channel = <0>;
71*7204944dSAlexander Sverdlin		voltage = <114607>;
72*7204944dSAlexander Sverdlin	};
73*7204944dSAlexander Sverdlin
74*7204944dSAlexander Sverdlin	button-235 {
75*7204944dSAlexander Sverdlin		label = "K2";
76*7204944dSAlexander Sverdlin		linux,code = <KEY_2>;
77*7204944dSAlexander Sverdlin		channel = <0>;
78*7204944dSAlexander Sverdlin		voltage = <234783>;
79*7204944dSAlexander Sverdlin	};
80*7204944dSAlexander Sverdlin
81*7204944dSAlexander Sverdlin	button-360 {
82*7204944dSAlexander Sverdlin		label = "K3";
83*7204944dSAlexander Sverdlin		linux,code = <KEY_3>;
84*7204944dSAlexander Sverdlin		channel = <0>;
85*7204944dSAlexander Sverdlin		voltage = <360000>;
86*7204944dSAlexander Sverdlin	};
87*7204944dSAlexander Sverdlin
88*7204944dSAlexander Sverdlin	button-476 {
89*7204944dSAlexander Sverdlin		label = "K4";
90*7204944dSAlexander Sverdlin		linux,code = <KEY_4>;
91*7204944dSAlexander Sverdlin		channel = <0>;
92*7204944dSAlexander Sverdlin		voltage = <476471>;
93*7204944dSAlexander Sverdlin	};
94*7204944dSAlexander Sverdlin
95*7204944dSAlexander Sverdlin	button-592 {
96*7204944dSAlexander Sverdlin		label = "K5";
97*7204944dSAlexander Sverdlin		linux,code = <KEY_5>;
98*7204944dSAlexander Sverdlin		channel = <0>;
99*7204944dSAlexander Sverdlin		voltage = <591946>;
100*7204944dSAlexander Sverdlin	};
101*7204944dSAlexander Sverdlin};
102*7204944dSAlexander Sverdlin
103*7204944dSAlexander Sverdlin&mdio0 {
104*7204944dSAlexander Sverdlin	reset-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>;	/* PH11 */
105*7204944dSAlexander Sverdlin	reset-delay-us = <10000>;
106*7204944dSAlexander Sverdlin	reset-post-delay-us = <150000>;
107*7204944dSAlexander Sverdlin
108*7204944dSAlexander Sverdlin	rgmii_phy: ethernet-phy@1 {
109*7204944dSAlexander Sverdlin		compatible = "ethernet-phy-ieee802.3-c22";
110*7204944dSAlexander Sverdlin		reg = <1>;
111*7204944dSAlexander Sverdlin	};
112*7204944dSAlexander Sverdlin};
113*7204944dSAlexander Sverdlin
114*7204944dSAlexander Sverdlin&mmc0 {
115*7204944dSAlexander Sverdlin	vmmc-supply = <&reg_dcdc1>;
116*7204944dSAlexander Sverdlin	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;	/* PF6 */
117*7204944dSAlexander Sverdlin	bus-width = <4>;
118*7204944dSAlexander Sverdlin	disable-wp;
119*7204944dSAlexander Sverdlin	status = "okay";
120*7204944dSAlexander Sverdlin};
121*7204944dSAlexander Sverdlin
122*7204944dSAlexander Sverdlin&ohci1 {
123*7204944dSAlexander Sverdlin	status = "okay";
124*7204944dSAlexander Sverdlin};
125*7204944dSAlexander Sverdlin
126*7204944dSAlexander Sverdlin&rgmii0_pins {
127*7204944dSAlexander Sverdlin	drive-strength = <30>;
128*7204944dSAlexander Sverdlin};
129*7204944dSAlexander Sverdlin
130*7204944dSAlexander Sverdlin&uart0 {
131*7204944dSAlexander Sverdlin	pinctrl-names = "default";
132*7204944dSAlexander Sverdlin	pinctrl-0 = <&uart0_pb_pins>;
133*7204944dSAlexander Sverdlin	status = "okay";
134*7204944dSAlexander Sverdlin};
135*7204944dSAlexander Sverdlin
136*7204944dSAlexander Sverdlin&usb_otg {
137*7204944dSAlexander Sverdlin	/*
138*7204944dSAlexander Sverdlin	 * Connected to a downstream port of an onboard hub, therefore only
139*7204944dSAlexander Sverdlin	 * "peripheral" mode will work here.
140*7204944dSAlexander Sverdlin	 */
141*7204944dSAlexander Sverdlin	dr_mode = "peripheral";
142*7204944dSAlexander Sverdlin	status = "okay";
143*7204944dSAlexander Sverdlin};
144*7204944dSAlexander Sverdlin
145*7204944dSAlexander Sverdlin&usbphy {
146*7204944dSAlexander Sverdlin	usb1_vbus-supply = <&reg_vdd5v>;
147*7204944dSAlexander Sverdlin	status = "okay";
148*7204944dSAlexander Sverdlin};
149