Hello everyone,
I’m trying to connect an external codec to the MangOH Red board. I’m using the IOT expansion socket for the I2S interface and the Raspberry compatible connector for the I2C interface.
I’m working on the latest firmware (Release 17). I’ve built the system from sources with the ADAU1761 and simple-card kernel module enabled and modified the device tree.
I can see the codec with I2Cdetect on port 3 but even if I load the driver I can’t see the audio card.
The same code but modified as overlay works well on a Raspberry PI.
Below the device tree include.
Any help will be appreciated.
&soc {
sound-wm8944 {
status = "disabled";
};
adau1761_mclk: oscillator {
compatible = "fixed-clock";
#clock-cells=<0>;
clock-frequency = <12288000>;
clock-output-names = "adau1761_mclk";
};
sound: sound_adau1761 {
compatible = "simple-audio-card";
i2s-controller = <&mi2s_prim>;
status = "okay";
simple-audio-card,format = "i2s";
simple-audio-card,name = "adau1761";
simple-audio-card,bitclock-master = <&adau1761_codec>;
simple-audio-card,frame-master = <&adau1761_codec>;
simple-audio-card,widgets =
"Headphone", "Headphones",
"Line" , "Line In",
"Line", "Line Out",
"Microphone", "Mic In";
simple-audio-card,routing =
"Headphones", "LHP",
"Headphones", "RHP",
"Line Out", "LOUT",
"Line Out", "ROUT",
"Mic In", "MICBIAS",
"LINN", "Mic In",
"RINN", "Mic In",
"LINP", "Mic In",
"RINP", "Mic In",
"LAUX", "Line In",
"RAUX", "Line In";
simple-audio-card,cpu {
status = "okay";
sound-dai = <&mi2s_prim>;
//clocks = <&adau1761_mclk>;
};
adau1761_codec: simple-audio-card,codec {
status = "okay";
sound-dai = <&adau1761>;
//clocks = <&adau1761_mclk>;
};
};
};
&i2c_4 {
wm8944_codec@1A {
status = "disabled";
};
ioexp-mux@71 {
compatible = "nxp,pca9546";
reg = <0x71>;
#address-cells = <0x1>;
#size-cells = <0x0>;
status = "ok";
//i2c-mux-idle-disconnect;
i2c@3 {
reg = <0x3>;
#address-cells = <0x1>;
#size-cells = <0x0>;
status = "ok";
adau1761: adau1761_codec@38 {
compatible = "adi,adau1761";
status = "okay";
#sound-dai-cells = <0>;
reg = <0x38>;
clocks = <&adau1761_mclk>;
//clocks = "\oscillator";
clock-names = "mclk";
micbias = <0x1>;
};
};
};
};
&mi2s_prim {
#sound-dai-cells = <0>;
status = "okay";
};