Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43b78bcb authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "dt-bindings: Add devicetree bindings to devicetree project"

parents 82306df7 985875ce
Loading
Loading
Loading
Loading
+516 −0
Original line number Original line Diff line number Diff line
@@ -341,6 +341,12 @@ Required properties:
		is present. It can be "apr_modem" or "apr_adsp". This
		is present. It can be "apr_modem" or "apr_adsp". This
		property enable apr driver to receive subsystem up/down
		property enable apr driver to receive subsystem up/down
		notification from modem/adsp.
		notification from modem/adsp.
Optional properties:

 - compatible : "qcom,msm-audio-apr-dummy"
		Add this compatible as child device to msm-audio-apr device.
		This child device is added after lpass is up to invoke
		deferred probe devices.


* Bolero codec
* Bolero codec


@@ -2303,3 +2309,513 @@ Example:
		qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
		qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
	};
	};
};
};

* MSM8952 ASoC Machine driver

Required properties:
- compatible : "qcom,msm8952-audio-codec" for pmic codec,
				"qcom,msm8952-dig-asoc-snd" for digital internal codec,
- qcom,model : The user-visible name of this sound card.
- reg : Offset and length of the register region(s) for MI2S/PCM MUX
- reg-names : Register region name(s) referenced in reg above
	 Required register resource entries are:
	 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls
				controls LPA IF tertiary, quad, PCM0, Digital Codec
				and Secondary TLMM mux setting for mic path operation.
	 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls
				IF primary, secondary, Digital Codec and Primary TLMM
				setting for speaker path operation.
	 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel": Physical address of MUX
				that controls the mux between LPA IF Quad and PCM0
				path to secondary TLMM
- qcom,msm-hs-micbias-type : This property is used to recognize the headset
  micbias type, internal or external.
- qcom,msm-ext-pa : This property is used to inform machine driver about
  the connection of external PA over available MI2S interfaces,
  following values can be given to this property.
  primary -> Primary MI2S interface
  secondary -> Secondary MI2S interface
  tertiary -> Tertiary MI2S interface
  quaternary -> Quaternary MI2S interface
- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
-  qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
switch type on target typically the switch type will be normally open or
normally close, value for this property 0 for normally close and 1 for
normally open.
- qcom,audio-routing : A list of the connections between audio components.
- qcom,msm-gpios : Lists down all the gpio sets that are supported.
- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
mentioned in qcom,msm-gpios.
- pinctrl-names : The combinations of gpio sets from above that are supported in
the flavor.
- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.

Optional properties:
- qcom,prim-auxpcm-gpio-clk  : GPIO on which Primary AUXPCM clk signal is coming.
- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
- qcom,prim-auxpcm-gpio-din  : GPIO on which Primary AUXPCM DIN signal is coming.
- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external
capacitor mode.
- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external
capacitor mode.
- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.

To Configure External Audio Switch
- qcom,msm-ext-audio-switch : GPIO which controls external switch that switches
  audio path between headset and speakers.
- ext-switch-vdd-supply : Power supply that control external audio switch
- qcom,ext-switch-vdd-voltage : Minimum and maximum voltage in uV to set for
  power supply.
- qcom,ext-switch-vdd-op-mode : Maxmum # of uA current the switch will draw
  from the power supply.
Example:
	qcom,msm-ext-audio-switch = <&msm_gpio 2 0>; - gpio # and active_state
	ext-switch-vdd-supply = <&pm8950_l13>; - Power Rail
	qcom,ext-switch-vdd-voltage = <3075000 3075000>; - Min, Max uV voltage
	qcom,ext-switch-vdd-op-mode = <5000>; - Operational current uA
	Additional needs to add two additional qcom,audio-routings
			"HEADPHONE", "VDD_EXT_AUDIO_SWITCH"
			"SPK_OUT", "VDD_EXT_AUDIO_SWITCH"

- qcom,msm-mclk-freq : This property is used to inform machine driver about
mclk frequency needs to be configured for internal and external PA.
- asoc-platform: This is phandle list containing the references to platform device
		 nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
		       the platform names should match to that of the phandle order
		       given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
	    that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
		  cpu dai names should match to that of the phandle order given.
- asoc-codec: This is phandle list containing the references to codec dai device
	nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
	codec dai names should match to that of the phandle order given
	in "asoc-codec".
