1*727d93edSChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*727d93edSChristian Hewitt 3*727d93edSChristian Hewitt/* 4*727d93edSChristian Hewitt * Author: Christian Hewitt <christianshewitt@gmail.com> 5*727d93edSChristian Hewitt */ 6*727d93edSChristian Hewitt 7*727d93edSChristian Hewitt/dts-v1/; 8*727d93edSChristian Hewitt 9*727d93edSChristian Hewitt#include "meson-gxm.dtsi" 10*727d93edSChristian Hewitt#include "meson-gx-p23x-q20x.dtsi" 11*727d93edSChristian Hewitt#include <dt-bindings/input/input.h> 12*727d93edSChristian Hewitt#include <dt-bindings/leds/common.h> 13*727d93edSChristian Hewitt 14*727d93edSChristian Hewitt/ { 15*727d93edSChristian Hewitt compatible = "videostrong,gxm-kiii-pro", "amlogic,s912", "amlogic,meson-gxm"; 16*727d93edSChristian Hewitt model = "MeCool KIII Pro"; 17*727d93edSChristian Hewitt 18*727d93edSChristian Hewitt memory@0 { 19*727d93edSChristian Hewitt device_type = "memory"; 20*727d93edSChristian Hewitt reg = <0x0 0x0 0x0 0xC0000000>; 21*727d93edSChristian Hewitt }; 22*727d93edSChristian Hewitt 23*727d93edSChristian Hewitt adc-keys { 24*727d93edSChristian Hewitt compatible = "adc-keys"; 25*727d93edSChristian Hewitt io-channels = <&saradc 0>; 26*727d93edSChristian Hewitt io-channel-names = "buttons"; 27*727d93edSChristian Hewitt keyup-threshold-microvolt = <1710000>; 28*727d93edSChristian Hewitt 29*727d93edSChristian Hewitt button-function { 30*727d93edSChristian Hewitt label = "Update"; 31*727d93edSChristian Hewitt linux,code = <KEY_VENDOR>; 32*727d93edSChristian Hewitt press-threshold-microvolt = <10000>; 33*727d93edSChristian Hewitt }; 34*727d93edSChristian Hewitt }; 35*727d93edSChristian Hewitt 36*727d93edSChristian Hewitt gpio-keys-polled { 37*727d93edSChristian Hewitt compatible = "gpio-keys-polled"; 38*727d93edSChristian Hewitt #address-cells = <1>; 39*727d93edSChristian Hewitt #size-cells = <0>; 40*727d93edSChristian Hewitt poll-interval = <100>; 41*727d93edSChristian Hewitt 42*727d93edSChristian Hewitt button@0 { 43*727d93edSChristian Hewitt label = "power"; 44*727d93edSChristian Hewitt linux,code = <KEY_POWER>; 45*727d93edSChristian Hewitt gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 46*727d93edSChristian Hewitt }; 47*727d93edSChristian Hewitt }; 48*727d93edSChristian Hewitt 49*727d93edSChristian Hewitt leds { 50*727d93edSChristian Hewitt compatible = "gpio-leds"; 51*727d93edSChristian Hewitt 52*727d93edSChristian Hewitt blue { 53*727d93edSChristian Hewitt color = <LED_COLOR_ID_BLUE>; 54*727d93edSChristian Hewitt function = LED_FUNCTION_POWER; 55*727d93edSChristian Hewitt gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 56*727d93edSChristian Hewitt default-state = "on"; 57*727d93edSChristian Hewitt panic-indicator; 58*727d93edSChristian Hewitt }; 59*727d93edSChristian Hewitt }; 60*727d93edSChristian Hewitt}; 61*727d93edSChristian Hewitt 62*727d93edSChristian Hewittðmac { 63*727d93edSChristian Hewitt pinctrl-0 = <ð_pins>; 64*727d93edSChristian Hewitt pinctrl-names = "default"; 65*727d93edSChristian Hewitt 66*727d93edSChristian Hewitt phy-handle = <&external_phy>; 67*727d93edSChristian Hewitt 68*727d93edSChristian Hewitt amlogic,tx-delay-ns = <2>; 69*727d93edSChristian Hewitt 70*727d93edSChristian Hewitt phy-mode = "rgmii"; 71*727d93edSChristian Hewitt}; 72*727d93edSChristian Hewitt 73*727d93edSChristian Hewitt&external_mdio { 74*727d93edSChristian Hewitt external_phy: ethernet-phy@0 { 75*727d93edSChristian Hewitt /* Realtek RTL8211F (0x001cc916) */ 76*727d93edSChristian Hewitt reg = <0>; 77*727d93edSChristian Hewitt max-speed = <1000>; 78*727d93edSChristian Hewitt 79*727d93edSChristian Hewitt reset-assert-us = <10000>; 80*727d93edSChristian Hewitt reset-deassert-us = <80000>; 81*727d93edSChristian Hewitt reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 82*727d93edSChristian Hewitt 83*727d93edSChristian Hewitt interrupt-parent = <&gpio_intc>; 84*727d93edSChristian Hewitt /* MAC_INTR on GPIOZ_15 */ 85*727d93edSChristian Hewitt interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 86*727d93edSChristian Hewitt }; 87*727d93edSChristian Hewitt}; 88*727d93edSChristian Hewitt 89*727d93edSChristian Hewitt&ir { 90*727d93edSChristian Hewitt linux,rc-map-name = "rc-mecool-kiii-pro"; 91*727d93edSChristian Hewitt}; 92*727d93edSChristian Hewitt 93*727d93edSChristian Hewitt&sd_emmc_a { 94*727d93edSChristian Hewitt brcmf: wifi@1 { 95*727d93edSChristian Hewitt reg = <1>; 96*727d93edSChristian Hewitt compatible = "brcm,bcm4329-fmac"; 97*727d93edSChristian Hewitt }; 98*727d93edSChristian Hewitt}; 99*727d93edSChristian Hewitt 100*727d93edSChristian Hewitt&uart_A { 101*727d93edSChristian Hewitt status = "okay"; 102*727d93edSChristian Hewitt pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 103*727d93edSChristian Hewitt pinctrl-names = "default"; 104*727d93edSChristian Hewitt uart-has-rtscts; 105*727d93edSChristian Hewitt 106*727d93edSChristian Hewitt bluetooth { 107*727d93edSChristian Hewitt compatible = "brcm,bcm43438-bt"; 108*727d93edSChristian Hewitt shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 109*727d93edSChristian Hewitt max-speed = <2000000>; 110*727d93edSChristian Hewitt clocks = <&wifi32k>; 111*727d93edSChristian Hewitt clock-names = "lpo"; 112*727d93edSChristian Hewitt }; 113*727d93edSChristian Hewitt}; 114