This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/PROCESSOR-SDK-AM335X: No audio output from codec

Part Number: PROCESSOR-SDK-AM335X


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.