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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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.9 ] ~ [ 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         chosen {
 25                 stdout-path = "serial0:115200n8";
 26         };
 27 
 28         gpio_keys_gamepad: gpio-keys-gamepad {
 29                 compatible = "gpio-keys";
 30 
 31                 button-a {
 32                         label = "Action-Pad A";
 33                         gpios = <&pio 0 0 GPIO_ACTIVE_LOW>; /* PA0 */
 34                         linux,input-type = <EV_KEY>;
 35                         linux,code = <BTN_EAST>;
 36                 };
 37 
 38                 button-b {
 39                         label = "Action-Pad B";
 40                         gpios = <&pio 0 1 GPIO_ACTIVE_LOW>; /* PA1 */
 41                         linux,input-type = <EV_KEY>;
 42                         linux,code = <BTN_SOUTH>;
 43                 };
 44 
 45                 button-down {
 46                         label = "D-Pad Down";
 47                         gpios = <&pio 4 0 GPIO_ACTIVE_LOW>; /* PE0 */
 48                         linux,input-type = <EV_KEY>;
 49                         linux,code = <BTN_DPAD_DOWN>;
 50                 };
 51 
 52                 button-l1 {
 53                         label = "Key L1";
 54                         gpios = <&pio 0 10 GPIO_ACTIVE_LOW>; /* PA10 */
 55                         linux,input-type = <EV_KEY>;
 56                         linux,code = <BTN_TL>;
 57                 };
 58 
 59                 button-l2 {
 60                         label = "Key L2";
 61                         gpios = <&pio 0 11 GPIO_ACTIVE_LOW>; /* PA11 */
 62                         linux,input-type = <EV_KEY>;
 63                         linux,code = <BTN_TL2>;
 64                 };
 65 
 66                 button-left {
 67                         label = "D-Pad left";
 68                         gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
 69                         linux,input-type = <EV_KEY>;
 70                         linux,code = <BTN_DPAD_LEFT>;
 71                 };
 72 
 73                 button-menu {
 74                         label = "Key Menu";
 75                         gpios = <&pio 4 3 GPIO_ACTIVE_LOW>; /* PE3 */
 76                         linux,input-type = <EV_KEY>;
 77                         linux,code = <BTN_MODE>;
 78                 };
 79 
 80                 button-r1 {
 81                         label = "Key R1";
 82                         gpios = <&pio 0 12 GPIO_ACTIVE_LOW>; /* PA12 */
 83                         linux,input-type = <EV_KEY>;
 84                         linux,code = <BTN_TR>;
 85                 };
 86 
 87                 button-r2 {
 88                         label = "Key R2";
 89                         gpios = <&pio 0 7 GPIO_ACTIVE_LOW>; /* PA7 */
 90                         linux,input-type = <EV_KEY>;
 91                         linux,code = <BTN_TR2>;
 92                 };
 93 
 94                 button-right {
 95                         label = "D-Pad Right";
 96                         gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
 97                         linux,input-type = <EV_KEY>;
 98                         linux,code = <BTN_DPAD_RIGHT>;
 99                 };
100 
101                 button-select {
102                         label = "Key Select";
103                         gpios = <&pio 0 5 GPIO_ACTIVE_LOW>; /* PA5 */
104                         linux,input-type = <EV_KEY>;
105                         linux,code = <BTN_SELECT>;
106                 };
107                 button-start {
108                         label = "Key Start";
109                         gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
110                         linux,input-type = <EV_KEY>;
111                         linux,code = <BTN_START>;
112                 };
113 
114                 button-up {
115                         label = "D-Pad Up";
116                         gpios = <&pio 0 6 GPIO_ACTIVE_LOW>; /* PA6 */
117                         linux,input-type = <EV_KEY>;
118                         linux,code = <BTN_DPAD_UP>;
119                 };
120 
121                 button-x {
122                         label = "Action-Pad X";
123                         gpios = <&pio 0 3 GPIO_ACTIVE_LOW>; /* PA3 */
124                         linux,input-type = <EV_KEY>;
125                         linux,code = <BTN_NORTH>;
126                 };
127 
128                 button-y {
129                         label = "Action Pad Y";
130                         gpios = <&pio 0 2 GPIO_ACTIVE_LOW>; /* PA2 */
131                         linux,input-type = <EV_KEY>;
132                         linux,code = <BTN_WEST>;
133                 };
134         };
135 
136         gpio-keys-volume {
137                 compatible = "gpio-keys";
138                 autorepeat;
139 
140                 button-vol-up {
141                         label = "Key Volume Up";
142                         gpios = <&pio 4 1 GPIO_ACTIVE_LOW>; /* PE1 */
143                         linux,input-type = <EV_KEY>;
144                         linux,code = <KEY_VOLUMEUP>;
145                 };
146 
147                 button-vol-down {
148                         label = "Key Volume Down";
149                         gpios = <&pio 4 2 GPIO_ACTIVE_LOW>; /* PE2 */
150                         linux,input-type = <EV_KEY>;
151                         linux,code = <KEY_VOLUMEDOWN>;
152                 };
153         };
154 
155         leds {
156                 compatible = "gpio-leds";
157 
158                 led-0 {
159                         function = LED_FUNCTION_POWER;
160                         color = <LED_COLOR_ID_GREEN>;
161                         gpios = <&pio 8 12 GPIO_ACTIVE_HIGH>; /* PI12 */
162                         default-state = "on";
163                 };
164         };
165 
166         reg_vcc5v: regulator-vcc5v { /* USB-C power input */
167                 compatible = "regulator-fixed";
168                 regulator-name = "vcc-5v";
169                 regulator-min-microvolt = <5000000>;
170                 regulator-max-microvolt = <5000000>;
171         };
172 };
173 
174 &cpu0 {
175         cpu-supply = <&reg_dcdc1>;
176 };
177 
178 &ehci0 {
179         status = "okay";
180 };
181 
182 &mmc0 {
183         vmmc-supply = <&reg_cldo3>;
184         disable-wp;
185         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;  /* PF6 */
186         bus-width = <4>;
187         status = "okay";
188 };
189 
190 &ohci0 {
191         status = "okay";
192 };
193 
194 &pio {
195         vcc-pa-supply = <&reg_cldo3>;
196         vcc-pc-supply = <&reg_cldo3>;
197         vcc-pe-supply = <&reg_cldo3>;
198         vcc-pf-supply = <&reg_cldo3>;
199         vcc-pg-supply = <&reg_aldo4>;
200         vcc-ph-supply = <&reg_cldo3>;
201         vcc-pi-supply = <&reg_cldo3>;
202 };
203 
204 &r_rsb {
205         status = "okay";
206 
207         axp717: pmic@3a3 {
208                 compatible = "x-powers,axp717";
209                 reg = <0x3a3>;
210                 interrupt-controller;
211                 #interrupt-cells = <1>;
212                 interrupt-parent = <&nmi_intc>;
213                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
214 
215                 vin1-supply = <&reg_vcc5v>;
216                 vin2-supply = <&reg_vcc5v>;
217                 vin3-supply = <&reg_vcc5v>;
218                 vin4-supply = <&reg_vcc5v>;
219 
220                 regulators {
221                         reg_dcdc1: dcdc1 {
222                                 regulator-always-on;
223                                 regulator-min-microvolt = <900000>;
224                                 regulator-max-microvolt = <1160000>;
225                                 regulator-name = "vdd-cpu";
226                         };
227 
228                         reg_dcdc2: dcdc2 {
229                                 regulator-always-on;
230                                 regulator-min-microvolt = <940000>;
231                                 regulator-max-microvolt = <940000>;
232                                 regulator-name = "vdd-gpu-sys";
233                         };
234 
235                         reg_dcdc3: dcdc3 {
236                                 regulator-always-on;
237                                 regulator-min-microvolt = <1100000>;
238                                 regulator-max-microvolt = <1100000>;
239                                 regulator-name = "vdd-dram";
240                         };
241 
242                         reg_aldo1: aldo1 {
243                                 /* 1.8v - unused */
244                         };
245 
246                         reg_aldo2: aldo2 {
247                                 /* 1.8v - unused */
248                         };
249 
250                         reg_aldo3: aldo3 {
251                                 /* 1.8v - unused */
252                         };
253 
254                         reg_aldo4: aldo4 {
255                                 regulator-min-microvolt = <1800000>;
256                                 regulator-max-microvolt = <1800000>;
257                                 regulator-name = "vcc-pg";
258                         };
259 
260                         reg_bldo1: bldo1 {
261                                 /* 1.8v - unused */
262                         };
263 
264                         reg_bldo2: bldo2 {
265                                 regulator-always-on;
266                                 regulator-min-microvolt = <1800000>;
267                                 regulator-max-microvolt = <1800000>;
268                                 regulator-name = "vcc-pll";
269                         };
270 
271                         reg_bldo3: bldo3 {
272                                 /* 2.8v - unused */
273                         };
274 
275                         reg_bldo4: bldo4 {
276                                 /* 1.2v - unused */
277                         };
278 
279                         reg_cldo1: cldo1 {
280                                 /* 3.3v - audio codec - not yet implemented */
281                         };
282 
283                         reg_cldo2: cldo2 {
284                                 /* 3.3v - unused */
285                         };
286 
287                         reg_cldo3: cldo3 {
288                                 regulator-always-on;
289                                 regulator-min-microvolt = <3300000>;
290                                 regulator-max-microvolt = <3300000>;
291                                 regulator-name = "vcc-io";
292                         };
293 
294                         reg_cldo4: cldo4 {
295                                 regulator-min-microvolt = <3300000>;
296                                 regulator-max-microvolt = <3300000>;
297                                 regulator-name = "vcc-wifi";
298                         };
299 
300                         reg_boost: boost {
301                                 regulator-min-microvolt = <5000000>;
302                                 regulator-max-microvolt = <5200000>;
303                                 regulator-name = "boost";
304                         };
305 
306                         reg_cpusldo: cpusldo {
307                                 /* unused */
308                         };
309                 };
310         };
311 };
312 
313 &uart0 {
314         pinctrl-names = "default";
315         pinctrl-0 = <&uart0_ph_pins>;
316         status = "okay";
317 };
318 
319 /* the AXP717 has USB type-C role switch functionality, not yet described by the binding */
320 &usbotg {
321         dr_mode = "peripheral";   /* USB type-C receptable */
322         status = "okay";
323 };
324 
325 &usbphy {
326         status = "okay";
327 };

~ [ 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