10e9fed92SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 20e9fed92SChristian Hewitt/* 30e9fed92SChristian Hewitt * Copyright (c) Christian Hewitt <christianshewitt@gmail.com> 40e9fed92SChristian Hewitt */ 50e9fed92SChristian Hewitt 60e9fed92SChristian Hewitt/dts-v1/; 70e9fed92SChristian Hewitt 80e9fed92SChristian Hewitt#include "meson-gxm.dtsi" 90e9fed92SChristian Hewitt#include "meson-gx-p23x-q20x.dtsi" 100e9fed92SChristian Hewitt#include <dt-bindings/input/input.h> 110e9fed92SChristian Hewitt#include <dt-bindings/leds/common.h> 120e9fed92SChristian Hewitt 130e9fed92SChristian Hewitt/ { 140e9fed92SChristian Hewitt compatible = "minix,neo-u9h", "amlogic,s912", "amlogic,meson-gxm"; 150e9fed92SChristian Hewitt model = "Minix Neo U9-H"; 160e9fed92SChristian Hewitt 170e9fed92SChristian Hewitt leds { 180e9fed92SChristian Hewitt compatible = "gpio-leds"; 190e9fed92SChristian Hewitt 20*d9421d6cSKevin Hilman led-white { 210e9fed92SChristian Hewitt color = <LED_COLOR_ID_WHITE>; 220e9fed92SChristian Hewitt function = LED_FUNCTION_POWER; 230e9fed92SChristian Hewitt gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; 240e9fed92SChristian Hewitt default-state = "on"; 250e9fed92SChristian Hewitt panic-indicator; 260e9fed92SChristian Hewitt }; 270e9fed92SChristian Hewitt }; 280e9fed92SChristian Hewitt 290e9fed92SChristian Hewitt adc-keys { 300e9fed92SChristian Hewitt compatible = "adc-keys"; 310e9fed92SChristian Hewitt io-channels = <&saradc 0>; 320e9fed92SChristian Hewitt io-channel-names = "buttons"; 330e9fed92SChristian Hewitt keyup-threshold-microvolt = <1710000>; 340e9fed92SChristian Hewitt 350e9fed92SChristian Hewitt button-function { 360e9fed92SChristian Hewitt label = "update"; 370e9fed92SChristian Hewitt linux,code = <KEY_VENDOR>; 380e9fed92SChristian Hewitt press-threshold-microvolt = <10000>; 390e9fed92SChristian Hewitt }; 400e9fed92SChristian Hewitt }; 410e9fed92SChristian Hewitt 420e9fed92SChristian Hewitt gpio-keys-polled { 430e9fed92SChristian Hewitt compatible = "gpio-keys-polled"; 440e9fed92SChristian Hewitt #address-cells = <1>; 450e9fed92SChristian Hewitt #size-cells = <0>; 460e9fed92SChristian Hewitt poll-interval = <100>; 470e9fed92SChristian Hewitt 480e9fed92SChristian Hewitt button@0 { 490e9fed92SChristian Hewitt label = "power"; 500e9fed92SChristian Hewitt linux,code = <KEY_POWER>; 510e9fed92SChristian Hewitt gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 520e9fed92SChristian Hewitt }; 530e9fed92SChristian Hewitt }; 540e9fed92SChristian Hewitt}; 550e9fed92SChristian Hewitt 560e9fed92SChristian Hewittðmac { 570e9fed92SChristian Hewitt pinctrl-0 = <ð_pins>; 580e9fed92SChristian Hewitt pinctrl-names = "default"; 590e9fed92SChristian Hewitt phy-handle = <&external_phy>; 600e9fed92SChristian Hewitt amlogic,tx-delay-ns = <2>; 610e9fed92SChristian Hewitt phy-mode = "rgmii"; 620e9fed92SChristian Hewitt}; 630e9fed92SChristian Hewitt 640e9fed92SChristian Hewitt&external_mdio { 650e9fed92SChristian Hewitt external_phy: ethernet-phy@0 { 660e9fed92SChristian Hewitt /* Realtek RTL8211F (0x001cc916) */ 670e9fed92SChristian Hewitt reg = <0>; 680e9fed92SChristian Hewitt max-speed = <1000>; 690e9fed92SChristian Hewitt 700e9fed92SChristian Hewitt reset-assert-us = <10000>; 710e9fed92SChristian Hewitt reset-deassert-us = <80000>; 720e9fed92SChristian Hewitt reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 730e9fed92SChristian Hewitt 740e9fed92SChristian Hewitt interrupt-parent = <&gpio_intc>; 750e9fed92SChristian Hewitt /* MAC_INTR on GPIOZ_15 */ 760e9fed92SChristian Hewitt interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 770e9fed92SChristian Hewitt }; 780e9fed92SChristian Hewitt}; 790e9fed92SChristian Hewitt 800e9fed92SChristian Hewitt&ir { 810e9fed92SChristian Hewitt linux,rc-map-name = "rc-minix-neo"; 820e9fed92SChristian Hewitt}; 830e9fed92SChristian Hewitt 840e9fed92SChristian Hewitt&i2c_B { 850e9fed92SChristian Hewitt status = "okay"; 860e9fed92SChristian Hewitt pinctrl-0 = <&i2c_b_pins>; 870e9fed92SChristian Hewitt pinctrl-names = "default"; 880e9fed92SChristian Hewitt 890e9fed92SChristian Hewitt rtc: rtc@51 { 900e9fed92SChristian Hewitt status = "okay"; 910e9fed92SChristian Hewitt compatible = "haoyu,hym8563"; 920e9fed92SChristian Hewitt reg = <0x51>; 930e9fed92SChristian Hewitt #clock-cells = <0>; 940e9fed92SChristian Hewitt clock-frequency = <32768>; 950e9fed92SChristian Hewitt clock-output-names = "xin32k"; 960e9fed92SChristian Hewitt wakeup-source; 970e9fed92SChristian Hewitt }; 980e9fed92SChristian Hewitt}; 990e9fed92SChristian Hewitt 1000e9fed92SChristian Hewitt&sd_emmc_a { 1010e9fed92SChristian Hewitt brcmf: wifi@1 { 1020e9fed92SChristian Hewitt reg = <1>; 1030e9fed92SChristian Hewitt compatible = "brcm,bcm4329-fmac"; 1040e9fed92SChristian Hewitt }; 1050e9fed92SChristian Hewitt}; 1060e9fed92SChristian Hewitt 1070e9fed92SChristian Hewitt&uart_A { 1080e9fed92SChristian Hewitt status = "okay"; 1090e9fed92SChristian Hewitt pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 1100e9fed92SChristian Hewitt pinctrl-names = "default"; 1110e9fed92SChristian Hewitt uart-has-rtscts; 1120e9fed92SChristian Hewitt 1130e9fed92SChristian Hewitt bluetooth { 1140e9fed92SChristian Hewitt compatible = "brcm,bcm43438-bt"; 1150e9fed92SChristian Hewitt shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 1160e9fed92SChristian Hewitt max-speed = <2000000>; 1170e9fed92SChristian Hewitt clocks = <&wifi32k>; 1180e9fed92SChristian Hewitt clock-names = "lpo"; 1190e9fed92SChristian Hewitt }; 1200e9fed92SChristian Hewitt}; 121