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 = <®_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 = <®_vdd5v>; 147*7204944dSAlexander Sverdlin status = "okay"; 148*7204944dSAlexander Sverdlin}; 149