~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 /*
  3  * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
  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.h>
 12 #include <dt-bindings/interrupt-controller/arm-gic.h>
 13 #include <dt-bindings/leds/common.h>
 14 
 15 / {
 16         model = "Anbernic RG35XX 2024";
 17         chassis-type = "handset";
 18         compatible = "anbernic,rg35xx-2024", "allwinner,sun50i-h700";
 19 
 20         aliases {
 21                 serial0 = &uart0;
 22         };
 23 
 24         battery: battery {
 25                 compatible = "simple-battery";
 26                 constant-charge-current-max-microamp = <1024000>;
 27                 voltage-max-design-microvolt = <4200000>;
 28         };
 29 
 30         chosen {
 31                 stdout-path = "serial0:115200n8";
 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_ACTIVE_LOW>; /* PA0 */
 40                         linux,input-type = <EV_KEY>;
 41                         linux,code = <BTN_EAST>;
 42                 };
 43 
 44                 button-b {
 45                         label = "Action-Pad B";
 46                         gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */
 47                         linux,input-type = <EV_KEY>;
 48                         linux,code = <BTN_SOUTH>;
 49                 };
 50 
 51                 button-down {
 52                         label = "D-Pad Down";
 53                         gpios = <&pio 4 0 GPIO_ACTIVE_LOW>; /* PE0 */
 54                         linux,input-type = <EV_KEY>;
 55                         linux,code = <BTN_DPAD_DOWN>;
 56                 };
 57 
 58                 button-l1 {
 59                         label = "Key L1";
 60                         gpios = <&pio 0 10 GPIO_ACTIVE_LOW>; /* PA10 */
 61                         linux,input-type = <EV_KEY>;
 62                         linux,code = <BTN_TL>;
 63                 };
 64 
 65                 button-l2 {
 66                         label = "Key L2";
 67                         gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */
 68                         linux,input-type = <EV_KEY>;
 69                         linux,code = <BTN_TL2>;
 70                 };
 71 
 72                 button-left {
 73                         label = "D-Pad left";
 74                         gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
 75                         linux,input-type = <EV_KEY>;
 76                         linux,code = <BTN_DPAD_LEFT>;
 77                 };
 78 
 79                 button-menu {
 80                         label = "Key Menu";
 81                         gpios = <&pio 4 3 GPIO_ACTIVE_LOW>; /* PE3 */
 82                         linux,input-type = <EV_KEY>;
 83                         linux,code = <BTN_MODE>;
 84                 };
 85 
 86                 button-r1 {
 87                         label = "Key R1";
 88                         gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */
 89                         linux,input-type = <EV_KEY>;
 90                         linux,code = <BTN_TR>;
 91                 };
 92 
 93                 button-r2 {
 94                         label = "Key R2";
 95                         gpios = <&pio 0 7 GPIO_ACTIVE_LOW>; /* PA7 */
 96                         linux,input-type = <EV_KEY>;
 97                         linux,code = <BTN_TR2>;
 98                 };
 99 
