Hello!
I am bringing up a MAX98090 on a custom carrier board, do I use kernel/kernel-4.9/sound/soc/tegra/tegra_max98090.c or kernel/kernel-4.9/sound/soc/codecs/max98090.c?
I’ve modified hardware/nvidia/platform/t18x/lanai/kernel-dts/common/tegra186-p3636-0001-a00-audio.dtsi to look like this:
#include <audio/tegra-platforms-audio-dai-links.dtsi>
/ {
hda@3510000 {
status = "okay";
};
i2c@3180000 {
status = "okay";
max98090: audio-codec@10 {
compatible = "nvidia,tegra-audio-max98090";
reg = <0x10>;
interrupt-parent = <&tegra_main_gpio>;
interrupts = <TEGRA_MAIN_GPIO(C, 2) GPIO_ACTIVE_HIGH>;
};
};
tegra_sound: sound {
status = "okay";
compatible = "nvidia,tegra-audio-t186ref-mobile-rt565x";
nvidia,model = "tegra-snd-max98090";
clocks = <&tegra_car TEGRA186_CLK_PLLA>,
<&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA186_CLK_AUD_MCLK>;
clock-names = "pll_a", "pll_a_out0", "extern1";
assigned-clocks = <&tegra_car TEGRA186_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA186_CLK_AUD_MCLK>;
assigned-clock-parents = <&tegra_car TEGRA186_CLK_PLLA>,
<&tegra_car TEGRA186_CLK_PLL_A_OUT0>;
resets = <&tegra_car TEGRA186_RESET_AUD_MCLK>;
reset-names = "extern1_rst";
mclk-fs = <256>;
/* TODO Avoid rt565x_dai_link definition by modifying common base file
* since current base does not have definition of dai link as
* rt565x_dai_link, had to add here
*/
hdr40_snd_link_i2s: rt565x_dai_link: nvidia,dai-link-1 {
link-name = "max98090";
codec-dai = <&max98090>;
codec-dai-name = "HiFi";
};
hdr40_i2c1: i2c@c240000 { };
};
};
and I get this error:
[ 7.118279] tegra-asoc: sound: ASoC: CODEC DAI HiFi not registered
[ 7.125441] tegra-asoc: sound: snd_soc_register_card failed (-517)