1 /*
2 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
3 *
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.
7 */
9 #include <dt-bindings/clk/ti-dra7-atl.h>
11 / {
12 jamr3_sound {
13 compatible = "ti,dra7xx-jamr3-snd";
14 ti,model = "DRA7xx-JAMR3";
15 ti,always-on;
16 clocks = <&atl_clkin1_ck>;
17 clock-names = "ti,codec-clock";
19 ti,audio-routing =
20 "J3A LINE1L", "JAMR3 Stereo Aux In",
21 "J3A LINE1R", "JAMR3 Stereo Aux In",
22 "J3B LINE1L", "JAMR3 Mono Mic 1",
23 "J3B LINE1R", "JAMR3 Mono Mic 2",
24 "JAMR3 Line Out 1", "J3A LLOUT",
25 "JAMR3 Line Out 1", "J3A RLOUT",
26 "JAMR3 Line Out 2", "J3B LLOUT",
27 "JAMR3 Line Out 2", "J3B RLOUT",
28 "JAMR3 Line Out 3", "J3C LLOUT",
29 "JAMR3 Line Out 3", "J3C RLOUT";
31 /* DAI link */
32 ti,mcasp-controller = <&mcasp6>;
33 ti,audio-codec-a = <&tlv320aic3106a>;
34 ti,audio-codec-b = <&tlv320aic3106b>;
35 ti,audio-codec-c = <&tlv320aic3106c>;
36 ti,audio-slots = <8>;
37 ti,audio-mclk-freq = <11289600>;
38 };
40 dsp_radio: radio {
41 compatible = "ti,dra7xx_radio";
42 gpios = <&gpio6 20 0>;
43 };
44 };
46 &reserved_mem {
47 /* Required by cmem driver used by radio */
48 cmem_radio: cmem@95400000 {
49 reg = <0x95400000 0x400000>;
50 no-map;
51 status = "okay";
52 };
54 dsp1_sr0: dsp1_sr0@bfd00000 {
55 reg = <0xbfd00000 0x100000>;
56 no-map;
57 status = "okay";
58 };
59 };
61 &atl {
62 atl1 {
63 bws = <DRA7_ATL_WS_MCASP2_FSX>;
64 aws = <DRA7_ATL_WS_MCASP6_FSX>;
65 };
66 };
68 &i2c4 {
69 status = "okay";
70 clock-frequency = <400000>;
72 pcf_jamr3_21: pcf8575@21 {
73 compatible = "nxp,pcf8575";
74 reg = <0x21>;
75 gpio-controller;
76 #gpio-cells = <2>;
77 };
78 };
80 &mcasp2 {
81 fck_parent = "atl_clkin2_ck";
83 status = "okay";
85 op-mode = <0>; /* MCASP_IIS_MODE */
86 tdm-slots = <2>;
87 /* 8 serializer */
88 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
89 1 1 1 1 1 1 1 1
90 >;
91 shared-dai;
92 };
94 &mcasp6 {
95 fck_parent = "atl_clkin1_ck";
97 status = "okay";
99 op-mode = <0>; /* MCASP_IIS_MODE */
100 tdm-slots = <8>;
101 /* 4 serializer */
102 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
103 1 2 0 0
104 >;
105 tx-num-evt = <8>;
106 rx-num-evt = <8>;
107 shared-dai;
108 };
110 &i2c_p3_exp {
111 tlv320aic3106a: tlv320aic3106@18 {
112 compatible = "ti,tlv320aic3106";
113 reg = <0x18>;
114 adc-settle-ms = <40>;
115 ai3x-micbias-vg = <1>; /* 2.0V */
116 status = "okay";
117 name-prefix = "J3A";
119 /* Regulators */
120 AVDD-supply = <&evm_3v3_sw>;
121 IOVDD-supply = <&evm_3v3_sw>;
122 DRVDD-supply = <&evm_3v3_sw>;
123 DVDD-supply = <&aic_dvdd>;
124 };
126 tlv320aic3106b: tlv320aic3106@19 {
127 compatible = "ti,tlv320aic3106";
128 reg = <0x19>;
129 adc-settle-ms = <40>;
130 ai3x-micbias-vg = <1>; /* 2.0V */
131 status = "okay";
132 name-prefix = "J3B";
134 /* Regulators */
135 AVDD-supply = <&evm_3v3_sw>;
136 IOVDD-supply = <&evm_3v3_sw>;
137 DRVDD-supply = <&evm_3v3_sw>;
138 DVDD-supply = <&aic_dvdd>;
139 };
141 tlv320aic3106c: tlv320aic3106@1a {
142 compatible = "ti,tlv320aic3106";
143 reg = <0x1a>;
144 adc-settle-ms = <40>;
145 ai3x-micbias-vg = <1>; /* 2.0V */
146 status = "okay";
147 name-prefix = "J3C";
149 /* Regulators */
150 AVDD-supply = <&evm_3v3_sw>;
151 IOVDD-supply = <&evm_3v3_sw>;
152 DRVDD-supply = <&evm_3v3_sw>;
153 DVDD-supply = <&aic_dvdd>;
154 };
156 tvp_5158: tvp5158@58 {
157 compatible= "ti,tvp5158";
158 reg = <0x58>;
160 port {
161 tvp_decoder: endpoint@0 {
162 channels = <0 2 4 6>;
163 };
164 };
165 };
166 };
168 &video_in {
169 endpoint {
170 slave-mode;
171 remote-endpoint = <&tvp_decoder>;
172 };
173 };