aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-09-05 16:33:13 -0400
committerArnd Bergmann <arnd@arndb.de>2014-09-05 16:33:13 -0400
commitfacdb3dd378e81b8516a8faa061e0be56d2ae7be (patch)
tree7732c6f60290bb309f86b6326896f51f5e79f275
parentd62584f3c7e7edf26512cbfe5d1723ef3fb739cd (diff)
parent3f526696e7840239844fc7ff9b5cf014d7192c42 (diff)
Merge tag 'davinci-for-v3.18/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt
Pull "DT additions for DA850" from Sekhar Nori: Adds EDMA and audio support Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'davinci-for-v3.18/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: DTS: da850-evm: Enable audio via simple-card ARM: DTS: da850-evm: Add node for tlv320aic3106 codec ARM: DTS: da850-evm: Enable McASP via DT boot ARM: DTS: da850: Add node for McASP ARM: DTS: da850: Add node for edma0 ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0
-rw-r--r--arch/arm/boot/dts/da850-evm.dts72
-rw-r--r--arch/arm/boot/dts/da850.dtsi19
-rw-r--r--arch/arm/mach-davinci/da8xx-dt.c1
3 files changed, 92 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index 1e11e5a5f723..4f935ad9f27b 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -17,6 +17,18 @@
17 soc { 17 soc {
18 pmx_core: pinmux@1c14120 { 18 pmx_core: pinmux@1c14120 {
19 status = "okay"; 19 status = "okay";
20
21 mcasp0_pins: pinmux_mcasp0_pins {
22 pinctrl-single,bits = <
23 /*
24 * AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
25 * AFSR, AMUTE
26 */
27 0x00 0x11111111 0xffffffff
28 /* AXR11, AXR12 */
29 0x04 0x00011000 0x000ff000
30 >;
31 };
20 }; 32 };
21 serial0: serial@1c42000 { 33 serial0: serial@1c42000 {
22 status = "okay"; 34 status = "okay";
@@ -39,6 +51,20 @@
39 tps: tps@48 { 51 tps: tps@48 {
40 reg = <0x48>; 52 reg = <0x48>;
41 }; 53 };
54 tlv320aic3106: tlv320aic3106@18 {
55 #sound-dai-cells = <0>;
56 compatible = "ti,tlv320aic3106";
57 reg = <0x18>;
58 status = "okay";
59
60 /* Regulators */
61 IOVDD-supply = <&vdcdc2_reg>;
62 /* Derived from VBAT: Baseboard 3.3V / 1.8V */
63 AVDD-supply = <&vbat>;
64 DRVDD-supply = <&vbat>;
65 DVDD-supply = <&vbat>;
66 };
67
42 }; 68 };
43 wdt: wdt@1c21000 { 69 wdt: wdt@1c21000 {
44 status = "okay"; 70 status = "okay";
@@ -117,6 +143,33 @@
117 regulator-max-microvolt = <5000000>; 143 regulator-max-microvolt = <5000000>;
118 regulator-boot-on; 144 regulator-boot-on;
119 }; 145 };
146
147 sound {
148 compatible = "simple-audio-card";
149 simple-audio-card,name = "DA850/OMAP-L138 EVM";
150 simple-audio-card,widgets =
151 "Line", "Line In",
152 "Line", "Line Out";
153 simple-audio-card,routing =
154 "LINE1L", "Line In",
155 "LINE1R", "Line In",
156 "Line Out", "LLOUT",
157 "Line Out", "RLOUT";
158 simple-audio-card,format = "dsp_b";
159 simple-audio-card,bitclock-master = <&link0_codec>;
160 simple-audio-card,frame-master = <&link0_codec>;
161 simple-audio-card,bitclock-inversion;
162
163 simple-audio-card,cpu {
164 sound-dai = <&mcasp0>;
165 system-clock-frequency = <24576000>;
166 };
167
168 link0_codec: simple-audio-card,codec {
169 sound-dai = <&tlv320aic3106>;
170 system-clock-frequency = <24576000>;
171 };
172 };
120}; 173};
121 174
122/include/ "tps6507x.dtsi" 175/include/ "tps6507x.dtsi"
@@ -170,3 +223,22 @@
170 }; 223 };
171 }; 224 };
172}; 225};
226
227&mcasp0 {
228 #sound-dai-cells = <0>;
229 status = "okay";
230 pinctrl-names = "default";
231 pinctrl-0 = <&mcasp0_pins>;
232
233 op-mode = <0>; /* MCASP_IIS_MODE */
234 tdm-slots = <2>;
235 /* 4 serializer */
236 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
237 0 0 0 0
238 0 0 0 0
239 0 0 0 1
240 2 0 0 0
241 >;
242 tx-num-evt = <32>;
243 rx-num-evt = <32>;
244};
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index b695548dbb4e..0bd98cd00816 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -150,6 +150,12 @@
150 }; 150 };
151 151
152 }; 152 };
153 edma0: edma@01c00000 {
154 compatible = "ti,edma3";
155 reg = <0x0 0x10000>;
156 interrupts = <11 13 12>;
157 #dma-cells = <1>;
158 };
153 serial0: serial@1c42000 { 159 serial0: serial@1c42000 {
154 compatible = "ns16550a"; 160 compatible = "ns16550a";
155 reg = <0x42000 0x100>; 161 reg = <0x42000 0x100>;
@@ -270,6 +276,19 @@
270 ti,davinci-gpio-unbanked = <0>; 276 ti,davinci-gpio-unbanked = <0>;
271 status = "disabled"; 277 status = "disabled";
272 }; 278 };
279
280 mcasp0: mcasp@01d00000 {
281 compatible = "ti,da830-mcasp-audio";
282 reg = <0x100000 0x2000>,
283 <0x102000 0x400000>;
284 reg-names = "mpu", "dat";
285 interrupts = <54>;
286 interrupt-names = "common";
287 status = "disabled";
288 dmas = <&edma0 1>,
289 <&edma0 0>;
290 dma-names = "tx", "rx";
291 };
273 }; 292 };
274 nand_cs3@62000000 { 293 nand_cs3@62000000 {
275 compatible = "ti,davinci-nand"; 294 compatible = "ti,davinci-nand";
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index ed1928740b5f..f703d82f08a8 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -46,6 +46,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
46 OF_DEV_AUXDATA("ti,davinci_mdio", 0x01e24000, "davinci_mdio.0", NULL), 46 OF_DEV_AUXDATA("ti,davinci_mdio", 0x01e24000, "davinci_mdio.0", NULL),
47 OF_DEV_AUXDATA("ti,davinci-dm6467-emac", 0x01e20000, "davinci_emac.1", 47 OF_DEV_AUXDATA("ti,davinci-dm6467-emac", 0x01e20000, "davinci_emac.1",
48 NULL), 48 NULL),
49 OF_DEV_AUXDATA("ti,da830-mcasp-audio", 0x01d00000, "davinci-mcasp.0", NULL),
49 {} 50 {}
50}; 51};
51 52