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 20d9421d6cSKevin 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 poll-interval = <100>; 450e9fed92SChristian Hewitt 46*4956be99SKrzysztof Kozlowski button { 470e9fed92SChristian Hewitt label = "power"; 480e9fed92SChristian Hewitt linux,code = <KEY_POWER>; 490e9fed92SChristian Hewitt gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 500e9fed92SChristian Hewitt }; 510e9fed92SChristian Hewitt }; 520e9fed92SChristian Hewitt}; 530e9fed92SChristian Hewitt 540e9fed92SChristian Hewittðmac { 550e9fed92SChristian Hewitt pinctrl-0 = <ð_pins>; 560e9fed92SChristian Hewitt pinctrl-names = "default"; 570e9fed92SChristian Hewitt phy-handle = <&external_phy>; 580e9fed92SChristian Hewitt amlogic,tx-delay-ns = <2>; 590e9fed92SChristian Hewitt phy-mode = "rgmii"; 600e9fed92SChristian Hewitt}; 610e9fed92SChristian Hewitt 620e9fed92SChristian Hewitt&external_mdio { 630e9fed92SChristian Hewitt external_phy: ethernet-phy@0 { 640e9fed92SChristian Hewitt /* Realtek RTL8211F (0x001cc916) */ 650e9fed92SChristian Hewitt reg = <0>; 660e9fed92SChristian Hewitt max-speed = <1000>; 670e9fed92SChristian Hewitt 680e9fed92SChristian Hewitt reset-assert-us = <10000>; 690e9fed92SChristian Hewitt reset-deassert-us = <80000>; 700e9fed92SChristian Hewitt reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 710e9fed92SChristian Hewitt 720e9fed92SChristian Hewitt interrupt-parent = <&gpio_intc>; 730e9fed92SChristian Hewitt /* MAC_INTR on GPIOZ_15 */ 740e9fed92SChristian Hewitt interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 750e9fed92SChristian Hewitt }; 760e9fed92SChristian Hewitt}; 770e9fed92SChristian Hewitt 780e9fed92SChristian Hewitt&ir { 790e9fed92SChristian Hewitt linux,rc-map-name = "rc-minix-neo"; 800e9fed92SChristian Hewitt}; 810e9fed92SChristian Hewitt 820e9fed92SChristian Hewitt&i2c_B { 830e9fed92SChristian Hewitt status = "okay"; 840e9fed92SChristian Hewitt pinctrl-0 = <&i2c_b_pins>; 850e9fed92SChristian Hewitt pinctrl-names = "default"; 860e9fed92SChristian Hewitt 870e9fed92SChristian Hewitt rtc: rtc@51 { 880e9fed92SChristian Hewitt status = "okay"; 890e9fed92SChristian Hewitt compatible = "haoyu,hym8563"; 900e9fed92SChristian Hewitt reg = <0x51>; 910e9fed92SChristian Hewitt #clock-cells = <0>; 920e9fed92SChristian Hewitt clock-frequency = <32768>; 930e9fed92SChristian Hewitt clock-output-names = "xin32k"; 940e9fed92SChristian Hewitt wakeup-source; 950e9fed92SChristian Hewitt }; 960e9fed92SChristian Hewitt}; 970e9fed92SChristian Hewitt 980e9fed92SChristian Hewitt&sd_emmc_a { 990e9fed92SChristian Hewitt brcmf: wifi@1 { 1000e9fed92SChristian Hewitt reg = <1>; 1010e9fed92SChristian Hewitt compatible = "brcm,bcm4329-fmac"; 1020e9fed92SChristian Hewitt }; 1030e9fed92SChristian Hewitt}; 1040e9fed92SChristian Hewitt 1050e9fed92SChristian Hewitt&uart_A { 1060e9fed92SChristian Hewitt status = "okay"; 1070e9fed92SChristian Hewitt pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 1080e9fed92SChristian Hewitt pinctrl-names = "default"; 1090e9fed92SChristian Hewitt uart-has-rtscts; 1100e9fed92SChristian Hewitt 1110e9fed92SChristian Hewitt bluetooth { 1120e9fed92SChristian Hewitt compatible = "brcm,bcm43438-bt"; 1130e9fed92SChristian Hewitt shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 1140e9fed92SChristian Hewitt max-speed = <2000000>; 1150e9fed92SChristian Hewitt clocks = <&wifi32k>; 1160e9fed92SChristian Hewitt clock-names = "lpo"; 1170e9fed92SChristian Hewitt }; 1180e9fed92SChristian Hewitt}; 119