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