- asoc-wsa-codec-names: This property contains list of wsa codec names. The names
		  should comply with the wsa nodes configurations.
- asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes.
- msm-vdd-wsa-switch-supply: WSA codec supply's regulator device tree node.
- qcom,msm-vdd-wsa-switch-voltage: WSA codec supply's voltage level in mV.
- qcom,msm-vdd-wsa-switch-current: WSA codec max current level in mA.

Example:
	 sound {
		compatible = "qcom,msm8952-audio-codec";
		qcom,model = "msm8952-snd-card";
		reg = <0xc051000 0x4>,
		      <0xc051004 0x4>,
		      <0xc055000 0x4>;
		reg-names = "csr_gp_io_mux_mic_ctl",
			    "csr_gp_io_mux_spkr_ctl",
			    "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
		qcom,msm-ext-pa = "primary";
		qcom,msm-mclk-freq = <9600000>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,msm-hs-micbias-type = "internal";
		qcom,msm-micbias1-ext-cap;
		qcom,audio-routing =
			"RX_BIAS", "MCLK",
			"SPK_RX_BIAS", "MCLK",
			"INT_LDO_H", "MCLK",
			"MIC BIAS External", "Handset Mic",
			"MIC BIAS Internal2", "Headset Mic",
			"MIC BIAS External", "Secondary Mic",
			"AMIC1", "MIC BIAS External",
			"AMIC2", "MIC BIAS Internal2",
			"AMIC3", "MIC BIAS External";
		qcom,msm-gpios =
			"pri_i2s",
			"us_eu_gpio";
		qcom,pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"us_eu_gpio_act",
			"pri_i2s_us_eu_gpio_act";
		pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"us_eu_gpio_act",
			"pri_i2s_us_eu_gpio_act";
		pinctrl-0 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_sus>;
		pinctrl-1 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_sus>;
		pinctrl-2 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_act>;
		pinctrl-3 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_act>;
		qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
		qcom,prim-auxpcm-gpio-clk  = <&msm_gpio 63 0>;
		qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>;
		qcom,prim-auxpcm-gpio-din  = <&msm_gpio 65 0>;
		qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>;
		qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
		qcom,tapan-codec-9302;
		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&lpa>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
				"msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
				"msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
				"msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
		asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
				<&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
				<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
				<&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
				<&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
				<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
				<&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
				<&incall_music_2_rx>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
				"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
				"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
				"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
				"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
				"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
				"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
				"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
				"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
				"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
				"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
				"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
				"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
		asoc-codec = <&stub>, <&pm8916_tombak_dig>;
		asoc-codec-names = "msm-stub-codec.1", "tombak_codec";
		asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f";
		asoc-wsa-codec-prefixes = "SpkrMono";
};

* MSM8952 Slimbus ASoC Machine driver

Required properties:
- compatible : "qcom,msm8952-audio-slimbus-codec"
- qcom,model : The user-visible name of this sound card.
- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
this would list all the 2^N combinations.
- pinctrl-names : The combinations of gpio sets from above that are supported in
the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N
combinations or will have less incase if some combination is not supported.
- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
- reg : Offset and length of the register region(s) for MI2S/PCM MUX
- reg-names : Register region name(s) referenced in reg above
	 Required register resource entries are:
	 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls
				controls LPA IF tertiary, quad, PCM0, Digital Codec
				and Secondary TLMM mux setting for mic path operation.
	 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls
				IF primary, secondary, Digital Codec and Primary TLMM
				setting for speaker path operation.
- qcom,cdc-mclk-gpios : GPIO on which mclk signal is coming.
- clock-names : clock name defined for external clock.
- qcom,audio-routing : A list of the connections between audio components.
  Each entry is a pair of strings, the first being the connection's sink,
  the second being the connection's source.

Optional Properties:
- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker
- qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed)
- qcom,tomtom-mclk-clk-freq : Tapan mclk Freq in Hz. currently only 9600000Hz
				is supported.
- qcom,msm-ext-pa : This property is used to inform machine driver about
  the connection of external PA over available MI2S interfaces,
  following values can be given to this property.
  primary -> Primary MI2S interface
  secondary -> Secondary MI2S interface
  tertiary -> Tertiary MI2S interface
  quaternary -> Quaternary MI2S interface
