Dear Nvidia Support,
In my previous post I got the ADC( TLV320ADC3100) to work on the Orin nx using a the TEGRA234_CLK_AUD_MCLK clock and not changing its rate. However, I figured out for my setup I need the clock rate to be 24.576MHz in order to sync with hdmi video. I read the following from the audio section in the developer guide.
Audio Setup and Development — NVIDIA Jetson Linux Developer Guide
Be sure that the parent clock’s rate is an integer multiple of the rate set by
AUD_MCLK. Choose the parent clock rate based on theMCLKrate that the codec requires.
I also read that I can override the parent clock rates but that is advised for only debug purposes.
Clocks — NVIDIA Jetson Linux Developer Guide
Non of the PLL_OUT clocks seem to be a integer multiple of 24.576MHz.
I would like to know the following information.
- Is there a way to create a custom parent clock?
- Why is the PLLA clock preferred over the PLLP clock or other clocks for audio?
Device Tree for reference
i2c@3160000 {
clocks-frequency = <100000>;
status = "okay";
/delete-node/ eeprom@50;
/delete-node/ eeprom@57;
/* ADC */
tlv320adc3100: tlv320adc3100@18 {
#sound-dai-cells = <0>;
compatible = "ti,tlv320adc3100";
status ="okay";
reg = <0x18>;
reset-gpios = <&gpio TEGRA234_MAIN_GPIO(Q, 6) GPIO_ACTIVE_LOW>;
clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
clock-names = "mclk";
AVDD-supply = <®_3p3v>;
IOVDD-supply = <®_1p8v>;
DVDD-supply = <®_1p8v>;
};
};
.
.
.
sound {
nvidia,num-codec-link = <1>;
nvidia-audio-card,widgets =
"Microphone", "CVB-TLV Mic Jack";
nvidia-audio-card,routing =
"CVB-TLV IN_2L", "CVB-TLV Mic Jack",
"CVB-TLV IN_2R", "CVB-TLV Mic Jack",
"CVB-TLV Left ADC", "CVB-TLV IN_2L",
"CVB-TLV Right ADC", "CVB-TLV IN_2R",
"CVB-TLV AIF_OUT", "CVB-TLV Left ADC",
"CVB-TLV AIF_OUT", "CVB-TLV Right ADC",
"CVB-TLV Capture", "CVB-TLV AIF_OUT";
nvidia-audio-card,mclk-fs = <256>;
/* ADC */
i2s4_to_codec: nvidia-audio-card,dai-link@79 {
link-name = "tlv320adc3xxx-hifi";
codec {
sound-dai = <&tlv320adc3100 0>;
prefix = "CVB-TLV";
};
};
};
Thank You