2 * Copyright (C) 2018 Logic PD, Inc - http://www.logicpd.com/
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
9 #include <dt-bindings/input/input.h>
13 compatible = "simple-audio-card";
14 simple-audio-card,name = "tlv320aic23-hifi";
16 simple-audio-card,widgets =
17 "Microphone", "Mic In",
21 simple-audio-card,routing =
28 simple-audio-card,format = "i2s";
29 simple-audio-card,bitclock-master = <&sound_master>;
30 simple-audio-card,frame-master = <&sound_master>;
32 simple-audio-card,cpu {
33 sound-dai = <&mcbsp1>;
36 sound_master: simple-audio-card,codec {
37 sound-dai = <&tlv320aic23_1>;
38 system-clock-frequency = <12000000>;
43 compatible = "simple-audio-card";
44 simple-audio-card,name = "tlv320aic23-hifi";
46 simple-audio-card,widgets =
47 "Microphone", "Mic In",
51 simple-audio-card,routing =
58 simple-audio-card,format = "i2s";
59 simple-audio-card,bitclock-master = <&sound_master2>;
60 simple-audio-card,frame-master = <&sound_master2>;
62 simple-audio-card,cpu {
63 sound-dai = <&mcbsp2>;
66 sound_master2: simple-audio-card,codec {
67 sound-dai = <&tlv320aic23_2>;
68 system-clock-frequency = <12000000>;
73 compatible = "gpio-keys-polled";
74 poll-interval = <100>;
78 /* linux,code = <BTN_0>; */
79 gpios = <&tca6416_2 15 GPIO_ACTIVE_LOW>;
84 linux,code = <KEY_PLAY>;
85 gpios = <&tca6416_2 14 GPIO_ACTIVE_LOW>;
90 linux,code = <KEY_STOP>;
91 gpios = <&tca6416_2 13 GPIO_ACTIVE_LOW>;
96 linux,code = <KEY_FASTFORWARD>;
97 gpios = <&tca6416_2 12 GPIO_ACTIVE_LOW>;
102 linux,code = <KEY_REWIND>;
103 gpios = <&tca6416_2 11 GPIO_ACTIVE_LOW>;
108 linux,code = <KEY_LEFTSHIFT>;
109 gpios = <&tca6416_2 10 GPIO_ACTIVE_LOW>;
114 linux,code = <BTN_MODE>;
115 gpios = <&tca6416_2 9 GPIO_ACTIVE_LOW>;
120 linux,code = <KEY_MENU>;
121 gpios = <&tca6416_2 8 GPIO_ACTIVE_LOW>;
126 linux,code = <KEY_UP>;
127 gpios = <&tca6416_2 7 GPIO_ACTIVE_LOW>;
132 linux,code = <KEY_DOWN>;
133 gpios = <&tca6416_2 6 GPIO_ACTIVE_LOW>;
140 tlv320aic23_1: codec@1a {
141 compatible = "ti,tlv320aic23";
143 #sound-dai-cells= <0>;
147 tlv320aic23_2: codec@1b {
148 compatible = "ti,tlv320aic23";
150 #sound-dai-cells= <0>;
157 tlv320aic23_3: codec@1a {
158 compatible = "ti,tlv320aic23";
160 #sound-dai-cells= <0>;
166 compatible = "ti,tca6416";
170 vcc-supply = <&vdd_io_reg>;
174 compatible = "ti,tca6416";
178 vcc-supply = <&vdd_io_reg>;
181 /* TVP5146 Analog Video decoder input */
183 compatible = "ti,tvp5146m2";
190 #sound-dai-cells = <0>;
191 pinctrl-names = "default";
192 pinctrl-0 = <&mcbsp1_pins>;
197 #sound-dai-cells = <0>;
198 pinctrl-names = "default";
199 pinctrl-0 = <&mcbsp2_pins>;
203 mcbsp1_pins: pinmux_mcbsp1_pins {
204 pinctrl-single,pins = <
205 OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE0) /* mcbsp1_dx.mcbsp1_dx */
206 OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT | MUX_MODE0) /* mcbsp1_dx.mcbsp1_dr */
207 OMAP3_CORE1_IOPAD(0x2196, PIN_INPUT | MUX_MODE0) /* mcbsp_clks.mcbsp1_fsx */
208 OMAP3_CORE1_IOPAD(0x2198, PIN_INPUT | MUX_MODE0) /* mcbsp1_clkx.mcbsp1_clkx */
212 mcbsp2_pins: pinmux_mcbsp2_pins {
213 pinctrl-single,pins = <
214 OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx.mcbsp2_fsx */
215 OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx.mcbsp2_clkx */
216 OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr.mcbsp2.dr */
217 OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx.mcbsp2_dx */