- qcom,mi2s-audio-intf: This property is used to inform machine driver
  if mi2s backend dailink has to be added as part of the sound card dai-links.
- qcom,auxpcm-audio-intf: This property is used to inform machine driver
  if auxpcm backend dailink has to be added as part of the sound card dai-links.
- qcom,msm-mi2s-master: This property is used to inform machine driver
  if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
  first entry is primary mi2s; the second entry is secondary mi2s, and so on.
- qcom,mi2s-aqt-enabled: This property is used to inform machine driver
  if AQT1000 codec is enabled or not. If this is enabled then codec name
  for TERT_MI2S needs to be overridden with AQT codec.
- qcom,msm-mi2s-ext-mclk: This property is used to inform machine driver
  if MCLK from MSM is used for any external audio connections. 1 means used
  as external mclk source and 0 indicate not used. The first entry is
  primary mclk; the second entry is secondary mclk, and so on.
- reg: This property provides the AUX PCM/MI2S mux select register addresses
  and size.
- reg_names: This property provides the name of the AUX PCM/MI2S mux select
  registers so the machine driver can retrieve the addresses. The order of the
  names has to match the order of the registers in "reg" property.
- asoc-platform: This is phandle list containing the references to platform device
		 nodes that are used as part of the sound card dai-links.
- asoc-platform-names: This property contains list of platform names. The order of
		       the platform names should match to that of the phandle order
		       given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
	    that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
		  cpu dai names should match to that of the phandle order given
		  in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
		  where the id (%d) field represents the back-end AFE port id that
		  this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
	      nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
		    codec dai names should match to that of the phandle order given
		    in "asoc-codec".
- asoc-wsa-codec-names: This property contains list of wsa codec names. The names
			should comply with the wsa nodes configurations.
- asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes.

Example:
	 sound {
		compatible = "qcom,msm8952-audio-slim-codec";
		qcom,model = "msm8952-tomtom-snd-card";
		reg = <0xc051000 0x4>,
		      <0xc051004 0x4>,
		      <0xc055000 0x4>;
		reg-names = "csr_gp_io_mux_mic_ctl",
			    "csr_gp_io_mux_spkr_ctl",
			    "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
		qcom,msm-ext-pa = "primary";
		qcom,mi2s-audio-intf;
		qcom,auxpcm-audio-intf;
		qcom,msm-mi2s-master = <1>, <0>, <1>, <1>;
		qcom,msm-mi2s-ext-mclk = <1>, <1>, <0>, <1>;
		reg = <0x1711a000 0x4>,
		      <0x1711b000 0x4>,
		      <0x1711c000 0x4>,
		      <0x1711d000 0x4>;
		reg-names = "lpaif_pri_mode_muxsel",
			    "lpaif_sec_mode_muxsel",
			    "lpaif_tert_mode_muxsel",
			    "lpaif_quat_mode_muxsel";
		qcom,msm-mclk-freq = <9600000>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,wsa-disable;
		qcom,msm-mbhc-moist-cfg = <1>, <3>, <0>;
		qcom,msm-hs-micbias-type = "internal";
		qcom,msm-micbias1-ext-cap;
		qcom,audio-routing =
			"RX_BIAS", "MCLK",
			"SPK_RX_BIAS", "MCLK",
			"INT_LDO_H", "MCLK",
			"MIC BIAS External", "Handset Mic",
			"MIC BIAS Internal2", "Headset Mic",
			"MIC BIAS External", "Secondary Mic",
			"AMIC1", "MIC BIAS External",
			"AMIC2", "MIC BIAS Internal2",
			"AMIC3", "MIC BIAS External";
		qcom,msm-gpios =
			"slim",
			"us_eu_gpio";
		qcom,pinctrl-names =
			"all_off",
			"slim_act",
			"us_eu_gpio_act",
			"slim_us_eu_gpio_act";
		pinctrl-names =
			"all_off",
			"slim_act",
			"us_eu_gpio_act",
			"slim_us_eu_gpio_act";
		pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>;
		pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>;
		pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>;
		pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>;
		qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
		qcom,headset-jack-type-NC;
		qcom,audio-routing =
			"RX_BIAS", "MCLK",
			"LDO_H", "MCLK",
			"SPK_OUT", "MCLK",
			"AMIC1", "MIC BIAS1 External",
			"MIC BIAS1 External", "Handset Mic",
			"AMIC2", "MIC BIAS2 External",
			"MIC BIAS2 External", "Headset Mic",
			"AMIC4", "MIC BIAS2 External",
			"MIC BIAS2 External", "ANCRight Headset Mic",
			"AMIC5", "MIC BIAS2 External",
			"MIC BIAS2 External", "ANCLeft Headset Mic",
			"DMIC1", "MIC BIAS1 External",
			"MIC BIAS1 External", "Digital Mic1",
			"DMIC2", "MIC BIAS1 External",
			"MIC BIAS1 External", "Digital Mic2",
			"DMIC3", "MIC BIAS3 External",
			"MIC BIAS3 External", "Digital Mic3",
			"DMIC4", "MIC BIAS3 External",
			"MIC BIAS3 External", "Digital Mic4";
		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&lpa>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
				"msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
				"msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
				"msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
		asoc-cpu = <&dai_hdmi>, <&dai_mi2s0>, <&dai_mi2s1>,
				<&dai_mi2s2>, <&dai_mi2s3>, <&sb_0_rx>, <&sb_0_tx>,
				<&sb_1_rx>, <&sb_1_tx>, <&sb_3_rx>, <&sb_3_tx>,
				<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&bt_sco_rx>,
				<&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>,
				<&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
				<&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
				<&incall_music_2_rx>;
		asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.0",
				"msm-dai-q6-mi2s.1", "msm-dai-q6-mi2s.2",
				"msm-dai-q6-mi2s.3", "msm-dai-q6-dev.16384",
				"msm-dai-q6-dev.16385", "msm-dai-q6-dev.16386",
				"msm-dai-q6-dev.16387", "msm-dai-q6-dev.16390",
				"msm-dai-q6-dev.16391", "msm-dai-q6-dev.16392",
				"msm-dai-q6-dev.16393", "msm-dai-q6-dev.16395",
				"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
				"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
				"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
				"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
				"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
				"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
		asoc-codec = <&stub_codec>;
		asoc-codec-names = "msm-stub-codec.1";
		asoc-wsa-codec-names = "wsa881x.20170212";
		asoc-wsa-codec-prefixes = "SpkrLeft";
	};

