Alexandre,
following patchset is sent as a bare minimum I need to use MAX9867 codec in master mode on AT91SAM9G20 based board.
Codec's MCLK is driven by PCK0 and SSC is wired as follows: RK0 <-- BCLK RF0 <-- LRCLK TD0 --> SDIN RD0 <-- SDOUT
Following DT framgment was used:
i2c-gpio-0 { codec: max9867@18 { compatible = "maxim,max9867"; reg = <0x18>; #sound-dai-cells = <0>; }; };
sound { compatible = "simple-audio-card";
pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pck0_as_mck>;
simple-audio-card,name = "simear4-max9867"; simple-audio-card,format = "i2s"; simple-audio-card,bitclock-master = <&codec_dai>; simple-audio-card,frame-master = <&codec_dai>; simple-audio-card,routing = "LINE_IN", "Line In Jack", "Speaker", "HPOUT"; simple-audio-card,widgets = "Line", "Line In Jack", "Speaker", "Speaker";
cpu_dai: simple-audio-card,cpu { sound-dai = <&ssc0>; };
codec_dai: simple-audio-card,codec { sound-dai = <&codec>; clocks = <&pck0>; clock-frequency = <12384000>; }; };
&ssc0 { status = "okay"; pinctrl-0 = <&pinctrl_board_ssc0_tx &pinctrl_ssc0_rx>; atmel,clk-from-rk-pin; #sound-dai-cells = <0>; };
Codec code itself seems to be unused since it was merged and I'm wondering whenever it worked at all. A comment from codec author would help a lot, just to be sure I did not break anything.
By no means this code is ready to be merged (only except those patches with commit log and after carefull consideration :)), I'm posting it as a base for discussion.
Thank you, ladis
Ladislav Michl (7): ASoC: atmel: Remove redundant dev_err() call in probe function ASoC: atmel_ssc_dai: Fix TCMR settings in I2S slave mode ASoC: simple_card_utils: Set clock frequency ASoC: max9867: Show Kconfig entry ASoC: max9867: Calculate LRCLK divider ASoC: max9867: Fix BSEL value in master mode. ASoC: max9867: Take chip out of shutdown
sound/soc/atmel/atmel-classd.c | 7 +-- sound/soc/atmel/atmel-pdmic.c | 7 +-- sound/soc/atmel/atmel_ssc_dai.c | 2 +- sound/soc/codecs/Kconfig | 3 +- sound/soc/codecs/max9867.c | 110 +++------------------------------- sound/soc/generic/simple-card-utils.c | 4 ++ 6 files changed, 19 insertions(+), 114 deletions(-)