Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +12 −43 Original line number Diff line number Diff line Loading @@ -1125,20 +1125,6 @@ Required properties: Quaternary TX: 36913, 36915, 36917, 36919, 36921, 36923, 36925, 36927 - qcom,msm-cpudai-tdm-group-nslots-per-frame: Number of slots per TDM frame. Supported value: 1 to 32. - qcom,msm-cpudai-tdm-group-slot-width: Slot width of the slot in a TDM frame. Supported value: 16, 24, 32. - qcom,msm-cpudai-tdm-group-slot-mask: Position of active slots. When that bit is set, that paricular slot is active. Number of active slots can be inferred by number of bits set in the mask. Only 8 individual bits can be enabled. Bits 0 to 31 corresponding to slot 0 to 31. Supported: 1 to 2^32 - 1. - qcom,msm-cpudai-tdm-clk-rate: Clock rate for tdm - 12288000. When clock rate is set to zero, then external clock is assumed. Loading Loading @@ -1173,29 +1159,14 @@ Required properties: 1 - 1 bit clock cycle 2 - 2 bit clock cycle Optional properties: - qcom,msm-cpudai-tdm-num-offset: Number of slot mapping start offsets in qcom,msm-cpudai-tdm-offset array. The number of array corresponds to the channel number configuration. For example, the first array is for 1 channel configuration. Offset setting is per channel based. This is board specific configuration. The max num of channel supported is 8. - qcom,msm-cpudai-tdm-offset: Array of the slot mapping start offset in bytes for this frame. The bytes is counted from 0. 0 is mapped to the 1st byte in or out of the digital serial data line this sub-frame belongs to. This is board specific configuration. Max number of offsets supported by DSP is 8. - qcom,msm-cpudai-tdm-offset-data-align: Indicate how data is packed - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed within the slot. For example, 32 slot width in case of sample bit width is 24. 0 - MSB 1 - LSB Optional properties: - qcom,msm-cpudai-tdm-header-start-offset: TDM Custom header start offset in bytes from this sub-frame. The bytes is counted from 0. 0 is mapped to the 1st byte in or out of Loading @@ -1211,6 +1182,7 @@ Optional properties: - pinctrl-names: Pinctrl state names for each pin group configuration. - pinctrl-x: Defines pinctrl state for each pin group. Example: Loading @@ -1220,13 +1192,10 @@ Example: qcom,msm-cpudai-tdm-group-id = <37168>; qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36912>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <12288000>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&quat_tdm_active &quat_tdm_dio_active>; pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dio_sleep>; pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>; pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; Loading @@ -1235,11 +1204,7 @@ Example: qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-num-offset = <1>, <2>, <3>, <4>, <5>, <6>; qcom,msm-cpudai-tdm-offset = <0>, <0 4>, <0 4 8>, <0 4 8 12>, <0 4 8 12 16>, <0 4 8 12 16 20>; qcom,msm-cpudai-tdm-offset-data-align = <0>; qcom,msm-cpudai-tdm-data-align = <0>; qcom,msm-cpudai-tdm-header-start-offset = <0>; qcom,msm-cpudai-tdm-header-width = <2>; qcom,msm-cpudai-tdm-header-num-frame-repeat = <8>; Loading Loading @@ -1872,7 +1837,11 @@ Example: Required properties: - compatible : "qcom,apq8096-asoc-snd-auto" for auto codec and node is "sound-auto" node is "sound-auto", "qcom,apq8096-asoc-snd-adp-agave" for adp agave codec and node is "sound-adp-agave", "qcom,apq8096-asoc-snd-adp-mmxf" for adp mmxf codec and node is "sound-adp-mmxf". - qcom,model : The user-visible name of this sound card. - asoc-platform: This is phandle list containing the references to platform device nodes that are used as part of the sound card dai-links. Loading arch/arm/boot/dts/qcom/msm8996.dtsi +16 −12 Original line number Diff line number Diff line Loading @@ -3157,9 +3157,6 @@ qcom,msm-cpudai-tdm-group-id = <37152>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900 36902>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3169,6 +3166,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_rx_1: qcom,msm-dai-q6-tdm-tert-rx-1 { Loading @@ -3179,6 +3177,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_rx_2: qcom,msm-dai-q6-tdm-tert-rx-2 { Loading @@ -3189,6 +3188,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_rx_3: qcom,msm-dai-q6-tdm-tert-rx-3 { Loading @@ -3199,6 +3199,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -3207,9 +3208,6 @@ qcom,msm-cpudai-tdm-group-id = <37153>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36897 36899 36901 36903>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3219,6 +3217,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_tx_1: qcom,msm-dai-q6-tdm-tert-tx-1 { Loading @@ -3229,6 +3228,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_tx_2: qcom,msm-dai-q6-tdm-tert-tx-2 { Loading @@ -3239,6 +3239,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_tx_3: qcom,msm-dai-q6-tdm-tert-tx-3 { Loading @@ -3249,6 +3250,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -3257,9 +3259,6 @@ qcom,msm-cpudai-tdm-group-id = <37168>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36912 36914 36916 36918>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3269,6 +3268,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_rx_1: qcom,msm-dai-q6-tdm-quat-rx-1 { Loading @@ -3279,6 +3279,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_rx_2: qcom,msm-dai-q6-tdm-quat-rx-2 { Loading @@ -3289,6 +3290,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_rx_3: qcom,msm-dai-q6-tdm-quat-rx-3 { Loading @@ -3299,6 +3301,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -3307,9 +3310,6 @@ qcom,msm-cpudai-tdm-group-id = <37169>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36913 36915 36917 36919>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3319,6 +3319,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_tx_1: qcom,msm-dai-q6-tdm-quat-tx-1 { Loading @@ -3329,6 +3330,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_tx_2: qcom,msm-dai-q6-tdm-quat-tx-2 { Loading @@ -3339,6 +3341,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_tx_3: qcom,msm-dai-q6-tdm-quat-tx-3 { Loading @@ -3349,6 +3352,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading include/sound/msm-dai-q6-v2.h +5 −12 Original line number Diff line number Diff line Loading @@ -62,9 +62,6 @@ struct msm_dai_tdm_group_config { u16 group_id; u16 num_ports; u16 *port_id; u16 nslots_per_frame; u16 slot_width; u32 slot_mask; u32 clk_rate; }; Loading @@ -74,19 +71,15 @@ struct msm_dai_tdm_config { u16 data_out; u16 invert_sync; u16 data_delay; u32 offset_data_align; u16 num_offset; u16 *offset; u32 data_align; u16 header_start_offset; u16 header_width; u16 header_num_frame_repeat; }; #define MSM_DAI_TDM_MAX_CH 8 struct msm_dai_tdm_pdata { struct msm_dai_tdm_group_config group_config; struct msm_dai_tdm_config config[MSM_DAI_TDM_MAX_CH]; struct msm_dai_tdm_config config; }; #endif sound/soc/msm/qdsp6v2/msm-dai-q6-v2.c +290 −210 File changed.Preview size limit exceeded, changes collapsed. Show changes sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c +19 −2 Original line number Diff line number Diff line Loading @@ -1778,6 +1778,22 @@ static int msm_routing_ec_ref_rx_put(struct snd_kcontrol *kcontrol, msm_route_ec_ref_rx = 10; ec_ref_port_id = SLIMBUS_1_TX; break; case 11: msm_route_ec_ref_rx = 11; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_TX_1; break; case 12: msm_route_ec_ref_rx = 12; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_RX; break; case 13: msm_route_ec_ref_rx = 13; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_RX_1; break; case 14: msm_route_ec_ref_rx = 14; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_RX_2; break; default: msm_route_ec_ref_rx = 0; /* NONE */ pr_err("%s EC ref rx %ld not valid\n", Loading @@ -1796,9 +1812,10 @@ static int msm_routing_ec_ref_rx_put(struct snd_kcontrol *kcontrol, static const char *const ec_ref_rx[] = { "None", "SLIM_RX", "I2S_RX", "PRI_MI2S_TX", "SEC_MI2S_TX", "TERT_MI2S_TX", "QUAT_MI2S_TX", "SEC_I2S_RX", "PROXY_RX", "SLIM_5_RX", "SLIM_1_TX"}; "SLIM_5_RX", "SLIM_1_TX", "QUAT_TDM_TX_1", "QUAT_TDM_RX_0", "QUAT_TDM_RX_1", "QUAT_TDM_RX_2"}; static const struct soc_enum msm_route_ec_ref_rx_enum[] = { SOC_ENUM_SINGLE_EXT(11, ec_ref_rx), SOC_ENUM_SINGLE_EXT(15, ec_ref_rx), }; static const struct snd_kcontrol_new ext_ec_ref_mux_ul1 = Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +12 −43 Original line number Diff line number Diff line Loading @@ -1125,20 +1125,6 @@ Required properties: Quaternary TX: 36913, 36915, 36917, 36919, 36921, 36923, 36925, 36927 - qcom,msm-cpudai-tdm-group-nslots-per-frame: Number of slots per TDM frame. Supported value: 1 to 32. - qcom,msm-cpudai-tdm-group-slot-width: Slot width of the slot in a TDM frame. Supported value: 16, 24, 32. - qcom,msm-cpudai-tdm-group-slot-mask: Position of active slots. When that bit is set, that paricular slot is active. Number of active slots can be inferred by number of bits set in the mask. Only 8 individual bits can be enabled. Bits 0 to 31 corresponding to slot 0 to 31. Supported: 1 to 2^32 - 1. - qcom,msm-cpudai-tdm-clk-rate: Clock rate for tdm - 12288000. When clock rate is set to zero, then external clock is assumed. Loading Loading @@ -1173,29 +1159,14 @@ Required properties: 1 - 1 bit clock cycle 2 - 2 bit clock cycle Optional properties: - qcom,msm-cpudai-tdm-num-offset: Number of slot mapping start offsets in qcom,msm-cpudai-tdm-offset array. The number of array corresponds to the channel number configuration. For example, the first array is for 1 channel configuration. Offset setting is per channel based. This is board specific configuration. The max num of channel supported is 8. - qcom,msm-cpudai-tdm-offset: Array of the slot mapping start offset in bytes for this frame. The bytes is counted from 0. 0 is mapped to the 1st byte in or out of the digital serial data line this sub-frame belongs to. This is board specific configuration. Max number of offsets supported by DSP is 8. - qcom,msm-cpudai-tdm-offset-data-align: Indicate how data is packed - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed within the slot. For example, 32 slot width in case of sample bit width is 24. 0 - MSB 1 - LSB Optional properties: - qcom,msm-cpudai-tdm-header-start-offset: TDM Custom header start offset in bytes from this sub-frame. The bytes is counted from 0. 0 is mapped to the 1st byte in or out of Loading @@ -1211,6 +1182,7 @@ Optional properties: - pinctrl-names: Pinctrl state names for each pin group configuration. - pinctrl-x: Defines pinctrl state for each pin group. Example: Loading @@ -1220,13 +1192,10 @@ Example: qcom,msm-cpudai-tdm-group-id = <37168>; qcom,msm-cpudai-tdm-group-num-ports = <1>; qcom,msm-cpudai-tdm-group-port-id = <36912>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <12288000>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&quat_tdm_active &quat_tdm_dio_active>; pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dio_sleep>; pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>; pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; qcom,msm-cpudai-tdm-dev-id = <36912>; Loading @@ -1235,11 +1204,7 @@ Example: qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-num-offset = <1>, <2>, <3>, <4>, <5>, <6>; qcom,msm-cpudai-tdm-offset = <0>, <0 4>, <0 4 8>, <0 4 8 12>, <0 4 8 12 16>, <0 4 8 12 16 20>; qcom,msm-cpudai-tdm-offset-data-align = <0>; qcom,msm-cpudai-tdm-data-align = <0>; qcom,msm-cpudai-tdm-header-start-offset = <0>; qcom,msm-cpudai-tdm-header-width = <2>; qcom,msm-cpudai-tdm-header-num-frame-repeat = <8>; Loading Loading @@ -1872,7 +1837,11 @@ Example: Required properties: - compatible : "qcom,apq8096-asoc-snd-auto" for auto codec and node is "sound-auto" node is "sound-auto", "qcom,apq8096-asoc-snd-adp-agave" for adp agave codec and node is "sound-adp-agave", "qcom,apq8096-asoc-snd-adp-mmxf" for adp mmxf codec and node is "sound-adp-mmxf". - qcom,model : The user-visible name of this sound card. - asoc-platform: This is phandle list containing the references to platform device nodes that are used as part of the sound card dai-links. Loading
arch/arm/boot/dts/qcom/msm8996.dtsi +16 −12 Original line number Diff line number Diff line Loading @@ -3157,9 +3157,6 @@ qcom,msm-cpudai-tdm-group-id = <37152>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900 36902>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3169,6 +3166,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_rx_1: qcom,msm-dai-q6-tdm-tert-rx-1 { Loading @@ -3179,6 +3177,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_rx_2: qcom,msm-dai-q6-tdm-tert-rx-2 { Loading @@ -3189,6 +3188,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_rx_3: qcom,msm-dai-q6-tdm-tert-rx-3 { Loading @@ -3199,6 +3199,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -3207,9 +3208,6 @@ qcom,msm-cpudai-tdm-group-id = <37153>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36897 36899 36901 36903>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3219,6 +3217,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_tx_1: qcom,msm-dai-q6-tdm-tert-tx-1 { Loading @@ -3229,6 +3228,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_tx_2: qcom,msm-dai-q6-tdm-tert-tx-2 { Loading @@ -3239,6 +3239,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_tert_tdm_tx_3: qcom,msm-dai-q6-tdm-tert-tx-3 { Loading @@ -3249,6 +3250,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -3257,9 +3259,6 @@ qcom,msm-cpudai-tdm-group-id = <37168>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36912 36914 36916 36918>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3269,6 +3268,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_rx_1: qcom,msm-dai-q6-tdm-quat-rx-1 { Loading @@ -3279,6 +3279,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_rx_2: qcom,msm-dai-q6-tdm-quat-rx-2 { Loading @@ -3289,6 +3290,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_rx_3: qcom,msm-dai-q6-tdm-quat-rx-3 { Loading @@ -3299,6 +3301,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading @@ -3307,9 +3310,6 @@ qcom,msm-cpudai-tdm-group-id = <37169>; qcom,msm-cpudai-tdm-group-num-ports = <4>; qcom,msm-cpudai-tdm-group-port-id = <36913 36915 36917 36919>; qcom,msm-cpudai-tdm-group-nslots-per-frame = <8>; qcom,msm-cpudai-tdm-group-slot-width = <32>; qcom,msm-cpudai-tdm-group-slot-mask = <255>; qcom,msm-cpudai-tdm-clk-rate = <0>; dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 { compatible = "qcom,msm-dai-q6-tdm"; Loading @@ -3319,6 +3319,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_tx_1: qcom,msm-dai-q6-tdm-quat-tx-1 { Loading @@ -3329,6 +3330,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_tx_2: qcom,msm-dai-q6-tdm-quat-tx-2 { Loading @@ -3339,6 +3341,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; dai_quat_tdm_tx_3: qcom,msm-dai-q6-tdm-quat-tx-3 { Loading @@ -3349,6 +3352,7 @@ qcom,msm-cpudai-tdm-data-out = <0>; qcom,msm-cpudai-tdm-invert-sync = <0>; qcom,msm-cpudai-tdm-data-delay = <0>; qcom,msm-cpudai-tdm-data-align = <0>; }; }; Loading
include/sound/msm-dai-q6-v2.h +5 −12 Original line number Diff line number Diff line Loading @@ -62,9 +62,6 @@ struct msm_dai_tdm_group_config { u16 group_id; u16 num_ports; u16 *port_id; u16 nslots_per_frame; u16 slot_width; u32 slot_mask; u32 clk_rate; }; Loading @@ -74,19 +71,15 @@ struct msm_dai_tdm_config { u16 data_out; u16 invert_sync; u16 data_delay; u32 offset_data_align; u16 num_offset; u16 *offset; u32 data_align; u16 header_start_offset; u16 header_width; u16 header_num_frame_repeat; }; #define MSM_DAI_TDM_MAX_CH 8 struct msm_dai_tdm_pdata { struct msm_dai_tdm_group_config group_config; struct msm_dai_tdm_config config[MSM_DAI_TDM_MAX_CH]; struct msm_dai_tdm_config config; }; #endif
sound/soc/msm/qdsp6v2/msm-dai-q6-v2.c +290 −210 File changed.Preview size limit exceeded, changes collapsed. Show changes
sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c +19 −2 Original line number Diff line number Diff line Loading @@ -1778,6 +1778,22 @@ static int msm_routing_ec_ref_rx_put(struct snd_kcontrol *kcontrol, msm_route_ec_ref_rx = 10; ec_ref_port_id = SLIMBUS_1_TX; break; case 11: msm_route_ec_ref_rx = 11; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_TX_1; break; case 12: msm_route_ec_ref_rx = 12; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_RX; break; case 13: msm_route_ec_ref_rx = 13; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_RX_1; break; case 14: msm_route_ec_ref_rx = 14; ec_ref_port_id = AFE_PORT_ID_QUATERNARY_TDM_RX_2; break; default: msm_route_ec_ref_rx = 0; /* NONE */ pr_err("%s EC ref rx %ld not valid\n", Loading @@ -1796,9 +1812,10 @@ static int msm_routing_ec_ref_rx_put(struct snd_kcontrol *kcontrol, static const char *const ec_ref_rx[] = { "None", "SLIM_RX", "I2S_RX", "PRI_MI2S_TX", "SEC_MI2S_TX", "TERT_MI2S_TX", "QUAT_MI2S_TX", "SEC_I2S_RX", "PROXY_RX", "SLIM_5_RX", "SLIM_1_TX"}; "SLIM_5_RX", "SLIM_1_TX", "QUAT_TDM_TX_1", "QUAT_TDM_RX_0", "QUAT_TDM_RX_1", "QUAT_TDM_RX_2"}; static const struct soc_enum msm_route_ec_ref_rx_enum[] = { SOC_ENUM_SINGLE_EXT(11, ec_ref_rx), SOC_ENUM_SINGLE_EXT(15, ec_ref_rx), }; static const struct snd_kcontrol_new ext_ec_ref_mux_ul1 = Loading