Tool/software: Linux
Hi, I'm new to codec and got a problem.
I am using Beaglebone black,tlv320aic3104 on custom cape.
I used MCLK, BCLK, WCLK, DIN pin to make sound .
( I am using sdk, am335x-evm-03.03.00.05)
I enabled oscillator on beaglebone black(I used GPIO1_27 to enable it) to make 24.576 MHz clock to MCLK.
I used device tree file to configure hardware.
58 sound {
59 compatible = "simple-audio-card";
60 simple-audio-card,name = "AM335x_BBB_NRS";
61 simple-audio-card,widgets =
62 "Headphone", "Headphone Jack",
63 "Speaker", "Speaker External";
64 simple-audio-card,routing =
65 "Headphone Jack", "HPLOUT",
66 "Headphone Jack", "HPROUT",
67 "Speaker External", "HPLOUT",
68 "Speaker External", "HPROUT";
69 simple-audio-card,format = "dsp_b";
70 simple-audio-card,bitclock-master = <&sound_master>;
71 simple-audio-card,frame-master = <&sound_master>;
72 simple-audio-card,bitclock-inversion;
73
74 simple-audio-card,cpu {
75 sound-dai = <&mcasp0>;
76 };
77
78 sound_master: simple-audio-card,codec {
79 sound-dai = <&tlv320aic3104>;
80 system-clock-frequency = <24000000>;
81 };
82 };
83
84
85 };
86
# pinmux
176 mcasp0_pins: mcasp0_pins {
177 pinctrl-single,pins = <
178 0x190 (PIN_INPUT_PULLDOWN | MUX_MODE0) /*mcasp0_aclkx */
179 0x194 (PIN_INPUT_PULLDOWN | MUX_MODE0) /*mcasp0_fsx */
180 0x198 (PIN_INPUT_PULLDOWN | MUX_MODE0) /*mcasp0_axr0 */
181 0x19c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /*mcasp0_axr2 */
182 0x1ac (PIN_INPUT_PULLDOWN | MUX_MODE0) /*GPIO3_21. mcasp0_axr3 */
183
184 /* to enable osciliator, GPIO1_27 pin has to be set to GPIO MODE */
185 0x06c (PIN_OUTPUT_PULLUP | MUX_MODE7) /*GPIO1_27 */
186 >;
187 };
188
189 i2c1_pins: pinmux_i2c1_pins {
190 pinctrl-single,pins = <
191 0x158 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */
192 0x15c (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */
193 >;
194 };
251 &mcasp0 {
252 #sound-dai-cells = <0>;
253
254 pinctrl-names = "default";
255 pinctrl-0 = <&mcasp0_pins>;
256
257 status = "okay";
258
259 op-mode = <0>; /* MCASP_IIS_MODE */
260 tdm-slots = <2>;
261 /* 4 serializers */
262 /* 0: INACTIVE, 1: TX, 2: RX */
263 serial-dir = <2 0 1 0>;
264 tx-num-evt = <32>;
265 rx-num-evt = <32>;
266 };
To test it, I used speaker-test command.
and I could see MCLK(3), BLCK(4), WCLK(2), DIN(1) output. see below picture.
But, I could not hear anything from speaker attached to HPLOUT/HPROUT.
so below is HPLOUT/HPROUT.
Only thing I could see is little increase in voltage (when I used 'speaker-test' command)
I'm waiting for advise.
Thanks.

