We are testing the CJC8988 audio chip on our self-developed carrier board. The current situation is that the driver can be registered normally, but there is no sound output from the audio.
About dts:
clocks {
cjc8988_mclk: cjc8988_mclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <12000000>;
clock-output-names = "cjc8988-mclk";
status = "okay";
};
};
sound {
status = "okay";
/delete-property/ widgets;
/delete-property/ routing;
};
bus@0 {
aconnect@9000000 {
ahub@9630000 {
status = "okay";
i2s@92b0000 {
status = "okay";
ports {
port@1 {
endpoint {
dai-format = "i2s";
remote-endpoint = <&cjc8988_ep1>;
};
};
};
};
};
};
i2c@c610000 {
status = "okay";
cjc8988: cjc8988@1a {
status = "okay";
compatible = "cjc8988";
reg = <0x1a>;
clocks = <&cjc8988_mclk>;
clock-names = "mclk";
sound-name-prefix = "CVB-RT";
port {
cjc8988_ep1: endpoint {
link-name = "cjc8988-playback";
remote-endpoint = <&i2s4_dap>;
mclk-fs = <256>;
};
};
};
};
cat /proc/asound/cards
nvidia@tegra-ubuntu:~/cjc8988$ cat /proc/asound/cards
0 [HDA ]: tegra-hda - NVIDIA Jetson Thor AGX HDA
NVIDIA Jetson Thor AGX HDA at 0x88090b8000 irq 287
1 [APE ]: tegra-ape - NVIDIA Jetson Thor AGX APE
NVIDIA-NVIDIAJetsonAGXThorDeveloperKit-NotSpecified-Jetson
When the insmod driver ko file is being loaded, the log information of dmesg is as follows:
[ 221.449270] ----plink----i2c-probe----
[ 221.525787] cjc8988_probe ok
[ 221.531166] ----plink----sysclk----freq: 12000000----
[ 221.531173] cjc8988_set_dai_sysclk constraints_12
[ 221.531174] cjc8988_set_dai_fmt SND_SOC_DAIFMT_CBS_CFS
[ 221.531176] cjc8988_set_dai_fmt SND_SOC_DAIFMT_I2S
[ 221.531178] cjc8988_set_dai_fmt SND_SOC_DAIFMT_NB_NF
[ 221.531397] cjc8988_set_dai_fmt ok
[ 221.557722] tegra-audio-graph-card sound: Registered APE graph sound card with DPCM links for AHUB
[ 221.567678] tegra-mixer-controls sound:mixer-controls: Begin probe of override control device
[ 221.569427] tegra-mixer-controls sound:mixer-controls: Registered override controls for APE sound card
The testing method is to use the voice test function in the settings interface.
nvidia@tegra-ubuntu:~/cjc8988$ amixer -c APE cset name="I2S1 Mux" "ADMAIF1"
numid=1886,iface=MIXER,name='I2S1 Mux'
; type=ENUMERATED,access=rw------,values=1,items=91
; Item #0 'None'
; Item #1 'ADMAIF1'
; Item #2 'ADMAIF2'
; Item #3 'ADMAIF3'
; Item #4 'ADMAIF4'
; Item #5 'ADMAIF5'
; Item #6 'ADMAIF6'
; Item #7 'ADMAIF7'
; Item #8 'ADMAIF8'
; Item #9 'ADMAIF9'
; Item #10 'ADMAIF10'
; Item #11 'ADMAIF11'
; Item #12 'ADMAIF12'
; Item #13 'ADMAIF13'
; Item #14 'ADMAIF14'
; Item #15 'ADMAIF15'
; Item #16 'ADMAIF16'
; Item #17 'I2S1'
; Item #18 'I2S2'
; Item #19 'I2S3'
; Item #20 'I2S4'
; Item #21 'I2S5'
; Item #22 'I2S6'
; Item #23 'I2S7'
; Item #24 'I2S8'
; Item #25 'SFC1'
; Item #26 'SFC2'
; Item #27 'SFC3'
; Item #28 'SFC4'
; Item #29 'MIXER1 TX1'
; Item #30 'MIXER1 TX2'
; Item #31 'MIXER1 TX3'
; Item #32 'MIXER1 TX4'
; Item #33 'MIXER1 TX5'
; Item #34 'AMX1'
; Item #35 'AMX2'
; Item #36 'AMX3'
; Item #37 'AMX4'
; Item #38 'AMX5'
; Item #39 'AMX6'
; Item #40 'OPE1'
; Item #41 'MVC1'
; Item #42 'MVC2'
; Item #43 'DMIC1'
; Item #44 'DMIC2'
; Item #45 'ADX1 TX1'
; Item #46 'ADX1 TX2'
; Item #47 'ADX1 TX3'
; Item #48 'ADX1 TX4'
; Item #49 'ADX2 TX1'
; Item #50 'ADX2 TX2'
; Item #51 'ADX2 TX3'
; Item #52 'ADX2 TX4'
; Item #53 'ADX3 TX1'
; Item #54 'ADX3 TX2'
; Item #55 'ADX3 TX3'
; Item #56 'ADX3 TX4'
; Item #57 'ADX4 TX1'
; Item #58 'ADX4 TX2'
; Item #59 'ADX4 TX3'
; Item #60 'ADX4 TX4'
; Item #61 'ADX5 TX1'
; Item #62 'ADX5 TX2'
; Item #63 'ADX5 TX3'
; Item #64 'ADX5 TX4'
; Item #65 'ADX6 TX1'
; Item #66 'ADX6 TX2'
; Item #67 'ADX6 TX3'
; Item #68 'ADX6 TX4'
; Item #69 'ASRC1 TX1'
; Item #70 'ASRC1 TX2'
; Item #71 'ASRC1 TX3'
; Item #72 'ASRC1 TX4'
; Item #73 'ASRC1 TX5'
; Item #74 'ASRC1 TX6'
; Item #75 'ADMAIF17'
; Item #76 'ADMAIF18'
; Item #77 'ADMAIF19'
; Item #78 'ADMAIF20'
; Item #79 'ADMAIF21'
; Item #80 'ADMAIF22'
; Item #81 'ADMAIF23'
; Item #82 'ADMAIF24'
; Item #83 'ADMAIF25'
; Item #84 'ADMAIF26'
; Item #85 'ADMAIF27'
; Item #86 'ADMAIF28'
; Item #87 'ADMAIF29'
; Item #88 'ADMAIF30'
; Item #89 'ADMAIF31'
; Item #90 'ADMAIF32'
: values=1
Moreover, it seems that the command did not execute successfully. Could you please provide any suggestions or advice?