* APQ8009 I2S ASoC Machine driver

Required properties:
- compatible : "qcom,apq8009-audio-i2s-codec"
- qcom,model : The user-visible name of this sound card.
- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
	mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
	this would list all the 2^N combinations.
- pinctrl-names : The combinations of gpio sets from above that are supported in
	the flavor. This can be sometimes same as qcom,pinctrl-names i.e with 2^N
	combinations or will have less incase if some combination is not supported.
- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
- qcom,audio-routing : A list of the connections between audio components.
	Each entry is a pair of strings, the first being the connection's sink,
	the second being the connection's source.

Optional properties:
- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
- asoc-platform: This is phandle list containing the references to platform device
		nodes that are used as part of the sound card dai-links.
- asoc-platform-names:  This property contains list of platform names. The order of
			the platform names should match to that of the phandle order
			given in "asoc-platform".
- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
	that are used as part of the sound card dai-links.
- asoc-cpu-names: This property contains list of cpu dai names. The order of the
	cpu dai names should match to that of the phandle order given
	in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
	where the id (%d) field represents the back-end AFE port id that
	this CPU dai is associated with.
- asoc-codec: This is phandle list containing the references to codec dai device
	nodes that are used as part of the sound card dai-links.
- asoc-codec-names: This property contains list of codec dai names. The order of the
		codec dai names should match to that of the phandle order given
		in "asoc-codec".
- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
- qcom,wsa-devs: This property contains list of wsa codec names. The names
		should comply with the wsa nodes configurations.
- qcom,wsa-aux-dev-prefix: This property contains list of wsa codec prefixes.
- qcom,tdm-i2s-switch-enable: For chipsets where tdm mics are controlled by
			  switch, drive corresponding gpio to output high
			  to enable switch.
- qcom,pdm-i2s-switch-enable: For chipsets where pdm mics are controlled by
			  switch, drive corresponding gpio to output high
			  to enable switch.

