xref: /linux/arch/arm/boot/dts/allwinner/sun5i-a13-pocketbook-614-plus.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2024 Denis Burkov <hitechshell@mail.ru>
4 */
5
6/dts-v1/;
7#include "sun5i-a13.dtsi"
8#include "sunxi-common-regulators.dtsi"
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/leds/common.h>
14
15/ {
16	model = "PocketBook 614 Plus";
17	compatible = "pocketbook,614-plus", "allwinner,sun5i-a13";
18
19	aliases {
20		serial0 = &uart1;
21	};
22
23	chosen {
24		stdout-path = "serial0:115200n8";
25	};
26
27	leds {
28		compatible = "gpio-leds";
29
30		led-0 {
31			color = <LED_COLOR_ID_WHITE>;
32			function = LED_FUNCTION_POWER;
33			linux,default-trigger = "default-on";
34			gpios = <&pio 4 8 GPIO_ACTIVE_LOW>; /* PE8 */
35		};
36	};
37
38	gpio-keys {
39		compatible = "gpio-keys";
40
41		key-0 {
42			label = "Right";
43			linux,code = <KEY_NEXT>;
44			gpios = <&pio 6 9 GPIO_ACTIVE_LOW>; /* PG9 */
45		};
46
47		key-1 {
48			label = "Left";
49			linux,code = <KEY_PREVIOUS>;
50			gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 */
51		};
52	};
53
54	reg_3v3_mmc0: regulator-mmc0 {
55		compatible = "regulator-fixed";
56		regulator-name = "vdd-mmc0";
57		regulator-min-microvolt = <3300000>;
58		regulator-max-microvolt = <3300000>;
59		gpio = <&pio 4 4 GPIO_ACTIVE_LOW>; /* PE4 */
60		vin-supply = <&reg_vcc3v3>;
61	};
62};
63
64&cpu0 {
65	cpu-supply = <&reg_dcdc2>;
66};
67
68&ehci0 {
69	status = "okay";
70};
71
72&i2c0 {
73	status = "okay";
74
75	axp209: pmic@34 {
76		compatible = "x-powers,axp209";
77		reg = <0x34>;
78		interrupts = <0>;
79	};
80};
81
82#include "axp209.dtsi"
83
84&i2c1 {
85	status = "okay";
86
87	pcf8563: rtc@51 {
88		compatible = "nxp,pcf8563";
89		reg = <0x51>;
90		#clock-cells = <0>;
91	};
92};
93
94&lradc {
95	vref-supply = <&reg_ldo2>;
96	status = "okay";
97
98	button-300 {
99		label = "Down";
100		linux,code = <KEY_DOWN>;
101		channel = <0>;
102		voltage = <300000>;
103	};
104
105	button-700 {
106		label = "Up";
107		linux,code = <KEY_UP>;
108		channel = <0>;
109		voltage = <700000>;
110	};
111
112	button-1000 {
113		label = "Left";
114		linux,code = <KEY_LEFT>;
115		channel = <0>;
116		voltage = <1000000>;
117	};
118
119	button-1200 {
120		label = "Menu";
121		linux,code = <KEY_MENU>;
122		channel = <0>;
123		voltage = <1200000>;
124	};
125
126	button-1500 {
127		label = "Right";
128		linux,code = <KEY_RIGHT>;
129		channel = <0>;
130		voltage = <1500000>;
131	};
132};
133
134&mmc0 {
135	vmmc-supply = <&reg_3v3_mmc0>;
136	bus-width = <4>;
137	cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
138	status = "okay";
139};
140
141&mmc2 {
142	pinctrl-names = "default";
143	pinctrl-0 = <&mmc2_4bit_pc_pins>;
144	vmmc-supply = <&reg_vcc3v3>;
145	bus-width = <4>;
146	non-removable;
147	status = "okay";
148};
149
150&ohci0 {
151	status = "okay";
152};
153
154&otg_sram {
155	status = "okay";
156};
157
158&reg_dcdc2 {
159	regulator-always-on;
160	regulator-min-microvolt = <1000000>;
161	regulator-max-microvolt = <1500000>;
162	regulator-name = "vdd-cpu";
163};
164
165&reg_dcdc3 {
166	regulator-always-on;
167	regulator-min-microvolt = <1000000>;
168	regulator-max-microvolt = <1400000>;
169	regulator-name = "vdd-int-dll";
170};
171
172&reg_ldo1 {
173	regulator-name = "vdd-rtc";
174};
175
176&reg_ldo2 {
177	regulator-always-on;
178	regulator-min-microvolt = <3000000>;
179	regulator-max-microvolt = <3000000>;
180	regulator-name = "avcc";
181};
182
183&reg_usb0_vbus {
184	status = "okay";
185	gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
186};
187
188&reg_usb1_vbus {
189	gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
190	status = "okay";
191};
192
193&uart1 {
194	pinctrl-names = "default";
195	pinctrl-0 = <&uart1_pg_pins>;
196	status = "okay";
197};
198
199&usb_otg {
200	dr_mode = "otg";
201	status = "okay";
202};
203
204&usb_power_supply {
205	status = "okay";
206};
207
208&battery_power_supply {
209	status = "okay";
210};
211
212&usbphy {
213	usb0_id_det-gpios = <&pio 6 2 GPIO_ACTIVE_HIGH>; /* PG2 */
214	usb0_vbus_det-gpios = <&axp_gpio 1 GPIO_ACTIVE_HIGH>;
215	usb0_vbus-supply = <&reg_usb0_vbus>;
216	usb1_vbus-supply = <&reg_usb1_vbus>;
217	status = "okay";
218};
219