From b56f4b4236b3f4d8a7a99ae9316d716bbc8a5b07 Mon Sep 17 00:00:00 2001 From: Kevin Kim Date: Tue, 26 Jun 2018 14:03:39 +0900 Subject: [PATCH] ODROID-C3: arm64/dts: changes for sound card configuration Change-Id: I45b73be84c7e9a406b1d71ec141f706d40cce228 --- .../boot/dts/amlogic/s905d2_odroidc3.dts | 275 ++---------------- 1 file changed, 21 insertions(+), 254 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/s905d2_odroidc3.dts b/arch/arm64/boot/dts/amlogic/s905d2_odroidc3.dts index 21694dbb06d5..6be582f96698 100644 --- a/arch/arm64/boot/dts/amlogic/s905d2_odroidc3.dts +++ b/arch/arm64/boot/dts/amlogic/s905d2_odroidc3.dts @@ -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 = - ; - - 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";