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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.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+ OR MIT)
  2 // Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
  3 // Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
  4 
  5 /dts-v1/;
  6 
  7 #include "sun50i-a64.dtsi"
  8 #include "sun50i-a64-cpu-opp.dtsi"
  9 
 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>
 14 
 15 / {
 16         model = "Pine64 Pinebook";
 17         compatible = "pine64,pinebook", "allwinner,sun50i-a64";
 18         chassis-type = "laptop";
 19 
 20         aliases {
 21                 serial0 = &uart0;
 22                 ethernet0 = &rtl8723cs;
 23         };
 24 
 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 = <&reg_vbklt>;
 32         };
 33 
 34         chosen {
 35                 stdout-path = "serial0:115200n8";
 36         };
 37 
 38         gpio-keys {
 39                 compatible = "gpio-keys";
 40 
 41                 lid-switch {
 42                         label = "Lid Switch";
 43                         gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
 44                         linux,input-type = <EV_SW>;
 45                         linux,code = <SW_LID>;
 46                         linux,can-disable;
 47                         wakeup-source;
 48                         wakeup-event-action = <EV_ACT_DEASSERTED>;
 49                 };
 50         };
 51 
 52         panel_edp: panel-edp {
 53                 compatible = "neweast,wjfh116008a";
 54                 backlight = <&backlight>;
 55                 power-supply = <&reg_dc1sw>;
 56 
 57                 port {
 58                         panel_edp_in: endpoint {
 59                                 remote-endpoint = <&anx6345_out_edp>;
 60                         };
 61                 };
 62         };
 63 
 64         reg_vbklt: vbklt {
 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 */
 70                 enable-active-high;
 71         };
 72 
 73         reg_vcc5v0: vcc5v0 {
 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>;
 79                 enable-active-high;
 80         };
 81 
 82         wifi_pwrseq: pwrseq {
 83                 compatible = "mmc-pwrseq-simple";
 84                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
 85         };
 86 
 87         speaker_amp: audio-amplifier {
 88                 compatible = "simple-audio-amplifier";
 89                 VCC-supply = <&reg_vcc5v0>;
 90                 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
 91                 sound-name-prefix = "Speaker Amp";
 92         };
 93 
 94 };
 95 
 96 &codec {
 97         status = "okay";
 98 };
 99 
