11e141cf1SChris Morgan// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 21e141cf1SChris Morgan 31e141cf1SChris Morgan/dts-v1/; 41e141cf1SChris Morgan 51e141cf1SChris Morgan#include <dt-bindings/gpio/gpio.h> 61e141cf1SChris Morgan#include <dt-bindings/input/linux-event-codes.h> 71e141cf1SChris Morgan#include <dt-bindings/pinctrl/rockchip.h> 81e141cf1SChris Morgan#include "rk3566-anbernic-rgxx3.dtsi" 91e141cf1SChris Morgan 101e141cf1SChris Morgan/ { 11*46943b33SChris Morgan adc-joystick { 12*46943b33SChris Morgan compatible = "adc-joystick"; 13*46943b33SChris Morgan io-channels = <&adc_mux 0>, 14*46943b33SChris Morgan <&adc_mux 1>, 15*46943b33SChris Morgan <&adc_mux 2>, 16*46943b33SChris Morgan <&adc_mux 3>; 17*46943b33SChris Morgan pinctrl-0 = <&joy_mux_en>; 18*46943b33SChris Morgan pinctrl-names = "default"; 19*46943b33SChris Morgan poll-interval = <60>; 20*46943b33SChris Morgan #address-cells = <1>; 21*46943b33SChris Morgan #size-cells = <0>; 22*46943b33SChris Morgan 23*46943b33SChris Morgan axis@0 { 24*46943b33SChris Morgan reg = <0>; 25*46943b33SChris Morgan abs-flat = <32>; 26*46943b33SChris Morgan abs-fuzz = <32>; 27*46943b33SChris Morgan abs-range = <1023 15>; 28*46943b33SChris Morgan linux,code = <ABS_X>; 29*46943b33SChris Morgan }; 30*46943b33SChris Morgan 31*46943b33SChris Morgan axis@1 { 32*46943b33SChris Morgan reg = <1>; 33*46943b33SChris Morgan abs-flat = <32>; 34*46943b33SChris Morgan abs-fuzz = <32>; 35*46943b33SChris Morgan abs-range = <15 1023>; 36*46943b33SChris Morgan linux,code = <ABS_RX>; 37*46943b33SChris Morgan }; 38*46943b33SChris Morgan 39*46943b33SChris Morgan axis@2 { 40*46943b33SChris Morgan reg = <2>; 41*46943b33SChris Morgan abs-flat = <32>; 42*46943b33SChris Morgan abs-fuzz = <32>; 43*46943b33SChris Morgan abs-range = <15 1023>; 44*46943b33SChris Morgan linux,code = <ABS_Y>; 45*46943b33SChris Morgan }; 46*46943b33SChris Morgan 47*46943b33SChris Morgan axis@3 { 48*46943b33SChris Morgan reg = <3>; 49*46943b33SChris Morgan abs-flat = <32>; 50*46943b33SChris Morgan abs-fuzz = <32>; 51*46943b33SChris Morgan abs-range = <1023 15>; 52*46943b33SChris Morgan linux,code = <ABS_RY>; 53*46943b33SChris Morgan }; 54*46943b33SChris Morgan }; 55*46943b33SChris Morgan 56*46943b33SChris Morgan adc_mux: adc-mux { 57*46943b33SChris Morgan compatible = "io-channel-mux"; 58*46943b33SChris Morgan channels = "left_x", "right_x", "left_y", "right_y"; 59*46943b33SChris Morgan #io-channel-cells = <1>; 60*46943b33SChris Morgan io-channels = <&saradc 3>; 61*46943b33SChris Morgan io-channel-names = "parent"; 62*46943b33SChris Morgan mux-controls = <&gpio_mux>; 63*46943b33SChris Morgan settle-time-us = <100>; 64*46943b33SChris Morgan }; 65*46943b33SChris Morgan 661e141cf1SChris Morgan backlight: backlight { 671e141cf1SChris Morgan compatible = "pwm-backlight"; 681e141cf1SChris Morgan power-supply = <&vcc_sys>; 691e141cf1SChris Morgan pwms = <&pwm4 0 25000 0>; 701e141cf1SChris Morgan }; 71*46943b33SChris Morgan 72*46943b33SChris Morgan gpio_mux: mux-controller { 73*46943b33SChris Morgan compatible = "gpio-mux"; 74*46943b33SChris Morgan mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, 75*46943b33SChris Morgan <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; 76*46943b33SChris Morgan #mux-control-cells = <0>; 77*46943b33SChris Morgan }; 781e141cf1SChris Morgan}; 791e141cf1SChris Morgan 801e141cf1SChris Morgan&cru { 8187891399SChris Morgan assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, 8287891399SChris Morgan <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; 8387891399SChris Morgan assigned-clock-rates = <32768>, <1200000000>, 8487891399SChris Morgan <200000000>, <241500000>; 851e141cf1SChris Morgan}; 861e141cf1SChris Morgan 875e60ec02SChris Morgan&dsi_dphy0 { 885e60ec02SChris Morgan status = "okay"; 895e60ec02SChris Morgan}; 905e60ec02SChris Morgan 915e60ec02SChris Morgan&dsi0 { 925e60ec02SChris Morgan status = "okay"; 935e60ec02SChris Morgan #address-cells = <1>; 945e60ec02SChris Morgan #size-cells = <0>; 955e60ec02SChris Morgan 965e60ec02SChris Morgan ports { 975e60ec02SChris Morgan dsi0_in: port@0 { 985e60ec02SChris Morgan reg = <0>; 995e60ec02SChris Morgan dsi0_in_vp1: endpoint { 1005e60ec02SChris Morgan remote-endpoint = <&vp1_out_dsi0>; 1015e60ec02SChris Morgan }; 1025e60ec02SChris Morgan }; 1035e60ec02SChris Morgan 1045e60ec02SChris Morgan dsi0_out: port@1 { 1055e60ec02SChris Morgan reg = <1>; 1065e60ec02SChris Morgan mipi_out_panel: endpoint { 1075e60ec02SChris Morgan remote-endpoint = <&mipi_in_panel>; 1085e60ec02SChris Morgan }; 1095e60ec02SChris Morgan }; 1105e60ec02SChris Morgan }; 1115e60ec02SChris Morgan 1125e60ec02SChris Morgan panel: panel@0 { 1135e60ec02SChris Morgan compatible = "anbernic,rg353p-panel", "newvision,nv3051d"; 1145e60ec02SChris Morgan reg = <0>; 1155e60ec02SChris Morgan backlight = <&backlight>; 1165e60ec02SChris Morgan pinctrl-names = "default"; 1175e60ec02SChris Morgan pinctrl-0 = <&lcd_rst>; 1185e60ec02SChris Morgan reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>; 1195e60ec02SChris Morgan vdd-supply = <&vcc3v3_lcd0_n>; 1205e60ec02SChris Morgan 1215e60ec02SChris Morgan port { 1225e60ec02SChris Morgan mipi_in_panel: endpoint { 1235e60ec02SChris Morgan remote-endpoint = <&mipi_out_panel>; 1245e60ec02SChris Morgan }; 1255e60ec02SChris Morgan }; 1265e60ec02SChris Morgan }; 1275e60ec02SChris Morgan}; 1285e60ec02SChris Morgan 1291e141cf1SChris Morgan&gpio_keys_control { 1301e141cf1SChris Morgan button-a { 1311e141cf1SChris Morgan gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; 1321e141cf1SChris Morgan label = "EAST"; 1331e141cf1SChris Morgan linux,code = <BTN_EAST>; 1341e141cf1SChris Morgan }; 1351e141cf1SChris Morgan 1361e141cf1SChris Morgan button-left { 1371e141cf1SChris Morgan gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; 1381e141cf1SChris Morgan label = "DPAD-LEFT"; 1391e141cf1SChris Morgan linux,code = <BTN_DPAD_LEFT>; 1401e141cf1SChris Morgan }; 1411e141cf1SChris Morgan 1421e141cf1SChris Morgan button-right { 1431e141cf1SChris Morgan gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; 1441e141cf1SChris Morgan label = "DPAD-RIGHT"; 1451e141cf1SChris Morgan linux,code = <BTN_DPAD_RIGHT>; 1461e141cf1SChris Morgan }; 1471e141cf1SChris Morgan 148*46943b33SChris Morgan button-thumbl { 149*46943b33SChris Morgan gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; 150*46943b33SChris Morgan label = "THUMBL"; 151*46943b33SChris Morgan linux,code = <BTN_THUMBL>; 152*46943b33SChris Morgan }; 153*46943b33SChris Morgan 154*46943b33SChris Morgan button-thumbr { 155*46943b33SChris Morgan gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; 156*46943b33SChris Morgan label = "THUMBR"; 157*46943b33SChris Morgan linux,code = <BTN_THUMBR>; 158*46943b33SChris Morgan }; 159*46943b33SChris Morgan 1601e141cf1SChris Morgan button-y { 1611e141cf1SChris Morgan gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; 1621e141cf1SChris Morgan label = "WEST"; 1631e141cf1SChris Morgan linux,code = <BTN_WEST>; 1641e141cf1SChris Morgan }; 1651e141cf1SChris Morgan}; 1661e141cf1SChris Morgan 1671e141cf1SChris Morgan&i2c0 { 1681e141cf1SChris Morgan /* This hardware is physically present but unused. */ 1691e141cf1SChris Morgan power-monitor@62 { 1701e141cf1SChris Morgan compatible = "cellwise,cw2015"; 1711e141cf1SChris Morgan reg = <0x62>; 1721e141cf1SChris Morgan status = "disabled"; 1731e141cf1SChris Morgan }; 1741e141cf1SChris Morgan}; 1751e141cf1SChris Morgan 1765e60ec02SChris Morgan&pinctrl { 1775e60ec02SChris Morgan gpio-lcd { 1785e60ec02SChris Morgan lcd_rst: lcd-rst { 1795e60ec02SChris Morgan rockchip,pins = 1805e60ec02SChris Morgan <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 1815e60ec02SChris Morgan }; 1825e60ec02SChris Morgan }; 1835e60ec02SChris Morgan}; 1845e60ec02SChris Morgan 1851e141cf1SChris Morgan&pwm4 { 1861e141cf1SChris Morgan status = "okay"; 1871e141cf1SChris Morgan}; 1885e60ec02SChris Morgan 1895e60ec02SChris Morgan&vp1 { 1905e60ec02SChris Morgan vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 1915e60ec02SChris Morgan reg = <ROCKCHIP_VOP2_EP_MIPI0>; 1925e60ec02SChris Morgan remote-endpoint = <&dsi0_in_vp1>; 1935e60ec02SChris Morgan }; 1945e60ec02SChris Morgan}; 195