diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-codina-tmo.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-codina-tmo.dts index 8f1780d560ff..3350fc775cc9 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-codina-tmo.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-codina-tmo.dts @@ -21,6 +21,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8505.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-codina.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-codina.dts index bda5d1f76215..8df2e4b74174 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-codina.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-codina.dts @@ -22,6 +22,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8500.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include @@ -667,6 +668,26 @@ }; }; +&samsung_playback_cpu { + dai-format = "dsp_b"; + dai-tdm-slot-num = <16>; + dai-tdm-slot-tx-mask = <0 1 0 1>; +}; + +&samsung_codec_playback { + dai-tdm-slot-num = <16>; + dai-tdm-slot-tx-mask = <0 1 0 1>; +}; + +&samsung_capture_cpu { + dai-format = "dsp_b"; + dai-tdm-slot-num = <16>; +}; + +&samsung_codec_capture { + dai-tdm-slot-num = <16>; +}; + &pinctrl { /* * This extends the MC0_A_2 default config to include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-gavini.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-gavini.dts index 3d1c31a709e0..277060c08a20 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-gavini.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-gavini.dts @@ -7,6 +7,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8500.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include @@ -635,6 +636,10 @@ }; }; +&codec { + stericsson,amic1a-bias-vamic2; +}; + &pinctrl { /* * This extends the MC0_A_2 default config to include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-golden.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-golden.dts index 1bb667300ed3..3f5499a7247e 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-golden.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-golden.dts @@ -4,6 +4,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8505.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts index 5140bbc5eee7..e821527f418c 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-janice.dts @@ -7,6 +7,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8500.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-kyle.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-kyle.dts index b06f7145514f..30f9bdfd2893 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-kyle.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-kyle.dts @@ -11,6 +11,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8505.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung-skomer.dts b/arch/arm/boot/dts/st/ste-ux500-samsung-skomer.dts index 59de7ecbfeb7..c3eb07fe2a27 100644 --- a/arch/arm/boot/dts/st/ste-ux500-samsung-skomer.dts +++ b/arch/arm/boot/dts/st/ste-ux500-samsung-skomer.dts @@ -7,6 +7,7 @@ #include "ste-db8500.dtsi" #include "ste-ab8505.dtsi" #include "ste-dbx5x0-pinctrl.dtsi" +#include "ste-ux500-samsung.dtsi" #include #include #include diff --git a/arch/arm/boot/dts/st/ste-ux500-samsung.dtsi b/arch/arm/boot/dts/st/ste-ux500-samsung.dtsi new file mode 100644 index 000000000000..2b46145f68c9 --- /dev/null +++ b/arch/arm/boot/dts/st/ste-ux500-samsung.dtsi @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0-only + +/ { + samsung_sound: sound { + compatible = "audio-graph-card2"; + label = "Samsung"; + links = <&samsung_msp1_port &samsung_msp3_port>; + }; +}; + +&codec { + assigned-clocks = <&ab8500_clock AB8500_SYSCLK_INT>; + assigned-clock-parents = <&ab8500_clock AB8500_SYSCLK_ULP>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + samsung_codec_playback: endpoint { + remote-endpoint = <&samsung_playback_cpu>; + bitclock-master; + frame-master; + dai-tdm-slot-num = <8>; + dai-tdm-slot-width = <16>; + dai-tdm-slot-tx-mask = <1 1>; + }; + }; + + port@1 { + reg = <1>; + + samsung_codec_capture: endpoint { + remote-endpoint = <&samsung_capture_cpu>; + bitclock-master; + frame-master; + dai-tdm-slot-num = <8>; + dai-tdm-slot-width = <16>; + dai-tdm-slot-rx-mask = <1>; + }; + }; + }; +}; + +&msp1 { + pinctrl-names = "default"; + pinctrl-0 = <&msp1txrx_a_1_default>; + status = "okay"; + + samsung_msp1_port: port { + samsung_playback_cpu: endpoint { + continuous-clock; + remote-endpoint = <&samsung_codec_playback>; + dai-format = "dsp_a"; + dai-tdm-slot-num = <8>; + dai-tdm-slot-width = <16>; + dai-tdm-slot-tx-mask = <1 1>; + }; + }; +}; + +&msp3 { + status = "okay"; + + samsung_msp3_port: port { + samsung_capture_cpu: endpoint { + continuous-clock; + remote-endpoint = <&samsung_codec_capture>; + dai-format = "dsp_a"; + dai-tdm-slot-num = <8>; + dai-tdm-slot-width = <16>; + dai-tdm-slot-rx-mask = <1>; + }; + }; +};