1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4 5#include <dt-bindings/gpio/gpio.h> 6#include <dt-bindings/input/linux-event-codes.h> 7#include <dt-bindings/pinctrl/rockchip.h> 8#include "rk3566-anbernic-rgxx3.dtsi" 9 10/ { 11 adc-joystick { 12 compatible = "adc-joystick"; 13 io-channels = <&adc_mux 0>, 14 <&adc_mux 1>, 15 <&adc_mux 2>, 16 <&adc_mux 3>; 17 pinctrl-0 = <&joy_mux_en>; 18 pinctrl-names = "default"; 19 poll-interval = <60>; 20 #address-cells = <1>; 21 #size-cells = <0>; 22 23 axis@0 { 24 reg = <0>; 25 abs-flat = <32>; 26 abs-fuzz = <32>; 27 abs-range = <1023 15>; 28 linux,code = <ABS_X>; 29 }; 30 31 axis@1 { 32 reg = <1>; 33 abs-flat = <32>; 34 abs-fuzz = <32>; 35 abs-range = <15 1023>; 36 linux,code = <ABS_RX>; 37 }; 38 39 axis@2 { 40 reg = <2>; 41 abs-flat = <32>; 42 abs-fuzz = <32>; 43 abs-range = <15 1023>; 44 linux,code = <ABS_Y>; 45 }; 46 47 axis@3 { 48 reg = <3>; 49 abs-flat = <32>; 50 abs-fuzz = <32>; 51 abs-range = <1023 15>; 52 linux,code = <ABS_RY>; 53 }; 54 }; 55 56 adc_mux: adc-mux { 57 compatible = "io-channel-mux"; 58 channels = "left_x", "right_x", "left_y", "right_y"; 59 #io-channel-cells = <1>; 60 io-channels = <&saradc 3>; 61 io-channel-names = "parent"; 62 mux-controls = <&gpio_mux>; 63 settle-time-us = <100>; 64 }; 65 66 backlight: backlight { 67 compatible = "pwm-backlight"; 68 power-supply = <&vcc_sys>; 69 pwms = <&pwm4 0 25000 0>; 70 }; 71 72 gpio_mux: mux-controller { 73 compatible = "gpio-mux"; 74 mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, 75 <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; 76 #mux-control-cells = <0>; 77 }; 78}; 79 80&cru { 81 assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, 82 <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; 83 assigned-clock-rates = <32768>, <1200000000>, 84 <200000000>, <241500000>; 85}; 86 87&dsi_dphy0 { 88 status = "okay"; 89}; 90 91&dsi0 { 92 status = "okay"; 93 #address-cells = <1>; 94 #size-cells = <0>; 95 96 ports { 97 dsi0_in: port@0 { 98 reg = <0>; 99 dsi0_in_vp1: endpoint { 100 remote-endpoint = <&vp1_out_dsi0>; 101 }; 102 }; 103 104 dsi0_out: port@1 { 105 reg = <1>; 106 mipi_out_panel: endpoint { 107 remote-endpoint = <&mipi_in_panel>; 108 }; 109 }; 110 }; 111 112 panel: panel@0 { 113 compatible = "anbernic,rg353p-panel", "newvision,nv3051d"; 114 reg = <0>; 115 backlight = <&backlight>; 116 pinctrl-names = "default"; 117 pinctrl-0 = <&lcd_rst>; 118 reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>; 119 vdd-supply = <&vcc3v3_lcd0_n>; 120 121 port { 122 mipi_in_panel: endpoint { 123 remote-endpoint = <&mipi_out_panel>; 124 }; 125 }; 126 }; 127}; 128 129&gpio_keys_control { 130 button-a { 131 gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; 132 label = "EAST"; 133 linux,code = <BTN_EAST>; 134 }; 135 136 button-left { 137 gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; 138 label = "DPAD-LEFT"; 139 linux,code = <BTN_DPAD_LEFT>; 140 }; 141 142 button-right { 143 gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; 144 label = "DPAD-RIGHT"; 145 linux,code = <BTN_DPAD_RIGHT>; 146 }; 147 148 button-thumbl { 149 gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; 150 label = "THUMBL"; 151 linux,code = <BTN_THUMBL>; 152 }; 153 154 button-thumbr { 155 gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; 156 label = "THUMBR"; 157 linux,code = <BTN_THUMBR>; 158 }; 159 160 button-y { 161 gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; 162 label = "WEST"; 163 linux,code = <BTN_WEST>; 164 }; 165}; 166 167&i2c0 { 168 /* This hardware is physically present but unused. */ 169 power-monitor@62 { 170 compatible = "cellwise,cw2015"; 171 reg = <0x62>; 172 status = "disabled"; 173 }; 174}; 175 176&pinctrl { 177 gpio-lcd { 178 lcd_rst: lcd-rst { 179 rockchip,pins = 180 <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 181 }; 182 }; 183}; 184 185&pwm4 { 186 status = "okay"; 187}; 188 189&vp1 { 190 vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 191 reg = <ROCKCHIP_VOP2_EP_MIPI0>; 192 remote-endpoint = <&dsi0_in_vp1>; 193 }; 194}; 195