1 // SPDX-License-Identifier: (GPL-2.0-only OR B 2 /* 3 * Copyright (C) 2024 Ryan Walklin <ryan@testto 4 */ 5 6 /dts-v1/; 7 8 #include "sun50i-h616.dtsi" 9 #include "sun50i-h616-cpu-opp.dtsi" 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/linux-event-codes. 12 #include <dt-bindings/interrupt-controller/arm 13 #include <dt-bindings/leds/common.h> 14 15 / { 16 model = "Anbernic RG35XX 2024"; 17 chassis-type = "handset"; 18 compatible = "anbernic,rg35xx-2024", " 19 20 aliases { 21 serial0 = &uart0; 22 }; 23 24 battery: battery { 25 compatible = "simple-battery"; 26 constant-charge-current-max-mi 27 voltage-max-design-microvolt = 28 }; 29 30 chosen { 31 stdout-path = "serial0:115200n 32 }; 33 34 gpio_keys_gamepad: gpio-keys-gamepad { 35 compatible = "gpio-keys"; 36 37 button-a { 38 label = "Action-Pad A" 39 gpios = <&pio 0 0 GPIO 40 linux,input-type = <EV 41 linux,code = <BTN_EAST 42 }; 43 44 button-b { 45 label = "Action-Pad B" 46 gpios = <&pio 0 1 GPIO 47 linux,input-type = <EV 48 linux,code = <BTN_SOUT 49 }; 50 51 button-down { 52 label = "D-Pad Down"; 53 gpios = <&pio 4 0 GPIO 54 linux,input-type = <EV 55 linux,code = <BTN_DPAD 56 }; 57 58 button-l1 { 59 label = "Key L1"; 60 gpios = <&pio 0 10 GPI 61 linux,input-type = <EV 62 linux,code = <BTN_TL>; 63 }; 64 65 button-l2 { 66 label = "Key L2"; 67 gpios = <&pio 0 11 GPI 68 linux,input-type = <EV 69 linux,code = <BTN_TL2> 70 }; 71 72 button-left { 73 label = "D-Pad left"; 74 gpios = <&pio 0 8 GPIO 75 linux,input-type = <EV 76 linux,code = <BTN_DPAD 77 }; 78 79 button-menu { 80 label = "Key Menu"; 81 gpios = <&pio 4 3 GPIO 82 linux,input-type = <EV 83 linux,code = <BTN_MODE 84 }; 85 86 button-r1 { 87 label = "Key R1"; 88 gpios = <&pio 0 12 GPI 89 linux,input-type = <EV 90 linux,code = <BTN_TR>; 91 }; 92 93 button-r2 { 94 label = "Key R2"; 95 gpios = <&pio 0 7 GPIO 96 linux,input-type = <EV 97 linux,code = <BTN_TR2> 98 }; 99 100 button-right { 101 label = "D-Pad Right"; 102 gpios = <&pio 0 9 GPIO 103 linux,input-type = <EV 104 linux,code = <BTN_DPAD 105 }; 106 107 button-select { 108 label = "Key Select"; 109 gpios = <&pio 0 5 GPIO 110 linux,input-type = <EV 111 linux,code = <BTN_SELE 112 }; 113 button-start { 114 label = "Key Start"; 115 gpios = <&pio 0 4 GPIO 116 linux,input-type = <EV 117 linux,code = <BTN_STAR 118 }; 119 120 button-up { 121 label = "D-Pad Up"; 122 gpios = <&pio 0 6 GPIO 123 linux,input-type = <EV 124 linux,code = <BTN_DPAD 125 }; 126 127 button-x { 128 label = "Action-Pad X" 129 gpios = <&pio 0 3 GPIO 130 linux,input-type = <EV 131 linux,code = <BTN_NORT 132 }; 133 134 button-y { 135 label = "Action Pad Y" 136 gpios = <&pio 0 2 GPIO 137 linux,input-type = <EV 138 linux,code = <BTN_WEST 139 }; 140 }; 141 142 gpio-keys-volume { 143 compatible = "gpio-keys"; 144 autorepeat; 145 146 button-vol-up { 147 label = "Key Volume Up 148 gpios = <&pio 4 1 GPIO 149 linux,input-type = <EV 150 linux,code = <KEY_VOLU 151 }; 152 153 button-vol-down { 154 label = "Key Volume Do 155 gpios = <&pio 4 2 GPIO 156 linux,input-type = <EV 157 linux,code = <KEY_VOLU 158 }; 159 }; 160 161 leds { 162 compatible = "gpio-leds"; 163 164 led-0 { 165 function = LED_FUNCTIO 166 color = <LED_COLOR_ID_ 167 gpios = <&pio 8 12 GPI 168 default-state = "on"; 169 }; 170 }; 171 172 reg_vcc5v: regulator-vcc5v { /* USB-C 173 compatible = "regulator-fixed" 174 regulator-name = "vcc-5v"; 175 regulator-min-microvolt = <500 176 regulator-max-microvolt = <500 177 }; 178 }; 179 180 &cpu0 { 181 cpu-supply = <®_dcdc1>; 182 }; 183 184 &ehci0 { 185 status = "okay"; 186 }; 187 188 &mmc0 { 189 vmmc-supply = <®_cldo3>; 190 disable-wp; 191 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 192 bus-width = <4>; 193 status = "okay"; 194 }; 195 196 &ohci0 { 197 status = "okay"; 198 }; 199 200 &pio { 201 vcc-pa-supply = <®_cldo3>; 202 vcc-pc-supply = <®_cldo3>; 203 vcc-pe-supply = <®_cldo3>; 204 vcc-pf-supply = <®_cldo3>; 205 vcc-pg-supply = <®_aldo4>; 206 vcc-ph-supply = <®_cldo3>; 207 vcc-pi-supply = <®_cldo3>; 208 }; 209 210 &r_i2c { 211 status = "okay"; 212 213 axp717: pmic@34 { 214 compatible = "x-powers,axp717" 215 reg = <0x34>; 216 interrupt-controller; 217 #interrupt-cells = <1>; 218 interrupt-parent = <&nmi_intc> 219 interrupts = <0 IRQ_TYPE_LEVEL 220 221 vin1-supply = <®_vcc5v>; 222 vin2-supply = <®_vcc5v>; 223 vin3-supply = <®_vcc5v>; 224 vin4-supply = <®_vcc5v>; 225 226 axp_adc: adc { 227 compatible = "x-powers 228 #io-channel-cells = <1 229 }; 230 231 battery_power: battery-power { 232 compatible = "x-powers 233 monitored-battery = <& 234 }; 235 236 regulators { 237 reg_dcdc1: dcdc1 { 238 regulator-alwa 239 regulator-min- 240 regulator-max- 241 regulator-name 242 }; 243 244 reg_dcdc2: dcdc2 { 245 regulator-alwa 246 regulator-min- 247 regulator-max- 248 regulator-name 249 }; 250 251 reg_dcdc3: dcdc3 { 252 regulator-alwa 253 regulator-min- 254 regulator-max- 255 regulator-name 256 }; 257 258 reg_aldo1: aldo1 { 259 /* 1.8v - unus 260 }; 261 262 reg_aldo2: aldo2 { 263 /* 1.8v - unus 264 }; 265 266 reg_aldo3: aldo3 { 267 /* 1.8v - unus 268 }; 269 270 reg_aldo4: aldo4 { 271 regulator-min- 272 regulator-max- 273 regulator-name 274 }; 275 276 reg_bldo1: bldo1 { 277 /* 1.8v - unus 278 }; 279 280 reg_bldo2: bldo2 { 281 regulator-alwa 282 regulator-min- 283 regulator-max- 284 regulator-name 285 }; 286 287 reg_bldo3: bldo3 { 288 /* 2.8v - unus 289 }; 290 291 reg_bldo4: bldo4 { 292 /* 1.2v - unus 293 }; 294 295 reg_cldo1: cldo1 { 296 /* 3.3v - audi 297 }; 298 299 reg_cldo2: cldo2 { 300 /* 3.3v - unus 301 }; 302 303 reg_cldo3: cldo3 { 304 regulator-alwa 305 regulator-min- 306 regulator-max- 307 regulator-name 308 }; 309 310 reg_cldo4: cldo4 { 311 regulator-min- 312 regulator-max- 313 regulator-name 314 }; 315 316 reg_boost: boost { 317 regulator-min- 318 regulator-max- 319 regulator-name 320 }; 321 322 reg_cpusldo: cpusldo { 323 /* unused */ 324 }; 325 }; 326 327 usb_power: usb-power { 328 compatible = "x-powers 329 input-current-limit-mi 330 }; 331 }; 332 }; 333 334 &uart0 { 335 pinctrl-names = "default"; 336 pinctrl-0 = <&uart0_ph_pins>; 337 status = "okay"; 338 }; 339 340 /* the AXP717 has USB type-C role switch funct 341 &usbotg { 342 dr_mode = "peripheral"; /* USB type- 343 status = "okay"; 344 }; 345 346 &usbphy { 347 status = "okay"; 348 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.