17d0873ebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27d0873ebSEmmanuel Vadot/* 37d0873ebSEmmanuel Vadot * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>. 47d0873ebSEmmanuel Vadot * Copyright (C) 2024 Chris Morgan <macroalpha82@gmail.com>. 57d0873ebSEmmanuel Vadot */ 67d0873ebSEmmanuel Vadot 77d0873ebSEmmanuel Vadot#include "sun50i-h700-anbernic-rg35xx-plus.dts" 87d0873ebSEmmanuel Vadot 97d0873ebSEmmanuel Vadot/ { 107d0873ebSEmmanuel Vadot model = "Anbernic RG35XX H"; 117d0873ebSEmmanuel Vadot compatible = "anbernic,rg35xx-h", "allwinner,sun50i-h700"; 12*0e8011faSEmmanuel Vadot 13*0e8011faSEmmanuel Vadot adc-joystick { 14*0e8011faSEmmanuel Vadot compatible = "adc-joystick"; 15*0e8011faSEmmanuel Vadot io-channels = <&adc_mux 0>, 16*0e8011faSEmmanuel Vadot <&adc_mux 1>, 17*0e8011faSEmmanuel Vadot <&adc_mux 2>, 18*0e8011faSEmmanuel Vadot <&adc_mux 3>; 19*0e8011faSEmmanuel Vadot pinctrl-0 = <&joy_mux_pin>; 20*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 21*0e8011faSEmmanuel Vadot poll-interval = <60>; 22*0e8011faSEmmanuel Vadot #address-cells = <1>; 23*0e8011faSEmmanuel Vadot #size-cells = <0>; 24*0e8011faSEmmanuel Vadot 25*0e8011faSEmmanuel Vadot axis@0 { 26*0e8011faSEmmanuel Vadot reg = <0>; 27*0e8011faSEmmanuel Vadot abs-flat = <32>; 28*0e8011faSEmmanuel Vadot abs-fuzz = <32>; 29*0e8011faSEmmanuel Vadot abs-range = <4096 0>; 30*0e8011faSEmmanuel Vadot linux,code = <ABS_X>; 31*0e8011faSEmmanuel Vadot }; 32*0e8011faSEmmanuel Vadot 33*0e8011faSEmmanuel Vadot axis@1 { 34*0e8011faSEmmanuel Vadot reg = <1>; 35*0e8011faSEmmanuel Vadot abs-flat = <32>; 36*0e8011faSEmmanuel Vadot abs-fuzz = <32>; 37*0e8011faSEmmanuel Vadot abs-range = <0 4096>; 38*0e8011faSEmmanuel Vadot linux,code = <ABS_Y>; 39*0e8011faSEmmanuel Vadot }; 40*0e8011faSEmmanuel Vadot 41*0e8011faSEmmanuel Vadot axis@2 { 42*0e8011faSEmmanuel Vadot reg = <2>; 43*0e8011faSEmmanuel Vadot abs-flat = <32>; 44*0e8011faSEmmanuel Vadot abs-fuzz = <32>; 45*0e8011faSEmmanuel Vadot abs-range = <0 4096>; 46*0e8011faSEmmanuel Vadot linux,code = <ABS_RX>; 47*0e8011faSEmmanuel Vadot }; 48*0e8011faSEmmanuel Vadot 49*0e8011faSEmmanuel Vadot axis@3 { 50*0e8011faSEmmanuel Vadot reg = <3>; 51*0e8011faSEmmanuel Vadot abs-flat = <32>; 52*0e8011faSEmmanuel Vadot abs-fuzz = <32>; 53*0e8011faSEmmanuel Vadot abs-range = <4096 0>; 54*0e8011faSEmmanuel Vadot linux,code = <ABS_RY>; 55*0e8011faSEmmanuel Vadot }; 56*0e8011faSEmmanuel Vadot }; 57*0e8011faSEmmanuel Vadot 58*0e8011faSEmmanuel Vadot adc_mux: adc-mux { 59*0e8011faSEmmanuel Vadot compatible = "io-channel-mux"; 60*0e8011faSEmmanuel Vadot channels = "left_x", "left_y", "right_x", "right_y"; 61*0e8011faSEmmanuel Vadot #io-channel-cells = <1>; 62*0e8011faSEmmanuel Vadot io-channels = <&gpadc 0>; 63*0e8011faSEmmanuel Vadot io-channel-names = "parent"; 64*0e8011faSEmmanuel Vadot mux-controls = <&gpio_mux>; 65*0e8011faSEmmanuel Vadot settle-time-us = <100>; 66*0e8011faSEmmanuel Vadot }; 67*0e8011faSEmmanuel Vadot 68*0e8011faSEmmanuel Vadot gpio_mux: mux-controller { 69*0e8011faSEmmanuel Vadot compatible = "gpio-mux"; 70*0e8011faSEmmanuel Vadot mux-gpios = <&pio 8 1 GPIO_ACTIVE_LOW>, 71*0e8011faSEmmanuel Vadot <&pio 8 2 GPIO_ACTIVE_LOW>; 72*0e8011faSEmmanuel Vadot #mux-control-cells = <0>; 73*0e8011faSEmmanuel Vadot }; 74*0e8011faSEmmanuel Vadot}; 75*0e8011faSEmmanuel Vadot 76*0e8011faSEmmanuel Vadot&gpadc { 77*0e8011faSEmmanuel Vadot #address-cells = <1>; 78*0e8011faSEmmanuel Vadot #size-cells = <0>; 79*0e8011faSEmmanuel Vadot status = "okay"; 80*0e8011faSEmmanuel Vadot 81*0e8011faSEmmanuel Vadot channel@0 { 82*0e8011faSEmmanuel Vadot reg = <0>; 83*0e8011faSEmmanuel Vadot }; 847d0873ebSEmmanuel Vadot}; 857d0873ebSEmmanuel Vadot 867d0873ebSEmmanuel Vadot&gpio_keys_gamepad { 877d0873ebSEmmanuel Vadot button-thumbl { 887d0873ebSEmmanuel Vadot label = "GPIO Thumb Left"; 897d0873ebSEmmanuel Vadot gpios = <&pio 4 8 GPIO_ACTIVE_LOW>; /* PE8 */ 907d0873ebSEmmanuel Vadot linux,input-type = <EV_KEY>; 917d0873ebSEmmanuel Vadot linux,code = <BTN_THUMBL>; 927d0873ebSEmmanuel Vadot }; 937d0873ebSEmmanuel Vadot 947d0873ebSEmmanuel Vadot button-thumbr { 957d0873ebSEmmanuel Vadot label = "GPIO Thumb Right"; 967d0873ebSEmmanuel Vadot gpios = <&pio 4 9 GPIO_ACTIVE_LOW>; /* PE9 */ 977d0873ebSEmmanuel Vadot linux,input-type = <EV_KEY>; 987d0873ebSEmmanuel Vadot linux,code = <BTN_THUMBR>; 997d0873ebSEmmanuel Vadot }; 1007d0873ebSEmmanuel Vadot}; 1017d0873ebSEmmanuel Vadot 1027d0873ebSEmmanuel Vadot&ehci1 { 1037d0873ebSEmmanuel Vadot status = "okay"; 1047d0873ebSEmmanuel Vadot}; 1057d0873ebSEmmanuel Vadot 1067d0873ebSEmmanuel Vadot&ohci1 { 1077d0873ebSEmmanuel Vadot status = "okay"; 1087d0873ebSEmmanuel Vadot}; 109*0e8011faSEmmanuel Vadot 110*0e8011faSEmmanuel Vadot&pio { 111*0e8011faSEmmanuel Vadot joy_mux_pin: joy-mux-pin { 112*0e8011faSEmmanuel Vadot pins = "PI0"; 113*0e8011faSEmmanuel Vadot function = "gpio_out"; 114*0e8011faSEmmanuel Vadot }; 115*0e8011faSEmmanuel Vadot}; 116