In ti-processor-sdk-linux-rt-am62xx-evm-10.01.10.04,I want to use the CJC8990 as the audio codec on the AM62X chip, but the following error occurred when I was using it.
:~#aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: cjc8990hifi [cjc8990-hifi],device 0: 2b10000.audio-controller-cjc8990-hifi cjc8990-hifi-0 [2b10000.audio-controller-cjc8990-hifi cjc8990-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
:~##speaker-test -c 2 -t wav
speaker-test 1.2.11
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 16 to 131072
Period size range from 8 to 16384
Periods = 4
was set period_size = 12000
was set bufer_size = 48000
0 - Front Left
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed:Input/output error
My dts configuration is as follows:
main_macsp1_pins_default: main-mcasp1-default-pins { pinctrl-single,pins = < AM62X_IOPAD(0x0124, PIN_OUTPUT, 1) AM62X_IOPAD(0x0128, PIN_OUTPUT, 1) AM62X_IOPAD(0x0114, PIN_OUTPUT, 1) AM62X_IOPAD(0x010c, PIN_INPUT, 1) >; }; cjc8990_mclk: clk-0 { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <12288000>; }; codec-audio: sound { compatible = "simple-audio-card"; simple-audio-card,name = "cjc8990-hifi"; simple-audio-card,widgets = "Headphone", "Headphone Jack", "Line", "Line In", "Microphone", "Microphone Jack"; simple-audio-card,routing = "Headphone Jack", "LOUT1", "Headphone Jack", "ROUT1", "LINPUT1", "Line In", "LINPUT2", "Line In", "Microphone Jack", "Mic Bias"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&sound_master>; simple-audio-card,frame-master = <&sound_master>; simple-audio-card,bitclock-inversion; simple-audio-card,cpu { sound-dai = <&mcasp1>; }; sound_master: simple-audio-card,codec { sound-dai = <&cjc8990>; clocks = <&cjc8990_mclk>; }; }; &main_i2c0 { status = "okay"; clock-frequency = <100000>; rtc0: rtc-pcf8563@51 { compatible = "nxp,pcf8563"; reg = <0x51>; #clock-cells = <0>; }; cjc8990: audio-codec@1b { #sound-dai-cells = <0>; compatible = "cjc8990"; reg = <0x1b>; clocks = <&cjc8990_mclk>; clock-names = "mclk"; ai3x-micbias-vg = <1>; AVDD-supply = <&vcc_3v3_sys>; IOVDD-supply = <&vcc_3v3_sys>; DRVDD-supply = <&vcc_3v3_sys>; }; }; &mcasp1 { status = "okay"; #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&main_mcasp1_pns_default>; op-mode = <0>; tdm-slots = <2>; serial-dir = < 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 >; tx-num-evt = <0>; rx-num-evt = <0>; };
Please tell me how I should deal with this problem so that I can use the cjc8990 codec chip normally.