100 &codec_analog {
101         cpvdd-supply = <&reg_eldo1>;
102         status = "okay";
103 };
104 
105 &cpu0 {
106         cpu-supply = <&reg_dcdc2>;
107 };
108 
109 &cpu1 {
110         cpu-supply = <&reg_dcdc2>;
111 };
112 
113 &cpu2 {
114         cpu-supply = <&reg_dcdc2>;
115 };
116 
117 &cpu3 {
118         cpu-supply = <&reg_dcdc2>;
119 };
120 
121 &dai {
122         status = "okay";
123 };
124 
125 &de {
126         status = "okay";
127 };
128 
129 &ehci0 {
130         status = "okay";
131 };
132 
133 &ehci1 {
134         status = "okay";
135 };
136 
137 &mixer0 {
138         status = "okay";
139 };
140 
141 &mmc0 {
142         pinctrl-names = "default";
143         pinctrl-0 = <&mmc0_pins>;
144         vmmc-supply = <&reg_dcdc1>;
145         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
146         disable-wp;
147         bus-width = <4>;
148         status = "okay";
149 };
150 
151 &mmc1 {
152         pinctrl-names = "default";
153         pinctrl-0 = <&mmc1_pins>;
154         vmmc-supply = <&reg_dldo4>;
155         vqmmc-supply = <&reg_eldo1>;
156         mmc-pwrseq = <&wifi_pwrseq>;
157         bus-width = <4>;
158         non-removable;
159         status = "okay";
160 
161         rtl8723cs: wifi@1 {
162                 reg = <1>;
163         };
164 };
165 
166 &mmc2 {
167         pinctrl-names = "default";
168         pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
169         vmmc-supply = <&reg_dcdc1>;
170         vqmmc-supply = <&reg_eldo1>;
171         max-frequency = <200000000>;
172         bus-width = <8>;
173         non-removable;
174         cap-mmc-hw-reset;
175         mmc-hs200-1_8v;
176         status = "okay";
177 };
178 
179 &ohci0 {
180         status = "okay";
181 };
182 
183 &ohci1 {
184         status = "okay";
185 };
186 
187 &pio {
188         vcc-pc-supply = <&reg_eldo1>;
189         vcc-pd-supply = <&reg_dcdc1>;
190         vcc-pe-supply = <&reg_aldo1>;
191         vcc-pg-supply = <&reg_eldo1>;
192 };
193 
194 &pwm {
195         status = "okay";
196 };
197 
198 &r_i2c {
199         clock-frequency = <100000>;
200         pinctrl-names = "default";
201         pinctrl-0 = <&r_i2c_pl89_pins>;
202         status = "okay";
203 
204         anx6345: anx6345@38 {
205                 compatible = "analogix,anx6345";
206                 reg = <0x38>;
207                 reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
208                 dvdd25-supply = <&reg_dldo2>;
209                 dvdd12-supply = <&reg_fldo1>;
210 
211                 ports {
212                         #address-cells = <1>;
213                         #size-cells = <0>;
214 
215                         anx6345_in: port@0 {
216                                 reg = <0>;
217                                 anx6345_in_tcon0: endpoint {
218                                         remote-endpoint = <&tcon0_out_anx6345>;
219                                 };
220                         };
221 
222                         anx6345_out: port@1 {
223                                 reg = <1>;
224                                 anx6345_out_edp: endpoint {
225                                         remote-endpoint = <&panel_edp_in>;
226                                 };
227                         };
228                 };
229         };
230 };
231 
232 &r_pio {
233         /*
234          * FIXME: We can't add that supply for now since it would
235          * create a circular dependency between pinctrl, the regulator
236          * and the RSB Bus.
237          *
238          * vcc-pl-supply = <&reg_aldo2>;
239          */
240 };
241 
242 &r_rsb {
243         status = "okay";
244 
245         axp803: pmic@3a3 {
246                 compatible = "x-powers,axp803";
247                 reg = <0x3a3>;
248                 interrupt-parent = <&r_intc>;
249                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
250         };
251 };
252 
253 #include "axp803.dtsi"
254 
255 &ac_power_supply {
256         status = "okay";
257 };
258 
259 &battery_power_supply {
260         status = "okay";
261 };
262 
263 &reg_aldo1 {
264         regulator-name = "vcc-pe";
265 };
266 
267 &reg_aldo2 {
268         regulator-always-on;
269         regulator-min-microvolt = <1800000>;
270         regulator-max-microvolt = <3300000>;
271         regulator-name = "vcc-pl";
272 };
273 
274 &reg_aldo3 {
275         regulator-always-on;
276         regulator-min-microvolt = <2700000>;
277         regulator-max-microvolt = <3300000>;
278         regulator-name = "vcc-pll-avcc";
279 };
280 
281 &reg_dc1sw {
282         regulator-name = "vcc-lcd";
283 };
284 
285 &reg_dcdc1 {
286         regulator-always-on;
287         regulator-min-microvolt = <3300000>;
288         regulator-max-microvolt = <3300000>;
289         regulator-name = "vcc-3v3";
290 };
291 
292 &reg_dcdc2 {
293         regulator-always-on;
294         regulator-min-microvolt = <1000000>;
295         regulator-max-microvolt = <1300000>;
296         regulator-name = "vdd-cpux";
297 };
298 
299 /* DCDC3 is polyphased with DCDC2 */
300 
301 &reg_dcdc5 {
302         regulator-always-on;
303         regulator-min-microvolt = <1200000>;
304         regulator-max-microvolt = <1200000>;
305         regulator-name = "vcc-dram";
306 };
307 
308 &reg_dcdc6 {
309         regulator-always-on;
310         regulator-min-microvolt = <1100000>;
311         regulator-max-microvolt = <1100000>;
312         regulator-name = "vdd-sys";
313 };
314 
315 &reg_dldo1 {
316         regulator-min-microvolt = <3300000>;
317         regulator-max-microvolt = <3300000>;
318         regulator-name = "vcc-hdmi";
319 };
320 
321 &reg_dldo2 {
322         regulator-min-microvolt = <2500000>;
323         regulator-max-microvolt = <2500000>;
324         regulator-name = "vcc-edp";
325 };
326 
327 &reg_dldo4 {
328         regulator-min-microvolt = <3300000>;
329         regulator-max-microvolt = <3300000>;
330         regulator-name = "vcc-wifi";
331 };
332 
333 &reg_eldo1 {
334         regulator-always-on;
335         regulator-min-microvolt = <1800000>;
336         regulator-max-microvolt = <1800000>;
337         regulator-name = "cpvdd";
338 };
339 
340 &reg_fldo1 {
341         regulator-min-microvolt = <1200000>;
342         regulator-max-microvolt = <1200000>;
343         regulator-name = "vcc-1v2-hsic";
344 };
345 
346 &reg_fldo2 {
347         regulator-always-on;
348         regulator-min-microvolt = <1100000>;
349         regulator-max-microvolt = <1100000>;
350         regulator-name = "vdd-cpus";
351 };
352 
353 &reg_rtc_ldo {
354         regulator-name = "vcc-rtc";
355 };
356 
357 &simplefb_lcd {
358         panel-supply = <&reg_dc1sw>;
359         dvdd25-supply = <&reg_dldo2>;
360         dvdd12-supply = <&reg_fldo1>;
361 };
362 
363 &simplefb_hdmi {
364         vcc-hdmi-supply = <&reg_dldo1>;
365 };
366 
367 &sound {
368         status = "okay";
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 =
375                         "Left DAC", "DACL",
376                         "Right DAC", "DACR",
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",
382                         "ADCL", "Left ADC",
383                         "ADCR", "Right ADC",
384                         "Internal Microphone Left", "MBIAS",
385                         "MIC1", "Internal Microphone Left",
386                         "Internal Microphone Right", "HBIAS",
387                         "MIC2", "Internal Microphone Right";
388 };
389 
390 &tcon0 {
391         pinctrl-names = "default";
392         pinctrl-0 = <&lcd_rgb666_pins>;
393 
394         status = "okay";
395 };
396 
397 &tcon0_out {
398         tcon0_out_anx6345: endpoint {
399                 remote-endpoint = <&anx6345_in_tcon0>;
400         };
401 };
402 
403 &uart0 {
404         pinctrl-names = "default";
405         pinctrl-0 = <&uart0_pb_pins>;
406         status = "okay";
407 };
408 
409 &uart1 {
410         pinctrl-names = "default";
411         pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
412         uart-has-rtscts;
413         status = "okay";
414 
415         bluetooth {
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 */
420         };
421 };
422 
423 &usb_otg {
424         dr_mode = "host";
425 };
426 
427 &usbphy {
428         usb0_vbus-supply = <&reg_vcc5v0>;
429         usb1_vbus-supply = <&reg_vcc5v0>;
430         status = "okay";
431 };

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