1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
3 // Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
7 #include "sun50i-a64.dtsi"
8 #include "sun50i-a64-cpu-opp.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/gpio-keys.h>
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/pwm/pwm.h>
17 compatible = "pine64,pinebook", "allwinner,sun50i-a64";
18 chassis-type = "laptop";
22 ethernet0 = &rtl8723cs;
25 backlight: backlight {
26 compatible = "pwm-backlight";
27 pwms = <&pwm 0 50000 0>;
28 brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
29 default-brightness-level = <2>;
30 enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
31 power-supply = <®_vbklt>;
35 stdout-path = "serial0:115200n8";
39 compatible = "gpio-keys";
43 gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
44 linux,input-type = <EV_SW>;
45 linux,code = <SW_LID>;
48 wakeup-event-action = <EV_ACT_DEASSERTED>;
52 panel_edp: panel-edp {
53 compatible = "neweast,wjfh116008a";
54 backlight = <&backlight>;
55 power-supply = <®_dc1sw>;
58 panel_edp_in: endpoint {
59 remote-endpoint = <&anx6345_out_edp>;
65 compatible = "regulator-fixed";
66 regulator-name = "vbklt";
67 regulator-min-microvolt = <18000000>;
68 regulator-max-microvolt = <18000000>;
69 gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
74 compatible = "regulator-fixed";
75 regulator-name = "vcc5v0";
76 regulator-min-microvolt = <5000000>;
77 regulator-max-microvolt = <5000000>;
78 gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
82 wifi_pwrseq: wifi_pwrseq {
83 compatible = "mmc-pwrseq-simple";
84 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
87 speaker_amp: audio-amplifier {
88 compatible = "simple-audio-amplifier";
89 VCC-supply = <®_vcc5v0>;
90 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
91 sound-name-prefix = "Speaker Amp";
101 cpvdd-supply = <®_eldo1>;
106 cpu-supply = <®_dcdc2>;
110 cpu-supply = <®_dcdc2>;
114 cpu-supply = <®_dcdc2>;
118 cpu-supply = <®_dcdc2>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&mmc0_pins>;
144 vmmc-supply = <®_dcdc1>;
145 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
152 pinctrl-names = "default";
153 pinctrl-0 = <&mmc1_pins>;
154 vmmc-supply = <®_dldo4>;
155 vqmmc-supply = <®_eldo1>;
156 mmc-pwrseq = <&wifi_pwrseq>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
169 vmmc-supply = <®_dcdc1>;
170 vqmmc-supply = <®_eldo1>;
171 max-frequency = <200000000>;
188 vcc-pc-supply = <®_eldo1>;
189 vcc-pd-supply = <®_dcdc1>;
190 vcc-pe-supply = <®_aldo1>;
191 vcc-pg-supply = <®_eldo1>;
199 clock-frequency = <100000>;
200 pinctrl-names = "default";
201 pinctrl-0 = <&r_i2c_pl89_pins>;
204 anx6345: anx6345@38 {
205 compatible = "analogix,anx6345";
207 reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
208 dvdd25-supply = <®_dldo2>;
209 dvdd12-supply = <®_fldo1>;
212 #address-cells = <1>;
217 anx6345_in_tcon0: endpoint {
218 remote-endpoint = <&tcon0_out_anx6345>;
222 anx6345_out: port@1 {
224 anx6345_out_edp: endpoint {
225 remote-endpoint = <&panel_edp_in>;
234 * FIXME: We can't add that supply for now since it would
235 * create a circular dependency between pinctrl, the regulator
238 * vcc-pl-supply = <®_aldo2>;
246 compatible = "x-powers,axp803";
248 interrupt-parent = <&r_intc>;
249 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
253 #include "axp803.dtsi"
259 &battery_power_supply {
264 regulator-name = "vcc-pe";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <3300000>;
271 regulator-name = "vcc-pl";
276 regulator-min-microvolt = <2700000>;
277 regulator-max-microvolt = <3300000>;
278 regulator-name = "vcc-pll-avcc";
282 regulator-name = "vcc-lcd";
287 regulator-min-microvolt = <3300000>;
288 regulator-max-microvolt = <3300000>;
289 regulator-name = "vcc-3v3";
294 regulator-min-microvolt = <1000000>;
295 regulator-max-microvolt = <1300000>;
296 regulator-name = "vdd-cpux";
299 /* DCDC3 is polyphased with DCDC2 */
303 regulator-min-microvolt = <1200000>;
304 regulator-max-microvolt = <1200000>;
305 regulator-name = "vcc-dram";
310 regulator-min-microvolt = <1100000>;
311 regulator-max-microvolt = <1100000>;
312 regulator-name = "vdd-sys";
316 regulator-min-microvolt = <3300000>;
317 regulator-max-microvolt = <3300000>;
318 regulator-name = "vcc-hdmi";
322 regulator-min-microvolt = <2500000>;
323 regulator-max-microvolt = <2500000>;
324 regulator-name = "vcc-edp";
328 regulator-min-microvolt = <3300000>;
329 regulator-max-microvolt = <3300000>;
330 regulator-name = "vcc-wifi";
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <1800000>;
337 regulator-name = "cpvdd";
341 regulator-min-microvolt = <1200000>;
342 regulator-max-microvolt = <1200000>;
343 regulator-name = "vcc-1v2-hsic";
348 regulator-min-microvolt = <1100000>;
349 regulator-max-microvolt = <1100000>;
350 regulator-name = "vdd-cpus";
354 regulator-name = "vcc-rtc";
358 panel-supply = <®_dc1sw>;
359 dvdd25-supply = <®_dldo2>;
360 dvdd12-supply = <®_fldo1>;
364 vcc-hdmi-supply = <®_dldo1>;
369 simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
370 simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
371 "Microphone", "Internal Microphone Right",
372 "Headphone", "Headphone Jack",
373 "Speaker", "Internal Speaker";
374 simple-audio-card,routing =
377 "Speaker Amp INL", "LINEOUT",
378 "Speaker Amp INR", "LINEOUT",
379 "Internal Speaker", "Speaker Amp OUTL",
380 "Internal Speaker", "Speaker Amp OUTR",
381 "Headphone Jack", "HP",
384 "Internal Microphone Left", "MBIAS",
385 "MIC1", "Internal Microphone Left",
386 "Internal Microphone Right", "HBIAS",
387 "MIC2", "Internal Microphone Right";
391 pinctrl-names = "default";
392 pinctrl-0 = <&lcd_rgb666_pins>;
398 tcon0_out_anx6345: endpoint {
399 remote-endpoint = <&anx6345_in_tcon0>;
404 pinctrl-names = "default";
405 pinctrl-0 = <&uart0_pb_pins>;
410 pinctrl-names = "default";
411 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
416 compatible = "realtek,rtl8723cs-bt";
417 device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
418 enable-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
419 host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
428 usb0_vbus-supply = <®_vcc5v0>;
429 usb1_vbus-supply = <®_vcc5v0>;