Skip to content
Snippets Groups Projects
Commit 986c0fc1 authored by Gianfranco Mariotti's avatar Gianfranco Mariotti
Browse files

[C12] add TLV320AIC32X4 audio support

* audio over SAI2 interface
* output needs to be enabled: /usr/bin/amixer sset -q 'LO Driver Gain' 100%
* sound works only at 48000Hz: this derives from SAI2 assigned clock rate.
  * Filesystem support for pulseaudio:
    /etc/pulse/daemon.conf --> default-sample-rate = 48000
                               alternate-sample-rate = 48000
* on carrier B79: I2S0 to audio jack CN41 (switch SW16 2-4 position OFF,
  jumper CN82 position 2-3)
parent f15b98d2
No related branches found
No related tags found
No related merge requests found
......@@ -192,15 +192,23 @@
status = "disabled";
};
sound {
compatible = "seco,asoc-tlv320";
model = "seco_tlv320";
cpu-dai = <&sai2>;
audio-codec = <&tlvcodec>;
/*asrc-controller = <&asrc0>;*/
status = "okay";
};
sound {
status = "okay";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "tlv-audio";
simple-audio-card,frame-master = <&cpudai>;
simple-audio-card,bitclock-master = <&cpudai>;
cpudai: simple-audio-card,cpu {
sound-dai = <&sai2>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <16>;
};
simple-audio-card,codec {
sound-dai = <&tlvcodec 0>;
};
};
lvds_pwm_bkl0: lvds_backlight@0 {
......@@ -253,16 +261,7 @@
#size-cells = <0>;
};
};
/*
&clk {
assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>;
assigned-clock-rates = <786432000>, <722534400>;
};
*/
/* __________________________________________________________________________
* | |
......@@ -901,25 +900,25 @@
};
&i2c4 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c4>;
status = "okay";
tlvcodec: tlv320aic32x4@18 {
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_codec>;
// MCLK Actually not used, but necessary for initialization
clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
ldoin-supply = <&reg_audio>;
iov-supply = <&reg_audio>;
reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
clock-names = "mclk";
route-on-lineout;
};
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c4>;
status = "okay";
tlvcodec: tlv320aic32x4@18 {
#sound-dai-cells = <0>;
status = "okay";
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_codec>;
reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
ldoin-supply = <&reg_audio>;
iov-supply = <&reg_audio>;
clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
clock-names = "mclk";
route-on-lineout;
};
};
/* __________________________________________________________________________
......@@ -1125,13 +1124,13 @@
* |__________________________________________________________________________|
*/
&sai2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;
assigned-clocks = <&clk IMX8MQ_CLK_SAI2>,
<&clk IMX8MQ_CLK_SAI2>;
assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL2_OUT>;
assigned-clock-rates = <0>, <22579200>;
status = "okay";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;
assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL2_OUT>;
assigned-clock-rates = <3072000>;
status = "okay";
};
&sai4 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment