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

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2 // Copyright (C) Harald Geyer <harald@ccbib.org>
  3 // based on sun50i-a64-olinuxino.dts by Jagan Teki <jteki@openedev.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/input.h>
 12 #include <dt-bindings/pwm/pwm.h>
 13 
 14 / {
 15         model = "Olimex A64 Teres-I";
 16         compatible = "olimex,a64-teres-i", "allwinner,sun50i-a64";
 17         chassis-type = "laptop";
 18 
 19         aliases {
 20                 serial0 = &uart0;
 21         };
 22 
 23         backlight: backlight {
 24                 compatible = "pwm-backlight";
 25                 pwms = <&pwm 0 50000 0>;
 26                 power-supply = <&reg_dcdc1>;
 27                 brightness-levels = <0 5 7 10 14 20 28 40 56 80 112>;
 28                 default-brightness-level = <5>;
 29                 enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
 30         };
 31 
 32         chosen {
 33                 stdout-path = "serial0:115200n8";
 34 
 35                 framebuffer-lcd {
 36                         eDP25-supply = <&reg_dldo2>;
 37                         eDP12-supply = <&reg_dldo3>;
 38                 };
 39         };
 40 
 41         gpio-keys {
 42                 compatible = "gpio-keys";
 43 
 44                 lid-switch {
 45                         label = "Lid Switch";
 46                         gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
 47                         linux,input-type = <EV_SW>;
 48                         linux,code = <SW_LID>;
 49                         wakeup-source;
 50                 };
 51         };
 52 
 53         leds {
 54                 compatible = "gpio-leds";
 55 
 56                 led-0 {
 57                         label = "teres-i:green:capslock";
 58                         gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
 59                 };
 60 
 61                 led-1 {
 62                         label = "teres-i:green:numlock";
 63                         gpios = <&pio 2 4 GPIO_ACTIVE_HIGH>; /* PC4 */
 64                 };
 65         };
 66 
 67         reg_usb1_vbus: usb1-vbus {
 68                 compatible = "regulator-fixed";
 69                 regulator-name = "usb1-vbus";
 70                 regulator-min-microvolt = <5000000>;
 71                 regulator-max-microvolt = <5000000>;
 72                 enable-active-high;
 73                 gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
 74                 status = "okay";
 75         };
 76 
 77         wifi_pwrseq: pwrseq {
 78                 compatible = "mmc-pwrseq-simple";
 79                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
 80         };
 81 
 82         speaker_amp: audio-amplifier {
 83                 compatible = "simple-audio-amplifier";
 84                 enable-gpios = <&r_pio 0 12 GPIO_ACTIVE_HIGH>; /* PL12 */
 85                 sound-name-prefix = "Speaker Amp";
 86         };
 87 };
 88 
 89 &codec {
 90         status = "okay";
 91 };
 92 
 93 &codec_analog {
 94         cpvdd-supply = <&reg_eldo1>;
 95         status = "okay";
 96 };
 97 
 98 &dai {
 99         status = "okay";
100 };
101 
102 &de {
103         status = "okay";
104 };
105 
106 &cpu0 {
107         cpu-supply = <&reg_dcdc2>;
108 };
109 
110 &cpu1 {
111         cpu-supply = <&reg_dcdc2>;
112 };
113 
114 &cpu2 {
115         cpu-supply = <&reg_dcdc2>;
116 };
117 
118 &cpu3 {
119         cpu-supply = <&reg_dcdc2>;
120 };
121 
122 &ehci1 {
123         status = "okay";
124 };
125 
126 
127 &i2c0 {
128         clock-frequency = <100000>;
129         status = "okay";
130 
131         anx6345: anx6345@38 {
132                 compatible = "analogix,anx6345";
133                 reg = <0x38>;
134                 reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
135                 dvdd25-supply = <&reg_dldo2>;
136                 dvdd12-supply = <&reg_dldo3>;
137 
138                 ports {
139                         #address-cells = <1>;
140                         #size-cells = <0>;
141 
142                         port@0 {
143                                 reg = <0>;
144 
145                                 anx6345_in: endpoint {
146                                         remote-endpoint = <&tcon0_out_anx6345>;
147                                 };
148                         };
149                 };
150         };
151 };
152 
153 &mixer0 {
154         status = "okay";
155 };
156 
157 &mmc0 {
158         pinctrl-names = "default";
159         pinctrl-0 = <&mmc0_pins>;
160         vmmc-supply = <&reg_dcdc1>;
161         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
162         disable-wp;
163         bus-width = <4>;
164         status = "okay";
165 };
166 
167 &mmc1 {
168         pinctrl-names = "default";
169         pinctrl-0 = <&mmc1_pins>;
170         vmmc-supply = <&reg_aldo2>;
171         vqmmc-supply = <&reg_dldo4>;
172         mmc-pwrseq = <&wifi_pwrseq>;
173         bus-width = <4>;
174         non-removable;
175         status = "okay";
176 
177         rtl8723bs: wifi@1 {
178                 reg = <1>;
179                 interrupt-parent = <&r_pio>;
180                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
181                 interrupt-names = "host-wake";
182         };
183 };
184 
185 &mmc2 {
186         pinctrl-names = "default";
187         pinctrl-0 = <&mmc2_pins>;
188         vmmc-supply = <&reg_dcdc1>;
189         vqmmc-supply = <&reg_dcdc1>;
190         bus-width = <8>;
191         non-removable;
192         cap-mmc-hw-reset;
193         status = "okay";
194 };
195 
196 &ohci1 {
197         status = "okay";
198 };
199 
200 &pio {
201         vcc-pc-supply = <&reg_dcdc1>;
202         vcc-pd-supply = <&reg_dldo2>;
203         vcc-pe-supply = <&reg_aldo1>;
204         vcc-pf-supply = <&reg_dcdc1>;  /* No dedicated supply-pin for this */
205         vcc-pg-supply = <&reg_aldo2>;
206 };
207 
208 &pwm {
209         status = "okay";
210 };
211 
212 &r_rsb {
213         status = "okay";
214 
215         axp803: pmic@3a3 {
216                 compatible = "x-powers,axp803";
217                 reg = <0x3a3>;
218                 interrupt-parent = <&r_intc>;
219                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
220         };
221 };
222 
223 #include "axp803.dtsi"
224 
225 &ac_power_supply {
226         status = "okay";
227 };
228 
229 &battery_power_supply {
230         status = "okay";
231 };
232 
233 &reg_aldo1 {
234         regulator-always-on;
235         regulator-min-microvolt = <2800000>;
236         regulator-max-microvolt = <2800000>;
237         regulator-name = "vcc-pe";
238 };
239 
240 &reg_aldo2 {
241         regulator-always-on;
242         regulator-min-microvolt = <3300000>;
243         regulator-max-microvolt = <3300000>;
244         regulator-name = "vcc-pl";
245 };
246 
247 &reg_aldo3 {
248         regulator-always-on;
249         regulator-min-microvolt = <3000000>;
250         regulator-max-microvolt = <3000000>;
251         regulator-name = "vcc-pll-avcc";
252 };
253 
254 &reg_dcdc1 {
255         regulator-always-on;
256         regulator-min-microvolt = <3300000>;
257         regulator-max-microvolt = <3300000>;
258         regulator-name = "vcc-3v3";
259 };
260 
261 &reg_dcdc2 {
262         regulator-always-on;
263         regulator-min-microvolt = <1040000>;
264         regulator-max-microvolt = <1300000>;
265         regulator-name = "vdd-cpux";
266 };
267 
268 /* DCDC3 is polyphased with DCDC2 */
269 
270 &reg_dcdc5 {
271         regulator-always-on;
272         regulator-min-microvolt = <1500000>;
273         regulator-max-microvolt = <1500000>;
274         regulator-name = "vcc-ddr3";
275 };
276 
277 &reg_dcdc6 {
278         regulator-always-on;
279         regulator-min-microvolt = <1100000>;
280         regulator-max-microvolt = <1100000>;
281         regulator-name = "vdd-sys";
282 };
283 
284 &reg_dldo1 {
285         regulator-min-microvolt = <3300000>;
286         regulator-max-microvolt = <3300000>;
287         regulator-name = "vcc-hdmi";
288 };
289 
290 &reg_dldo2 {
291         regulator-min-microvolt = <2500000>;
292         regulator-max-microvolt = <2500000>;
293         regulator-name = "vcc-pd";
294 };
295 
296 &reg_dldo3 {
297         regulator-min-microvolt = <1200000>;
298         regulator-max-microvolt = <1200000>;
299         regulator-name = "vdd-edp";
300 };
301 
302 &reg_dldo4 {
303         regulator-min-microvolt = <3300000>;
304         regulator-max-microvolt = <3300000>;
305         regulator-name = "vcc-wifi-io";
306 };
307 
308 &reg_eldo1 {
309         regulator-min-microvolt = <1800000>;
310         regulator-max-microvolt = <1800000>;
311         regulator-name = "cpvdd";
312 };
313 
314 &reg_eldo2 {
315         regulator-min-microvolt = <1800000>;
316         regulator-max-microvolt = <1800000>;
317         regulator-name = "vcc-dvdd-csi";
318 };
319 
320 &reg_fldo1 {
321         regulator-min-microvolt = <1200000>;
322         regulator-max-microvolt = <1200000>;
323         regulator-name = "vcc-1v2-hsic";
324 };
325 
326 /*
327  * The A64 chip cannot work with this regulator off, although
328  * it seems to be only driving the AR100 core.
329  * Maybe we don't still know well about CPUs domain.
330  */
331 &reg_fldo2 {
332         regulator-always-on;
333         regulator-min-microvolt = <1100000>;
334         regulator-max-microvolt = <1100000>;
335         regulator-name = "vdd-cpus";
336 };
337 
338 &reg_rtc_ldo {
339         regulator-name = "vcc-rtc";
340 };
341 
342 &simplefb_hdmi {
343         vcc-hdmi-supply = <&reg_dldo1>;
344 };
345 
346 &sound {
347         simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
348         simple-audio-card,widgets = "Headphone", "Headphone Jack",
349                                     "Microphone", "Headset Microphone",
350                                     "Microphone", "Internal Microphone",
351                                     "Speaker", "Internal Speaker";
352         simple-audio-card,routing =
353                         "Left DAC", "DACL",
354                         "Right DAC", "DACR",
355                         "ADCL", "Left ADC",
356                         "ADCR", "Right ADC",
357                         "Headphone Jack", "HP",
358                         "Speaker Amp INL", "LINEOUT",
359                         "Speaker Amp INR", "LINEOUT",
360                         "Internal Speaker", "Speaker Amp OUTL",
361                         "Internal Speaker", "Speaker Amp OUTR",
362                         "Internal Microphone", "MBIAS",
363                         "MIC1", "Internal Microphone",
364                         "Headset Microphone", "HBIAS",
365                         "MIC2", "Headset Microphone";
366         status = "okay";
367 };
368 
369 &tcon0 {
370         pinctrl-names = "default";
371         pinctrl-0 = <&lcd_rgb666_pins>;
372 
373         status = "okay";
374 };
375 
376 &tcon0_out {
377         tcon0_out_anx6345: endpoint@0 {
378                 reg = <0>;
379                 remote-endpoint = <&anx6345_in>;
380         };
381 };
382 
383 &uart0 {
384         pinctrl-names = "default";
385         pinctrl-0 = <&uart0_pb_pins>;
386         status = "okay";
387 };
388 
389 &usbphy {
390         usb1_vbus-supply = <&reg_usb1_vbus>;
391         status = "okay";
392 };

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