diff --git a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac200.dts b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac200.dts index 507ad15cabc7..5c4e66430a3d 100644 --- a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac200.dts +++ b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac200.dts @@ -603,15 +603,15 @@ tdmacpu: cpu { sound-dai = <&tdma>; dai-tdm-slot-tx-mask = - <1 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>; + <1>; + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <16>; + system-clock-frequency = <256000>; }; tdmacodec: codec { - sound-dai = <&dummy_codec &dummy_codec>; + sound-dai = <&dummy_codec>; }; }; @@ -1115,7 +1115,7 @@ compatible = "amlogic, sm1-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-lane-slot-mask-out = <1 0>; dai-tdm-clk-sel = <0>; clocks = <&clkaudio CLKID_AUDIO_MCLK_A &clkc CLKID_MPLL0>; diff --git a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts index 40a50b735f4f..f9dd311d16b0 100644 --- a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts +++ b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202.dts @@ -605,15 +605,15 @@ tdmacpu: cpu { sound-dai = <&tdma>; dai-tdm-slot-tx-mask = - <1 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>; + <1>; + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <16>; + system-clock-frequency = <256000>; }; tdmacodec: codec { - sound-dai = <&dummy_codec &dummy_codec>; + sound-dai = <&dummy_codec>; }; }; @@ -1124,13 +1124,8 @@ tdma: tdm@0 { compatible = "amlogic, sm1-snd-tdma"; #sound-dai-cells = <0>; - dai-tdm-lane-slot-mask-in = <1 1>; - dai-tdm-oe-lane-slot-mask-out = <1 1>; - dai-format = "dsp_a"; - dai-tdm-slot-tx-mask = <1>; - dai-tdm-slot-rx-mask = <1>; - dai-tdm-slot-num = <2>; - dai-tdm-slot-width = <16>; + dai-tdm-lane-slot-mask-in = <0 1>; + dai-tdm-lane-slot-mask-out = <1 0>; dai-tdm-clk-sel = <0>; clocks = <&clkaudio CLKID_AUDIO_MCLK_A &clkc CLKID_MPLL0>; @@ -1522,16 +1517,14 @@ mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */ groups = "tdma_sclk", "tdma_fs", - "tdma_dout0", - "tdma_dout1"; + "tdma_dout0"; function = "tdma_out"; }; }; tdmin_a: tdmin_a { mux { /* GPIOX_8 */ - groups = "tdma_din0", - "tdma_din1"; + groups = "tdma_din1"; function = "tdma_in"; }; }; diff --git a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts index 1ac891ad7f88..ebd2879433ad 100644 --- a/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts +++ b/arch/arm/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts @@ -605,15 +605,15 @@ tdmacpu: cpu { sound-dai = <&tdma>; dai-tdm-slot-tx-mask = - <1 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>; + <1>; + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <16>; + system-clock-frequency = <256000>; }; tdmacodec: codec { - sound-dai = <&dummy_codec &dummy_codec>; + sound-dai = <&dummy_codec>; }; }; @@ -1124,13 +1124,8 @@ tdma: tdm@0 { compatible = "amlogic, sm1-snd-tdma"; #sound-dai-cells = <0>; - dai-tdm-lane-slot-mask-in = <1 1>; - dai-tdm-oe-lane-slot-mask-out = <1 1>; - dai-format = "dsp_a"; - dai-tdm-slot-tx-mask = <1>; - dai-tdm-slot-rx-mask = <1>; - dai-tdm-slot-num = <2>; - dai-tdm-slot-width = <16>; + dai-tdm-lane-slot-mask-in = <0 1>; + dai-tdm-lane-slot-mask-out = <1 0>; dai-tdm-clk-sel = <0>; clocks = <&clkaudio CLKID_AUDIO_MCLK_A &clkc CLKID_MPLL0>; @@ -1522,16 +1517,14 @@ mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */ groups = "tdma_sclk", "tdma_fs", - "tdma_dout0", - "tdma_dout1"; + "tdma_dout0"; function = "tdma_out"; }; }; tdmin_a: tdmin_a { mux { /* GPIOX_8 */ - groups = "tdma_din0", - "tdma_din1"; + groups = "tdma_din1"; function = "tdma_in"; }; }; diff --git a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac200.dts b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac200.dts index 96cdb0ba3d13..b9b3460e7914 100644 --- a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac200.dts +++ b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac200.dts @@ -601,15 +601,15 @@ tdmacpu: cpu { sound-dai = <&tdma>; dai-tdm-slot-tx-mask = - <1 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>; + <1>; + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <16>; + system-clock-frequency = <256000>; }; tdmacodec: codec { - sound-dai = <&dummy_codec &dummy_codec>; + sound-dai = <&dummy_codec>; }; }; @@ -1114,7 +1114,7 @@ compatible = "amlogic, sm1-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-lane-slot-mask-out = <1 0>; dai-tdm-clk-sel = <0>; clocks = <&clkaudio CLKID_AUDIO_MCLK_A &clkc CLKID_MPLL0>; diff --git a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts index 7892a2693570..b5e8557eb477 100644 --- a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts +++ b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202.dts @@ -603,15 +603,15 @@ tdmacpu: cpu { sound-dai = <&tdma>; dai-tdm-slot-tx-mask = - <1 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>; + <1>; + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <16>; + system-clock-frequency = <256000>; }; tdmacodec: codec { - sound-dai = <&dummy_codec &dummy_codec>; + sound-dai = <&dummy_codec>; }; }; @@ -1123,13 +1123,8 @@ tdma: tdm@0 { compatible = "amlogic, sm1-snd-tdma"; #sound-dai-cells = <0>; - dai-tdm-lane-slot-mask-in = <1 1>; - dai-tdm-oe-lane-slot-mask-out = <1 1>; - dai-format = "dsp_a"; - dai-tdm-slot-tx-mask = <1>; - dai-tdm-slot-rx-mask = <1>; - dai-tdm-slot-num = <2>; - dai-tdm-slot-width = <16>; + dai-tdm-lane-slot-mask-in = <0 1>; + dai-tdm-lane-slot-mask-out = <1 0>; dai-tdm-clk-sel = <0>; clocks = <&clkaudio CLKID_AUDIO_MCLK_A &clkc CLKID_MPLL0>; @@ -1520,16 +1515,14 @@ mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */ groups = "tdma_sclk", "tdma_fs", - "tdma_dout0", - "tdma_dout1"; + "tdma_dout0"; function = "tdma_out"; }; }; tdmin_a: tdmin_a { mux { /* GPIOX_8 */ - groups = "tdma_din0", - "tdma_din1"; + groups = "tdma_din1"; function = "tdma_in"; }; }; diff --git a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts index 794ccbf61dcc..6c8aa3e02cb9 100644 --- a/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts +++ b/arch/arm64/boot/dts/amlogic/sm1_s905d3_ac202_1g.dts @@ -603,15 +603,15 @@ tdmacpu: cpu { sound-dai = <&tdma>; dai-tdm-slot-tx-mask = - <1 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>; + <1>; + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <16>; + system-clock-frequency = <256000>; }; tdmacodec: codec { - sound-dai = <&dummy_codec &dummy_codec>; + sound-dai = <&dummy_codec>; }; }; @@ -1123,13 +1123,8 @@ tdma: tdm@0 { compatible = "amlogic, sm1-snd-tdma"; #sound-dai-cells = <0>; - dai-tdm-lane-slot-mask-in = <1 1>; - dai-tdm-oe-lane-slot-mask-out = <1 1>; - dai-format = "dsp_a"; - dai-tdm-slot-tx-mask = <1>; - dai-tdm-slot-rx-mask = <1>; - dai-tdm-slot-num = <2>; - dai-tdm-slot-width = <16>; + dai-tdm-lane-slot-mask-in = <0 1>; + dai-tdm-lane-slot-mask-out = <1 0>; dai-tdm-clk-sel = <0>; clocks = <&clkaudio CLKID_AUDIO_MCLK_A &clkc CLKID_MPLL0>; @@ -1521,16 +1516,14 @@ mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */ groups = "tdma_sclk", "tdma_fs", - "tdma_dout0", - "tdma_dout1"; + "tdma_dout0"; function = "tdma_out"; }; }; tdmin_a: tdmin_a { mux { /* GPIOX_8 */ - groups = "tdma_din0", - "tdma_din1"; + groups = "tdma_din1"; function = "tdma_in"; }; }; diff --git a/sound/soc/amlogic/auge/sm1,clocks.c b/sound/soc/amlogic/auge/sm1,clocks.c index 27b192bf6719..3190c70b424a 100644 --- a/sound/soc/amlogic/auge/sm1,clocks.c +++ b/sound/soc/amlogic/auge/sm1,clocks.c @@ -161,7 +161,10 @@ static int sm1_clk_gates_init(struct clk **clks, void __iomem *iobase) } for (clkid = 0; clkid < MCLK_BASE; clkid++) { - sm1_audio_clk_gates[clkid]->reg = iobase; + unsigned long offset = + (unsigned long)sm1_audio_clk_gates[clkid]->reg; + sm1_audio_clk_gates[clkid]->reg = + (void __iomem *)((unsigned long)iobase + offset); clks[clkid] = clk_register(NULL, sm1_audio_clk_hws[clkid]); WARN_ON(IS_ERR_OR_NULL(clks[clkid])); } diff --git a/sound/soc/amlogic/auge/tm2,clocks.c b/sound/soc/amlogic/auge/tm2,clocks.c index ca7beb7d79ac..f21e9f2f3456 100644 --- a/sound/soc/amlogic/auge/tm2,clocks.c +++ b/sound/soc/amlogic/auge/tm2,clocks.c @@ -177,7 +177,10 @@ static int tm2_clk_gates_init(struct clk **clks, void __iomem *iobase) } for (clkid = 0; clkid < MCLK_BASE; clkid++) { - tm2_audio_clk_gates[clkid]->reg = iobase; + unsigned long offset = + (unsigned long)tm2_audio_clk_gates[clkid]->reg; + tm2_audio_clk_gates[clkid]->reg = + (void __iomem *)((unsigned long)iobase + offset); clks[clkid] = clk_register(NULL, tm2_audio_clk_hws[clkid]); WARN_ON(IS_ERR_OR_NULL(clks[clkid])); }