Example:
	sound {
		compatible = "qcom,apq8009-audio-i2s-codec";
		qcom,model = "apq8009-tashalite-snd-card";
		qcom,msm-codec-type = "external";
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,msm-mclk-freq = <9600000>;
		qcom,msm-hs-micbias-type = "internal";
		qcom,audio-routing =
			"AIF4 VI", "MCLK",
			"RX_BIAS", "MCLK",
			"MADINPUT", "MCLK",
			"AMIC2", "MIC BIAS2",
			"MIC BIAS2", "Headset Mic",
			"DMIC0", "MIC BIAS1",
			"MIC BIAS1", "Digital Mic0",
			"DMIC1", "MIC BIAS1",
			"MIC BIAS1", "Digital Mic1",
			"DMIC2", "MIC BIAS2",
			"MIC BIAS2", "Digital Mic2",
			"DMIC3", "MIC BIAS2",
			"MIC BIAS2", "Digital Mic3",
			"SpkrLeft IN", "SPK1 OUT",
			"SpkrRight IN", "SPK2 OUT";

		qcom,msm-gpios =
			"pri_i2s",
			"quat_i2s";
		qcom,pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"quat_i2s_act",
			"pri_i2s_quat_i2s_act";
		pinctrl-names =
			"all_off",
			"pri_i2s_act",
			"quat_i2s_act",
			"pri_i2s_quat_i2s_act";
		pinctrl-0 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep
			&pri_mi2s_dout_sleep &pri_mi2s_din_sleep
			&quat_mi2s_sleep &quat_mi2s_din_sleep>;
		pinctrl-1 = <&pri_mi2s_active &pri_mi2s_ws_active
			&pri_mi2s_dout_active &pri_mi2s_din_active
			&quat_mi2s_sleep &quat_mi2s_din_sleep>;
		pinctrl-2 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep
			&pri_mi2s_dout_sleep &pri_mi2s_din_sleep
			&quat_mi2s_active &quat_mi2s_din_active>;
		pinctrl-3 = <&pri_mi2s_active &pri_mi2s_ws_active
			&pri_mi2s_dout_active &pri_mi2s_din_active
			&quat_mi2s_active &quat_mi2s_din_active>;

		asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
			<&loopback>, <&compress>, <&hostless>,
			<&afe>, <&lsm>, <&routing>, <&cpe>, <&lpa>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
			"msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
			"msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
			"msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm",
			"msm-pcm-lpa";
		asoc-cpu =  <&dai_pri_auxpcm>, <&dai_hdmi>,<&dai_mi2s0>,
			<&dai_mi2s2>, <&dai_mi2s3>,
			<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
			<&sb_3_rx>, <&sb_3_tx>,
			<&sb_4_rx>, <&sb_4_tx>, <&afe_pcm_rx>,
			<&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
			<&incall_record_rx>, <&incall_record_tx>,
			<&incall_music_rx>, <&incall_music_2_rx>,
			<&bt_sco_rx>,
			<&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>;
		asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
			"msm-dai-q6-mi2s.0",
			"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
			"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
			"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
			"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
			"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
			"msm-dai-q6-dev.224",
			"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
			"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
			"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
			"msm-dai-q6-dev.32770",
			"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
			"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293";
		asoc-codec = <&stub_codec>;
		asoc-codec-names = "msm-stub-codec.1";
		qcom,wsa-max-devs = <2>;
		qcom,wsa-devs = <&wsa881x_213>, <&wsa881x_214>;
		qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight";
};
+636 −0

File added.

Preview size limit exceeded, changes collapsed.

+24 −0
Original line number Original line Diff line number Diff line
TFA9897 SmartpA

Required properties:

  - compatible : "nxp,tfa98xx"

  - reg : I2C address of the device

  - dvdd-supply : Power supply for PA's dvdd

  - dvdd-voltage : Minimum and maximum voltage in uV to set for power supply

  - dvdd-current : dvdd's max current in uA

Examples:

	i2c_smartpa@34 {
		compatible = "nxp,tfa98xx";
		reg = <0x34>;
		reset-gpio = <&tlmm 68 0>;
		dvdd-supply = <&pm660_l9>;
		dvdd-voltage = <1800000 1800000>;
		dvdd-current = <15000>;
	};
+675 −0

File changed.

Preview size limit exceeded, changes collapsed.