1*b33f8cfbSJ. Neuschäfer// SPDX-License-Identifier: GPL-2.0 2*b33f8cfbSJ. Neuschäfer/* 3*b33f8cfbSJ. Neuschäfer * Copyright (C) 2025 J. Neuschäfer <j.ne@posteo.net> 4*b33f8cfbSJ. Neuschäfer * 5*b33f8cfbSJ. Neuschäfer * Debug UART (3.3V, 115200 baud) at the corner of the board: 6*b33f8cfbSJ. Neuschäfer * (4) (3) (2) [1] 7*b33f8cfbSJ. Neuschäfer * Vcc RXD TXD GND 8*b33f8cfbSJ. Neuschäfer */ 9*b33f8cfbSJ. Neuschäfer 10*b33f8cfbSJ. Neuschäfer/dts-v1/; 11*b33f8cfbSJ. Neuschäfer 12*b33f8cfbSJ. Neuschäfer#include <dt-bindings/input/input.h> 13*b33f8cfbSJ. Neuschäfer#include <dt-bindings/interrupt-controller/amlogic,meson-g12a-gpio-intc.h> 14*b33f8cfbSJ. Neuschäfer 15*b33f8cfbSJ. Neuschäfer#include "meson-gxm.dtsi" 16*b33f8cfbSJ. Neuschäfer#include "meson-gx-p23x-q20x.dtsi" 17*b33f8cfbSJ. Neuschäfer 18*b33f8cfbSJ. Neuschäfer/ { 19*b33f8cfbSJ. Neuschäfer compatible = "ugoos,am3", "amlogic,s912", "amlogic,meson-gxm"; 20*b33f8cfbSJ. Neuschäfer model = "Ugoos AM3"; 21*b33f8cfbSJ. Neuschäfer 22*b33f8cfbSJ. Neuschäfer adc-keys { 23*b33f8cfbSJ. Neuschäfer compatible = "adc-keys"; 24*b33f8cfbSJ. Neuschäfer io-channels = <&saradc 0>; 25*b33f8cfbSJ. Neuschäfer io-channel-names = "buttons"; 26*b33f8cfbSJ. Neuschäfer keyup-threshold-microvolt = <1710000>; 27*b33f8cfbSJ. Neuschäfer 28*b33f8cfbSJ. Neuschäfer button-function { 29*b33f8cfbSJ. Neuschäfer label = "Update"; 30*b33f8cfbSJ. Neuschäfer linux,code = <KEY_VENDOR>; 31*b33f8cfbSJ. Neuschäfer press-threshold-microvolt = <10000>; 32*b33f8cfbSJ. Neuschäfer }; 33*b33f8cfbSJ. Neuschäfer }; 34*b33f8cfbSJ. Neuschäfer}; 35*b33f8cfbSJ. Neuschäfer 36*b33f8cfbSJ. Neuschäfer&cvbs_connector { 37*b33f8cfbSJ. Neuschäfer /* Not used on this board */ 38*b33f8cfbSJ. Neuschäfer status = "disabled"; 39*b33f8cfbSJ. Neuschäfer}; 40*b33f8cfbSJ. Neuschäfer 41*b33f8cfbSJ. Neuschäferðmac { 42*b33f8cfbSJ. Neuschäfer pinctrl-0 = <ð_pins>; 43*b33f8cfbSJ. Neuschäfer pinctrl-names = "default"; 44*b33f8cfbSJ. Neuschäfer 45*b33f8cfbSJ. Neuschäfer /* Select external PHY by default */ 46*b33f8cfbSJ. Neuschäfer phy-handle = <&external_phy>; 47*b33f8cfbSJ. Neuschäfer 48*b33f8cfbSJ. Neuschäfer amlogic,tx-delay-ns = <2>; 49*b33f8cfbSJ. Neuschäfer 50*b33f8cfbSJ. Neuschäfer /* External PHY is in RGMII */ 51*b33f8cfbSJ. Neuschäfer phy-mode = "rgmii"; 52*b33f8cfbSJ. Neuschäfer 53*b33f8cfbSJ. Neuschäfer status = "okay"; 54*b33f8cfbSJ. Neuschäfer}; 55*b33f8cfbSJ. Neuschäfer 56*b33f8cfbSJ. Neuschäfer&external_mdio { 57*b33f8cfbSJ. Neuschäfer external_phy: ethernet-phy@0 { 58*b33f8cfbSJ. Neuschäfer /* Realtek RTL8211F (0x001cc916) */ 59*b33f8cfbSJ. Neuschäfer reg = <0>; 60*b33f8cfbSJ. Neuschäfer 61*b33f8cfbSJ. Neuschäfer reset-assert-us = <10000>; 62*b33f8cfbSJ. Neuschäfer reset-deassert-us = <80000>; 63*b33f8cfbSJ. Neuschäfer reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 64*b33f8cfbSJ. Neuschäfer 65*b33f8cfbSJ. Neuschäfer interrupt-parent = <&gpio_intc>; 66*b33f8cfbSJ. Neuschäfer /* MAC_INTR on GPIOZ_15 */ 67*b33f8cfbSJ. Neuschäfer interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 68*b33f8cfbSJ. Neuschäfer }; 69*b33f8cfbSJ. Neuschäfer}; 70*b33f8cfbSJ. Neuschäfer 71*b33f8cfbSJ. Neuschäfer&i2c_B { 72*b33f8cfbSJ. Neuschäfer status = "okay"; 73*b33f8cfbSJ. Neuschäfer pinctrl-names = "default"; 74*b33f8cfbSJ. Neuschäfer pinctrl-0 = <&i2c_b_pins>; 75*b33f8cfbSJ. Neuschäfer 76*b33f8cfbSJ. Neuschäfer rtc: rtc@51 { 77*b33f8cfbSJ. Neuschäfer compatible = "haoyu,hym8563"; 78*b33f8cfbSJ. Neuschäfer reg = <0x51>; 79*b33f8cfbSJ. Neuschäfer #clock-cells = <0>; 80*b33f8cfbSJ. Neuschäfer }; 81*b33f8cfbSJ. Neuschäfer}; 82*b33f8cfbSJ. Neuschäfer 83*b33f8cfbSJ. Neuschäfer/* WLAN: Atheros 10k (QCA9377) */ 84*b33f8cfbSJ. Neuschäfer&sd_emmc_a { 85*b33f8cfbSJ. Neuschäfer max-frequency = <200000000>; 86*b33f8cfbSJ. Neuschäfer}; 87*b33f8cfbSJ. Neuschäfer 88*b33f8cfbSJ. Neuschäfer/* eMMC */ 89*b33f8cfbSJ. Neuschäfer&sd_emmc_c { 90*b33f8cfbSJ. Neuschäfer max-frequency = <100000000>; 91*b33f8cfbSJ. Neuschäfer}; 92