blob: 111b1f5021b9f3156a8734a38fa7b7a21daa9c8e [file] [log] [blame]
Philipp Zabel7ed47ef2014-04-14 17:37:24 +02001/*
2 * Copyright 2013 Christian Hemp, Phytec Messtechnik GmbH
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
Dmitry Lavnikevich8fa91c82014-11-04 16:05:48 +030012#include <dt-bindings/sound/fsl-imx-audmux.h>
13
Philipp Zabel057b3d32014-04-14 17:37:27 +020014/ {
15 chosen {
16 linux,stdout-path = &uart4;
17 };
Dmitry Lavnikevich8fa91c82014-11-04 16:05:48 +030018
19 regulators {
20 sound_1v8: regulator@2 {
21 compatible = "regulator-fixed";
22 reg = <2>;
23 regulator-name = "i2s-audio-1v8";
24 regulator-min-microvolt = <1800000>;
25 regulator-max-microvolt = <1800000>;
26 };
27
28 sound_3v3: regulator@3 {
29 compatible = "regulator-fixed";
30 reg = <3>;
31 regulator-name = "i2s-audio-3v3";
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 };
35 };
36
37 tlv320_mclk: oscillator {
38 compatible = "fixed-clock";
39 #clock-cells = <0>;
40 clock-frequency = <19200000>;
41 clock-output-names = "tlv320-mclk";
42 };
43
44 sound {
45 compatible = "simple-audio-card";
46 simple-audio-card,name = "OnboardTLV320AIC3007";
47 simple-audio-card,format = "i2s";
48 simple-audio-card,bitclock-master = <&dailink_master>;
49 simple-audio-card,frame-master = <&dailink_master>;
50 simple-audio-card,widgets =
51 "Microphone", "Mic Jack",
52 "Line", "Line In",
53 "Line", "Line Out",
54 "Speaker", "Speaker",
55 "Headphone", "Headphone Jack";
56 simple-audio-card,routing =
57 "Line Out", "LLOUT",
58 "Line Out", "RLOUT",
59 "Speaker", "SPOP",
60 "Speaker", "SPOM",
61 "Headphone Jack", "HPLOUT",
62 "Headphone Jack", "HPROUT",
63 "MIC3L", "Mic Jack",
64 "MIC3R", "Mic Jack",
65 "Mic Jack", "Mic Bias",
66 "LINE1L", "Line In",
67 "LINE1R", "Line In";
68
69 simple-audio-card,cpu {
70 sound-dai = <&ssi2>;
71 };
72
73 dailink_master: simple-audio-card,codec {
74 sound-dai = <&codec>;
75 clocks = <&tlv320_mclk>;
76 };
77 };
78
79};
80
81&audmux {
82 status = "okay";
83
84 ssi2 {
85 fsl,audmux-port = <1>;
86 fsl,port-config = <
87 (IMX_AUDMUX_V2_PTCR_TFSDIR |
88 IMX_AUDMUX_V2_PTCR_TFSEL(4) |
89 IMX_AUDMUX_V2_PTCR_TCLKDIR |
90 IMX_AUDMUX_V2_PTCR_TCSEL(4))
91 IMX_AUDMUX_V2_PDCR_RXDSEL(4)
92 >;
93 };
94
95 pins5 {
96 fsl,audmux-port = <4>;
97 fsl,port-config = <
98 0x00000000
99 IMX_AUDMUX_V2_PDCR_RXDSEL(1)
100 >;
101 };
Philipp Zabel057b3d32014-04-14 17:37:27 +0200102};
103
Philipp Zabel7ed47ef2014-04-14 17:37:24 +0200104&fec {
105 status = "okay";
106};
107
Philipp Zabel25c349c2014-04-14 17:37:32 +0200108&hdmi {
109 status = "okay";
110};
111
Philipp Zabelc3a09402014-04-14 17:37:28 +0200112&i2c2 {
Philipp Zabelc3a09402014-04-14 17:37:28 +0200113 status = "okay";
Philipp Zabelbcdd3342014-04-14 17:37:29 +0200114
Dmitry Lavnikevich8fa91c82014-11-04 16:05:48 +0300115 codec: tlv320@18 {
116 compatible = "ti,tlv320aic3007";
117 #sound-dai-cells = <0>;
Philipp Zabelbcdd3342014-04-14 17:37:29 +0200118 reg = <0x18>;
Dmitry Lavnikevich8fa91c82014-11-04 16:05:48 +0300119 ai3x-micbias-vg = <2>;
120
121 AVDD-supply = <&sound_3v3>;
122 IOVDD-supply = <&sound_3v3>;
123 DRVDD-supply = <&sound_3v3>;
124 DVDD-supply = <&sound_1v8>;
Philipp Zabelbcdd3342014-04-14 17:37:29 +0200125 };
126
127 stmpe@41 {
128 compatible = "st,stmpe811";
129 reg = <0x41>;
130 };
131
132 rtc@51 {
133 compatible = "nxp,rtc8564";
134 reg = <0x51>;
135 };
136
137 adc@64 {
138 compatible = "maxim,max1037";
139 reg = <0x64>;
140 };
Philipp Zabelc3a09402014-04-14 17:37:28 +0200141};
142
143&i2c3 {
Philipp Zabelc3a09402014-04-14 17:37:28 +0200144 status = "okay";
145};
146
Dmitry Lavnikevich8fa91c82014-11-04 16:05:48 +0300147&ssi2 {
148 status = "okay";
149};
150
Philipp Zabelb6b94392014-04-14 17:37:31 +0200151&uart3 {
152 status = "okay";
153};
154
Philipp Zabel7ed47ef2014-04-14 17:37:24 +0200155&uart4 {
156 status = "okay";
157};
158
159&usbh1 {
160 status = "okay";
161};
162
163&usbotg {
164 status = "okay";
165};
166
167&usdhc2 {
168 status = "okay";
169};
170
171&usdhc3 {
172 status = "okay";
173};