dear sir
I’m working on my own board, L4T 32.2.2,now we have a codes connect to i2s3,but i can not capture the mclk with an oscilloscope.I check the function refer to https://devtalk.nvidia.com/default/topic/1049674/jetson-nano/audio-i2s-on-40-pin-connector/1 ,find the audio_mclk is config as gpio,the dmesg and dts config is like this:
1、dts config
sound {
status = "okay";
spkvdd-supply = <&en_aud_spk_5v0>;
dbvdd-supply = <&en_aud_vdd_1v8>;
avdd-supply = <&en_aud_vdd_3v3>;
nvidia,audio-routing =
"x Headphone", "x SPK_LN",
"x Headphone", "x SPK_LP",
"x Headphone", "x SPK_RN",
"x Headphone", "x SPK_RP",
"x Headphone", "x HP_L",
"x Headphone", "x HP_R",
"x LINPUT1", "x Mic",
"x LINPUT2", "x Mic",
"y Headphone", "y OUT",
"y IN", "y Mic",
"a IN", "a Mic",
"b IN", "b Mic";
nvidia,dai-link-1 {
//link-name = "wm8960-playback";
link-name = "rt565x-playback";
codec-dai = <&adas_wm8960>; //codec_of_node
codec-dai-name = "wm8960-hifi";
cpu-dai = <&tegra_i2s3>;
cpu-dai-name = "I2S3";
};
nvidia,dai-link-2 {
cpu-dai = <&tegra_i2s4>;
cpu-dai-name = "I2S4";
};
}
gpio@6000d000 {
nb01-wm8960-audio {
gpio-hog;
function;
gpios = <
TEGRA_GPIO(E, 0) 0
TEGRA_GPIO(E, 1) 0
TEGRA_GPIO(E, 2) 0
TEGRA_GPIO(E, 3) 0
TEGRA_GPIO(BB, 0) 0
>;
label = "I2S3_LRCLK", "I2S3_SDIN", "I2S3_SDOUT",
"I2S3_CLK", "AUDIO_MCLK";
status = "okay";
};
}
i2c@7000c500 {
adas_wm8960:wm8960@1a {
compatible = "wlf,wm8960";
reg = <0x1a>;
status = "okay";
// gpio for jack detection ,unused this time
//gpios = <&tegra_main_gpio TEGRA_MAIN_GPIO(J , 5) GPIO_ACTIVE_HIGH>;
};
};
2、read the register config
:~$ sudo grep "Name:\|E:\|BB:" /sys/kernel/debug/tegra_gpio
Name:Bank:Port CNF OE OUT IN INT_STA INT_ENB INT_LVL
E: 1:0 40 00 00 00 00 00 000000
BB: 6:3 01 00 00 01 00 00 000000
EE: 7:2 00 00 00 00 00 00 000000