ODROID-C3: arm64/dts: changes for sound card configuration

Change-Id: I45b73be84c7e9a406b1d71ec141f706d40cce228
This commit is contained in:
Kevin Kim
2018-06-26 14:03:39 +09:00
parent 25dc57713a
commit b56f4b4236

View File

@@ -478,7 +478,7 @@
compatible = "amlogic, aml_codec_T9015";
reg = <0x0 0xFF632000 0x0 0x2000>;
is_auge_used = <1>; /* meson or auge chipset used */
tdmout_index = <1>;
tdmout_index = <2>;
status = "okay";
};
audio_effect:eqdrc{
@@ -509,79 +509,39 @@
aml-audio-card,effect = <&audio_effect>;
aml-audio-card,dai-link@0 {
format = "dsp_a";
mclk-fs = <512>;
//continuous-clock;
//bitclock-inversion;
//frame-inversion;
//bitclock-master = <&tdmacodec>;
//frame-master = <&tdmacodec>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
*/
suffix-name = "alsaPORT-pcm";
tdmacpu: cpu {
sound-dai = <&aml_tdma>;
dai-tdm-slot-tx-mask =
<1 1 1 1 1 1 1 1>;
dai-tdm-slot-rx-mask =
<1 1 1 1 1 1 1 1>;
dai-tdm-slot-num = <8>;
dai-tdm-slot-width = <32>;
system-clock-frequency = <24576000>;
};
tdmacodec: codec {
sound-dai = <&dummy_codec &dummy_codec>;
};
};
aml-audio-card,dai-link@1 {
format = "i2s";// "dsp_a";
format = "i2s";
mclk-fs = <256>;
//continuous-clock;
//bitclock-inversion;
//frame-inversion;
bitclock-master = <&aml_tdmb>;
frame-master = <&aml_tdmb>;
//bitclock-master = <&tdmbcodec>;
//frame-master = <&tdmbcodec>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
*/
suffix-name = "alsaPORT-i2s";
cpu {
suffix-name = "alsaPORT-pcm";
tdmacpu: cpu {
sound-dai = <&aml_tdmb>;
dai-tdm-slot-tx-mask = <1 1>;
dai-tdm-slot-rx-mask = <1 1>;
dai-tdm-slot-num = <2>;
/*
* dai-tdm-slot-tx-mask =
* <1 1 1 1 1 1 1 1>;
* dai-tdm-slot-rx-mask =
* <1 1 1 1 1 1 1 1>;
* dai-tdm-slot-num = <8>;
*/
dai-tdm-slot-width = <32>;
system-clock-frequency = <12288000>;
};
tdmbcodec: codec {
sound-dai = <&dummy_codec &dummy_codec
&amlogic_codec &ad82584f_62>;
tdmacodec: codec {
sound-dai = <&dummy_codec>;
};
};
aml-audio-card,dai-link@2 {
format = "i2s";
aml-audio-card,dai-link@1 {
format = "i2s";// "dsp_a";
mclk-fs = <256>;
//continuous-clock;
//bitclock-inversion;
//frame-inversion;
bitclock-master = <&aml_tdmc>;
frame-master = <&aml_tdmc>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
*/
//suffix-name = "alsaPORT-tdm";
suffix-name = "alsaPORT-i2s";
cpu {
sound-dai = <&aml_tdmc>;
dai-tdm-slot-tx-mask = <1 1>;
@@ -590,41 +550,13 @@
dai-tdm-slot-width = <32>;
system-clock-frequency = <12288000>;
};
codec {
sound-dai = <&tlv320adc3101_32 &dummy_codec>;
tdmbcodec: codec {
sound-dai = <&amlogic_codec>;
};
};
aml-audio-card,dai-link@3 {
mclk-fs = <64>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
*/
suffix-name = "alsaPORT-pdm";
cpu {
sound-dai = <&aml_pdm>;
};
codec {
sound-dai = <&pdm_codec>;
};
};
aml-audio-card,dai-link@4 {
mclk-fs = <128>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
*/
suffix-name = "alsaPORT-spdif";
cpu {
sound-dai = <&aml_spdif>;
system-clock-frequency = <6144000>;
};
codec {
sound-dai = <&dummy_codec>;
};
};
/* spdif_b to hdmi, only playback */
aml-audio-card,dai-link@5 {
aml-audio-card,dai-link@2 {
mclk-fs = <128>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
@@ -638,33 +570,6 @@
sound-dai = <&dummy_codec>;
};
};
/*
* dai link for i2s to hdmix,
* Notice to select a tdm lane not used by hw
*/
aml-audio-card,dai-link@6 {
format = "i2s";
mclk-fs = <256>;
//continuous-clock;
//bitclock-inversion;
//frame-inversion;
bitclock-master = <&aml_i2s2hdmi>;
frame-master = <&aml_i2s2hdmi>;
/* suffix-name, sync with android audio hal
* what's the dai link used for
*/
suffix-name = "alsaPORT-i2s2hdmi";
cpu {
sound-dai = <&aml_i2s2hdmi>;
dai-tdm-slot-tx-mask = <1 1>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
system-clock-frequency = <12288000>;
};
codec {
sound-dai = <&dummy_codec>;
};
};
};
audiolocker: locker {
compatible = "amlogic, audiolocker";
@@ -776,19 +681,6 @@
};
&audiobus {
aml_tdma: tdma {
compatible = "amlogic, g12a-snd-tdma";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <0 1>;
dai-tdm-oe-lane-slot-mask-out = <1 0>;
dai-tdm-clk-sel = <0>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_A
&clkc CLKID_MPLL0>;
clock-names = "mclk", "clk_srcpll";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmout_a &tdmin_a>;
};
aml_tdmb: tdmb {
compatible = "amlogic, g12a-snd-tdmb";
#sound-dai-cells = <0>;
@@ -811,55 +703,19 @@
samesource_sel = <4>;
};
/* copy a useless tdm to output for hdmi, no pinmux */
aml_tdmc: tdmc {
compatible = "amlogic, g12a-snd-tdmc";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-in = <1 0 0 0>;
#dai-tdm-lane-slot-mask-out = <1 0 1 1>;
#dai-tdm-lane-oe-slot-mask-in = <0 0 0 0>;
#dai-tdm-lane-oe-slot-mask-out = <1 0 0 0>;
dai-tdm-lane-slot-mask-in = <0 1 0 0>;
dai-tdm-lane-slot-mask-out = <1 0 0 0>;
dai-tdm-clk-sel = <2>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_C
&clkc CLKID_MPLL2>;
clock-names = "mclk", "clk_srcpll";
pinctrl-names = "tdm_pins";
pinctrl-0 = <&tdmc_mclk &tdmout_c &tdmin_c>;
};
/* copy a useless tdm to output for hdmi, no pinmux */
aml_i2s2hdmi: i2s2hdmi {
compatible = "amlogic, g12a-snd-tdmc";
#sound-dai-cells = <0>;
dai-tdm-lane-slot-mask-out = <1 1 1 1>;
dai-tdm-clk-sel = <2>;
clocks = <&clkaudio CLKID_AUDIO_MCLK_C
&clkc CLKID_MPLL2>;
clock-names = "mclk", "clk_srcpll";
i2s2hdmi = <1>;
status = "okay";
};
aml_spdif: spdif {
compatible = "amlogic, g12a-snd-spdif-a";
#sound-dai-cells = <0>;
clocks = <&clkc CLKID_MPLL0
&clkc CLKID_FCLK_DIV4
&clkaudio CLKID_AUDIO_SPDIFIN
&clkaudio CLKID_AUDIO_SPDIFOUT
&clkaudio CLKID_AUDIO_SPDIFIN_CTRL
&clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>;
clock-names = "sysclk", "fixed_clk", "gate_spdifin",
"gate_spdifout", "clk_spdifin", "clk_spdifout";
interrupts =
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "irq_spdifin";
pinctrl-names = "spdif_pins";
pinctrl-0 = <&spdifout &spdifin>;
status = "okay";
};
aml_spdif_b: spdif_b {
compatible = "amlogic, g12a-snd-spdif-b";
#sound-dai-cells = <0>;
@@ -868,24 +724,8 @@
&clkaudio CLKID_AUDIO_SPDIFOUTB_CTRL>;
clock-names = "sysclk",
"gate_spdifout", "clk_spdifout";
status = "okay";
};
aml_pdm: pdm {
compatible = "amlogic, g12a-snd-pdm";
#sound-dai-cells = <0>;
clocks = <&clkaudio CLKID_AUDIO_PDM
&clkc CLKID_FCLK_DIV3
&clkc CLKID_MPLL3
&clkaudio CLKID_AUDIO_PDMIN0
&clkaudio CLKID_AUDIO_PDMIN1>;
clock-names = "gate",
"sysclk_srcpll",
"dclk_srcpll",
"pdm_dclk",
"pdm_sysclk";
pinctrl-names = "pdm_pins";
pinctrl-0 = <&pdmin>;
filter_mode = <1>; /* mode 0~4, defalut:1 */
pinctrl-names = "spdif_pins";
pinctrl-0 = <&spdifout>;
status = "okay";
};
aml_loopback: loopback {
@@ -967,22 +807,6 @@
}; /* end of audiobus */
&pinctrl_periphs {
tdmout_a: tdmout_a {
mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */
groups = "tdma_sclk",
"tdma_fs",
"tdma_dout0";
function = "tdma_out";
};
};
tdmin_a: tdmin_a {
mux { /* GPIOX_8 */
groups = "tdma_din1";
function = "tdma_in";
};
};
tdmb_mclk: tdmb_mclk {
mux {
groups = "mclk0_a";
@@ -1009,70 +833,13 @@
};
};
tdmc_mclk: tdmc_mclk {
mux { /* GPIOA_11 */
groups = "mclk1_a";
function = "mclk1";
};
};
tdmout_c:tdmout_c {
mux { /* GPIOA_12, GPIOA_13, GPIOA_8, GPIOA_7*/
groups = "tdmc_sclk_a",
"tdmc_fs_a",
"tdmc_dout0_a"
/*, "tdmc_dout2",
* "tdmc_dout3"
*/;
function = "tdmc_out";
};
};
tdmin_c:tdmin_c {
mux { /* GPIOA_10 */
groups = "tdmc_din0_a";
function = "tdmc_in";
};
};
spdifin: spdifin {
mux {/* GPIOH_5 */
groups = "spdif_in_h";
function = "spdif_in";
};
};
/* GPIOH_4 */
/*
* spdifout: spdifout {
* mux {
* groups = "spdif_out_h";
* function = "spdif_out";
* };
*};
*/
pdmin: pdmin {
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
groups = "pdm_din0_a",
/*"pdm_din1_a",*/
"pdm_din2_a",
/*"pdm_din3_a",*/
"pdm_dclk_a";
function = "pdm";
};
};
}; /* end of pinctrl_periphs */
&pinctrl_aobus {
spdifout: spdifout {
mux { /* gpiao_10 */
groups = "spdif_out_ao";
function = "spdif_out_ao";
mux {/* GPIOA_11 */
groups = "spdif_out_a11";
function = "spdif_out";
};
};
}; /* end of pinctrl_aobus */
}; /* end of pinctrl_periphs */
&audio_data {
status = "okay";