100                 button-right {
101                         label = "D-Pad Right";
102                         gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
103                         linux,input-type = <EV_KEY>;
104                         linux,code = <BTN_DPAD_RIGHT>;
105                 };
106 
107                 button-select {
108                         label = "Key Select";
109                         gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */
110                         linux,input-type = <EV_KEY>;
111                         linux,code = <BTN_SELECT>;
112                 };
113                 button-start {
114                         label = "Key Start";
115                         gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
116                         linux,input-type = <EV_KEY>;
117                         linux,code = <BTN_START>;
118                 };
119 
120                 button-up {
121                         label = "D-Pad Up";
122                         gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */
123                         linux,input-type = <EV_KEY>;
124                         linux,code = <BTN_DPAD_UP>;
125                 };
126 
127                 button-x {
128                         label = "Action-Pad X";
129                         gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */
130                         linux,input-type = <EV_KEY>;
131                         linux,code = <BTN_NORTH>;
132                 };
133 
134                 button-y {
135                         label = "Action Pad Y";
136                         gpios = <&pio 0 2 GPIO_ACTIVE_LOW>; /* PA2 */
137                         linux,input-type = <EV_KEY>;
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_ACTIVE_LOW>; /* PE1 */
149                         linux,input-type = <EV_KEY>;
150                         linux,code = <KEY_VOLUMEUP>;
151                 };
152 
153                 button-vol-down {
154                         label = "Key Volume Down";
155                         gpios = <&pio 4 2 GPIO_ACTIVE_LOW>; /* PE2 */
156                         linux,input-type = <EV_KEY>;
157                         linux,code = <KEY_VOLUMEDOWN>;
158                 };
159         };
160 
161         leds {
162                 compatible = "gpio-leds";
163 
164                 led-0 {
165                         function = LED_FUNCTION_POWER;
166                         color = <LED_COLOR_ID_GREEN>;
167                         gpios = <&pio 8 12 GPIO_ACTIVE_HIGH>; /* PI12 */
168                         default-state = "on";
169                 };
170         };
171 
172         reg_vcc5v: regulator-vcc5v { /* USB-C power input */
173                 compatible = "regulator-fixed";
174                 regulator-name = "vcc-5v";
175                 regulator-min-microvolt = <5000000>;
176                 regulator-max-microvolt = <5000000>;
177         };
178 };
179 
180 &cpu0 {
181         cpu-supply = <&reg_dcdc1>;
182 };
183 
184 &ehci0 {
185         status = "okay";
186 };
187 
188 &mmc0 {
189         vmmc-supply = <&reg_cldo3>;
190         disable-wp;
191         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;  /* PF6 */
192         bus-width = <4>;
193         status = "okay";
194 };
195 
196 &ohci0 {
197         status = "okay";
198 };
199 
200 &pio {
201         vcc-pa-supply = <&reg_cldo3>;
202         vcc-pc-supply = <&reg_cldo3>;
203         vcc-pe-supply = <&reg_cldo3>;
204         vcc-pf-supply = <&reg_cldo3>;
205         vcc-pg-supply = <&reg_aldo4>;
206         vcc-ph-supply = <&reg_cldo3>;
207         vcc-pi-supply = <&reg_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_LOW>;
220 
221                 vin1-supply = <&reg_vcc5v>;
222                 vin2-supply = <&reg_vcc5v>;
223                 vin3-supply = <&reg_vcc5v>;
224                 vin4-supply = <&reg_vcc5v>;
225 
226                 axp_adc: adc {
227                         compatible = "x-powers,axp717-adc";
228                         #io-channel-cells = <1>;
229                 };
230 
231                 battery_power: battery-power {
232                         compatible = "x-powers,axp717-battery-power-supply";
233                         monitored-battery = <&battery>;
234                 };
235 
236                 regulators {
237                         reg_dcdc1: dcdc1 {
238                                 regulator-always-on;
239                                 regulator-min-microvolt = <900000>;
240                                 regulator-max-microvolt = <1160000>;
241                                 regulator-name = "vdd-cpu";
242                         };
243 
244                         reg_dcdc2: dcdc2 {
245                                 regulator-always-on;
246                                 regulator-min-microvolt = <940000>;
247                                 regulator-max-microvolt = <940000>;
248                                 regulator-name = "vdd-gpu-sys";
249                         };
250 
251                         reg_dcdc3: dcdc3 {
252                                 regulator-always-on;
253                                 regulator-min-microvolt = <1100000>;
254                                 regulator-max-microvolt = <1100000>;
255                                 regulator-name = "vdd-dram";
256                         };
257 
258                         reg_aldo1: aldo1 {
259                                 /* 1.8v - unused */
260                         };
261 
262                         reg_aldo2: aldo2 {
263                                 /* 1.8v - unused */
264                         };
265 
266                         reg_aldo3: aldo3 {
267                                 /* 1.8v - unused */
268                         };
269 
270                         reg_aldo4: aldo4 {
271                                 regulator-min-microvolt = <1800000>;
272                                 regulator-max-microvolt = <1800000>;
273                                 regulator-name = "vcc-pg";
274                         };
275 
276                         reg_bldo1: bldo1 {
277                                 /* 1.8v - unused */
278                         };
279 
280                         reg_bldo2: bldo2 {
281                                 regulator-always-on;
282                                 regulator-min-microvolt = <1800000>;
283                                 regulator-max-microvolt = <1800000>;
284                                 regulator-name = "vcc-pll";
285                         };
286 
287                         reg_bldo3: bldo3 {
288                                 /* 2.8v - unused */
289                         };
290 
291                         reg_bldo4: bldo4 {
292                                 /* 1.2v - unused */
293                         };
294 
295                         reg_cldo1: cldo1 {
296                                 /* 3.3v - audio codec - not yet implemented */
297                         };
298 
299                         reg_cldo2: cldo2 {
300                                 /* 3.3v - unused */
301                         };
302 
303                         reg_cldo3: cldo3 {
304                                 regulator-always-on;
305                                 regulator-min-microvolt = <3300000>;
306                                 regulator-max-microvolt = <3300000>;
307                                 regulator-name = "vcc-io";
308                         };
309 
310                         reg_cldo4: cldo4 {
311                                 regulator-min-microvolt = <3300000>;
312                                 regulator-max-microvolt = <3300000>;
313                                 regulator-name = "vcc-wifi";
314                         };
315 
316                         reg_boost: boost {
317                                 regulator-min-microvolt = <5000000>;
318                                 regulator-max-microvolt = <5200000>;
319                                 regulator-name = "boost";
320                         };
321 
322                         reg_cpusldo: cpusldo {
323                                 /* unused */
324                         };
325                 };
326 
327                 usb_power: usb-power {
328                         compatible = "x-powers,axp717-usb-power-supply";
329                         input-current-limit-microamp = <1500000>;
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 functionality, not yet described by the binding */
341 &usbotg {
342         dr_mode = "peripheral";   /* USB type-C receptable */
343         status = "okay";
344 };
345 
346 &usbphy {
347         status = "okay";
348 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php