1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2019 André Hentschel <nerv@dawncrow.de>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/leds/common.h>
13 model = "Amazon Echo (first generation)";
14 compatible = "amazon,omap3-echo", "ti,omap3630", "ti,omap3";
18 cpu0-supply = <&vdd1_reg>;
23 device_type = "memory";
24 reg = <0x80000000 0xc600000>; /* 198 MB */
27 vcc5v: fixedregulator0 {
28 compatible = "regulator-fixed";
29 regulator-name = "vcc5v";
30 regulator-min-microvolt = <5000000>;
31 regulator-max-microvolt = <5000000>;
36 vcc3v3: fixedregulator1 {
37 compatible = "regulator-fixed";
38 regulator-name = "vcc3v3";
39 regulator-min-microvolt = <3300000>;
40 regulator-max-microvolt = <3300000>;
45 vcc1v8: fixedregulator2 {
46 compatible = "regulator-fixed";
47 regulator-name = "vcc1v8";
48 regulator-min-microvolt = <1800000>;
49 regulator-max-microvolt = <1800000>;
54 sdio_pwrseq: sdio-pwrseq {
55 compatible = "mmc-pwrseq-simple";
56 reset-gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
57 post-power-on-delay-ms = <40>;
61 compatible = "gpio-keys";
63 pinctrl-names = "default";
64 pinctrl-0 = <&button_pins>;
68 linux,code = <KEY_MUTE>;
69 gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; /* GPIO_70 */
75 linux,code = <KEY_HELP>;
76 gpios = <&gpio3 8 GPIO_ACTIVE_LOW>; /* GPIO_72 */
81 rotary: rotary-encoder {
82 compatible = "rotary-encoder";
84 &gpio3 5 GPIO_ACTIVE_HIGH /* GPIO_69 */
85 &gpio3 12 GPIO_ACTIVE_HIGH /* GPIO_76 */
88 rotary-encoder,relative-axis;
91 speaker_amp: speaker-amplifier {
92 compatible = "simple-audio-amplifier";
93 enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* gpio_129 */
94 sound-name-prefix = "Speaker Amp";
95 VCC-supply = <&vcc1v8>;
99 compatible = "simple-audio-card";
100 simple-audio-card,name = "Misto Speaker";
101 simple-audio-card,widgets =
102 "Speaker", "Speaker";
103 simple-audio-card,routing =
104 "Speaker Amp INL", "HPL",
105 "Speaker Amp INR", "HPR",
106 "Speaker", "Speaker Amp OUTL",
107 "Speaker", "Speaker Amp OUTR";
108 simple-audio-card,format = "i2s";
109 simple-audio-card,bitclock-master = <&sound_master>;
110 simple-audio-card,frame-master = <&sound_master>;
111 simple-audio-card,aux-devs = <&speaker_amp>;
113 simple-audio-card,cpu {
114 sound-dai = <&mcbsp2>;
117 sound_master: simple-audio-card,codec {
118 sound-dai = <&codec0>;
119 system-clock-frequency = <19200000>;
125 clock-frequency = <400000>;
134 #sound-dai-cells = <0>;
135 pinctrl-names = "default";
136 pinctrl-0 = <&mcbsp2_pins>;
140 clock-frequency = <400000>;
142 lp5523A: lp5523A@32 {
143 #address-cells = <1>;
145 compatible = "national,lp5523";
148 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
149 enable-gpio = <&gpio4 13 GPIO_ACTIVE_HIGH>; /* GPIO_109 */
152 #address-cells = <1>;
155 color = <LED_COLOR_ID_RGB>;
158 led-cur = /bits/ 8 <12>;
159 max-cur = /bits/ 8 <15>;
161 color = <LED_COLOR_ID_GREEN>;
165 led-cur = /bits/ 8 <12>;
166 max-cur = /bits/ 8 <15>;
168 color = <LED_COLOR_ID_BLUE>;
172 led-cur = /bits/ 8 <12>;
173 max-cur = /bits/ 8 <15>;
175 color = <LED_COLOR_ID_RED>;
179 #address-cells = <1>;
182 color = <LED_COLOR_ID_RGB>;
185 led-cur = /bits/ 8 <12>;
186 max-cur = /bits/ 8 <15>;
188 color = <LED_COLOR_ID_GREEN>;
192 led-cur = /bits/ 8 <12>;
193 max-cur = /bits/ 8 <15>;
195 color = <LED_COLOR_ID_BLUE>;
199 led-cur = /bits/ 8 <12>;
200 max-cur = /bits/ 8 <15>;
202 color = <LED_COLOR_ID_RED>;
206 #address-cells = <1>;
209 color = <LED_COLOR_ID_RGB>;
212 led-cur = /bits/ 8 <12>;
213 max-cur = /bits/ 8 <15>;
215 color = <LED_COLOR_ID_GREEN>;
219 led-cur = /bits/ 8 <12>;
220 max-cur = /bits/ 8 <15>;
222 color = <LED_COLOR_ID_BLUE>;
226 led-cur = /bits/ 8 <12>;
227 max-cur = /bits/ 8 <15>;
229 color = <LED_COLOR_ID_RED>;
234 lp5523B: lp5523B@33 {
235 #address-cells = <1>;
237 compatible = "national,lp5523";
240 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
243 #address-cells = <1>;
246 color = <LED_COLOR_ID_RGB>;
249 led-cur = /bits/ 8 <12>;
250 max-cur = /bits/ 8 <15>;
252 color = <LED_COLOR_ID_GREEN>;
256 led-cur = /bits/ 8 <12>;
257 max-cur = /bits/ 8 <15>;
259 color = <LED_COLOR_ID_BLUE>;
263 led-cur = /bits/ 8 <12>;
264 max-cur = /bits/ 8 <15>;
266 color = <LED_COLOR_ID_RED>;
270 #address-cells = <1>;
273 color = <LED_COLOR_ID_RGB>;
276 led-cur = /bits/ 8 <12>;
277 max-cur = /bits/ 8 <15>;
279 color = <LED_COLOR_ID_GREEN>;
283 led-cur = /bits/ 8 <12>;
284 max-cur = /bits/ 8 <15>;
286 color = <LED_COLOR_ID_BLUE>;
290 led-cur = /bits/ 8 <12>;
291 max-cur = /bits/ 8 <15>;
293 color = <LED_COLOR_ID_RED>;
297 #address-cells = <1>;
300 color = <LED_COLOR_ID_RGB>;
303 led-cur = /bits/ 8 <12>;
304 max-cur = /bits/ 8 <15>;
306 color = <LED_COLOR_ID_GREEN>;
310 led-cur = /bits/ 8 <12>;
311 max-cur = /bits/ 8 <15>;
313 color = <LED_COLOR_ID_BLUE>;
317 led-cur = /bits/ 8 <12>;
318 max-cur = /bits/ 8 <15>;
320 color = <LED_COLOR_ID_RED>;
325 lp5523C: lp5523C@34 {
326 #address-cells = <1>;
328 compatible = "national,lp5523";
331 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
334 #address-cells = <1>;
337 color = <LED_COLOR_ID_RGB>;
340 led-cur = /bits/ 8 <12>;
341 max-cur = /bits/ 8 <15>;
343 color = <LED_COLOR_ID_GREEN>;
347 led-cur = /bits/ 8 <12>;
348 max-cur = /bits/ 8 <15>;
350 color = <LED_COLOR_ID_BLUE>;
354 led-cur = /bits/ 8 <12>;
355 max-cur = /bits/ 8 <15>;
357 color = <LED_COLOR_ID_RED>;
361 #address-cells = <1>;
364 color = <LED_COLOR_ID_RGB>;
367 led-cur = /bits/ 8 <12>;
368 max-cur = /bits/ 8 <15>;
370 color = <LED_COLOR_ID_GREEN>;
374 led-cur = /bits/ 8 <12>;
375 max-cur = /bits/ 8 <15>;
377 color = <LED_COLOR_ID_BLUE>;
381 led-cur = /bits/ 8 <12>;
382 max-cur = /bits/ 8 <15>;
384 color = <LED_COLOR_ID_RED>;
388 #address-cells = <1>;
391 color = <LED_COLOR_ID_RGB>;
394 led-cur = /bits/ 8 <12>;
395 max-cur = /bits/ 8 <15>;
397 color = <LED_COLOR_ID_GREEN>;
401 led-cur = /bits/ 8 <12>;
402 max-cur = /bits/ 8 <15>;
404 color = <LED_COLOR_ID_BLUE>;
408 led-cur = /bits/ 8 <12>;
409 max-cur = /bits/ 8 <15>;
411 color = <LED_COLOR_ID_RED>;
417 #address-cells = <1>;
419 compatible = "national,lp5523";
422 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
425 #address-cells = <1>;
428 color = <LED_COLOR_ID_RGB>;
431 led-cur = /bits/ 8 <12>;
432 max-cur = /bits/ 8 <15>;
434 color = <LED_COLOR_ID_GREEN>;
438 led-cur = /bits/ 8 <12>;
439 max-cur = /bits/ 8 <15>;
441 color = <LED_COLOR_ID_BLUE>;
445 led-cur = /bits/ 8 <12>;
446 max-cur = /bits/ 8 <15>;
448 color = <LED_COLOR_ID_RED>;
452 #address-cells = <1>;
455 color = <LED_COLOR_ID_RGB>;
458 led-cur = /bits/ 8 <12>;
459 max-cur = /bits/ 8 <15>;
461 color = <LED_COLOR_ID_GREEN>;
465 led-cur = /bits/ 8 <12>;
466 max-cur = /bits/ 8 <15>;
468 color = <LED_COLOR_ID_BLUE>;
472 led-cur = /bits/ 8 <12>;
473 max-cur = /bits/ 8 <15>;
475 color = <LED_COLOR_ID_RED>;
479 #address-cells = <1>;
482 color = <LED_COLOR_ID_RGB>;
485 led-cur = /bits/ 8 <12>;
486 max-cur = /bits/ 8 <15>;
488 color = <LED_COLOR_ID_GREEN>;
492 led-cur = /bits/ 8 <12>;
493 max-cur = /bits/ 8 <15>;
495 color = <LED_COLOR_ID_BLUE>;
499 led-cur = /bits/ 8 <12>;
500 max-cur = /bits/ 8 <15>;
502 color = <LED_COLOR_ID_RED>;
509 clock-frequency = <400000>;
512 #sound-dai-cells = <0>;
513 compatible = "ti,tlv320aic32x4";
515 clocks = <&sys_clkout1>;
516 clock-names = "mclk";
517 ldoin-supply = <&vcc1v8>;
518 iov-supply = <&vcc1v8>;
519 reset-gpios = <&gpio3 10 GPIO_ACTIVE_LOW>; /* gpio_74 */
524 #include "tps65910.dtsi"
527 tps_pins: pinmux_tps_pins {
528 pinctrl-single,pins = <
529 OMAP3_CORE1_IOPAD(0x21e0, PIN_INPUT_PULLUP | PIN_OFF_INPUT_PULLUP | PIN_OFF_OUTPUT_LOW | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* sys_nirq.sys_nirq */
533 button_pins: pinmux_button_pins {
534 pinctrl-single,pins = <
535 OMAP3_CORE1_IOPAD(0x20dc, PIN_INPUT | MUX_MODE4) /* dss_data0.gpio_70 */
536 OMAP3_CORE1_IOPAD(0x20e0, PIN_INPUT | MUX_MODE4) /* dss_data2.gpio_72 */
537 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE4) /* dss_data4.gpio_74 */
538 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* dss_data15.gpio_85 */
539 OMAP3_CORE1_IOPAD(0x2a1a, PIN_OUTPUT | MUX_MODE0) /* sys_clkout1.sys_clkout1 */
543 mmc1_pins: pinmux_mmc1_pins {
544 pinctrl-single,pins = <
545 OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
546 OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
547 OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
548 OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
549 OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
550 OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
554 mmc2_pins: pinmux_mmc2_pins {
555 pinctrl-single,pins = <
556 OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
557 OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
558 OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
559 OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
560 OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
561 OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
562 OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4.sdmmc2_dat4 */
563 OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5.sdmmc2_dat5 */
564 OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6.sdmmc2_dat6 */
565 OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7.sdmmc2_dat7 */
569 mcbsp2_pins: pinmux_mcbsp2_pins {
570 pinctrl-single,pins = <
571 OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx.mcbsp2_fsx */
572 OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx.mcbsp2_clkx */
573 OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr.mcbsp2.dr */
574 OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx.mcbsp2_dx */
580 mmc3_pins: pinmux_mmc3_pins {
581 pinctrl-single,pins = <
582 OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */
583 OMAP3630_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */
584 OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */
585 OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */
586 OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */
587 OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */
595 pinctrl-names = "default";
596 pinctrl-0 = <&mmc1_pins>;
597 vmmc-supply = <&vmmc_reg>;
603 pinctrl-names = "default";
604 pinctrl-0 = <&mmc2_pins>;
605 vmmc-supply = <&vmmc_reg>;
609 #address-cells = <1>;
613 pinctrl-names = "default";
614 pinctrl-0 = <&mmc3_pins>;
617 mmc-pwrseq = <&sdio_pwrseq>;
618 vmmc-supply = <&vcc3v3>;
619 vqmmc-supply = <&vcc1v8>;
621 compatible = "atheros,ath6kl";
628 pinctrl-names = "default";
629 pinctrl-0 = <&tps_pins>;
631 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
632 interrupt-parent = <&intc>;
635 ti,system-power-controller;
637 vcc1-supply = <&vcc5v>;
638 vcc2-supply = <&vcc5v>;
639 vcc3-supply = <&vcc5v>;
640 vcc4-supply = <&vcc5v>;
641 vcc5-supply = <&vcc5v>;
642 vcc6-supply = <&vcc5v>;
643 vcc7-supply = <&vcc5v>;
644 vccio-supply = <&vcc5v>;
648 vio_reg: regulator@1 {
649 regulator-min-microvolt = <1800000>;
650 regulator-max-microvolt = <1800000>;
654 vdd1_reg: regulator@2 {
655 regulator-name = "vdd_mpu";
656 regulator-min-microvolt = <600000>;
657 regulator-max-microvolt = <1500000>;
662 vdd2_reg: regulator@3 {
663 regulator-name = "vdd_dsp";
664 regulator-min-microvolt = <600000>;
665 regulator-max-microvolt = <1500000>;
669 vdd3_reg: regulator@4 {
670 regulator-name = "vdd_core";
671 regulator-min-microvolt = <5000000>;
672 regulator-max-microvolt = <5000000>;
676 vdig1_reg: regulator@5 {
677 regulator-min-microvolt = <1200000>;
678 regulator-max-microvolt = <2700000>;
682 vdig2_reg: regulator@6 {
683 regulator-min-microvolt = <1000000>;
684 regulator-max-microvolt = <1800000>;
688 vpll_reg: regulator@7 {
689 regulator-min-microvolt = <1000000>;
690 regulator-max-microvolt = <2500000>;
694 vdac_reg: regulator@8 {
695 regulator-min-microvolt = <1100000>;
696 regulator-max-microvolt = <3300000>;
700 vaux1_reg: regulator@9 {
701 regulator-min-microvolt = <1800000>;
702 regulator-max-microvolt = <2850000>;
706 vaux2_reg: regulator@10 {
707 regulator-min-microvolt = <1800000>;
708 regulator-max-microvolt = <3300000>;
712 vaux33_reg: regulator@11 {
713 regulator-min-microvolt = <1800000>;
714 regulator-max-microvolt = <3300000>;
718 vmmc_reg: regulator@12 {
719 regulator-min-microvolt = <1800000>;
720 regulator-max-microvolt = <3000000>;