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