Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

QCOM WCD9335 Codec

Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC, supports
Qualcomm Technologies, Inc. (QTI) multimedia solutions, including
the MSM8996, MSM8976, and MSM8956 chipsets. It has in-built
Soundwire controller, interrupt mux. It supports both I2S/I2C and
SLIMbus audio interfaces.

Required properties with SLIMbus Interface:

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: For SLIMbus interface it should be "slimMID,PID",
		    textual representation of Manufacturer ID, Product Code,
		    shall be in lower case hexadecimal with leading zeroes
		    suppressed.  Refer to slimbus/bus.txt for details.
		    Should be:
		    "slim217,1a0" for MSM8996 and APQ8096 SoCs with SLIMbus.

- reg
	Usage: required
	Value type: <u32 u32>
	Definition: Should be ('Device index', 'Instance ID')

- interrupts
	Usage: required
	Value type: <prop-encoded-array>
	Definition: Interrupts via WCD INTR1 and INTR2 pins

- interrupt-names:
	Usage: required
	Value type: <String array>
	Definition: Interrupt names of WCD INTR1 and INTR2
	Should be: "intr1", "intr2"

- reset-gpios:
	Usage: required
	Value type: <String Array>
	Definition: Reset gpio line

- slim-ifc-dev:
	Usage: required
	Value type: <phandle>
	Definition: SLIM interface device

- clocks:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: See clock-bindings.txt section "consumers". List of
                three clock specifiers for mclk, mclk2 and slimbus clock.

- clock-names:
	Usage: required
	Value type: <string>
	Definition: Must contain "mclk", "mclk2" and "slimbus" strings.

- vdd-buck-supply:
	Usage: required
	Value type: <phandle>
	Definition: Should contain a reference to the 1.8V buck supply

- vdd-buck-sido-supply:
	Usage: required
	Value type: <phandle>
	Definition: Should contain a reference to the 1.8V SIDO buck supply

- vdd-rx-supply:
	Usage: required
	Value type: <phandle>
	Definition: Should contain a reference to the 1.8V rx supply

- vdd-tx-supply:
	Usage: required
	Value type: <phandle>
	Definition: Should contain a reference to the 1.8V tx supply

- vdd-vbat-supply:
	Usage: Optional
	Value type: <phandle>
	Definition: Should contain a reference to the vbat supply

- vdd-micbias-supply:
	Usage: required
	Value type: <phandle>
	Definition: Should contain a reference to the micbias supply

- vdd-io-supply:
	Usage: required
	Value type: <phandle>
	Definition: Should contain a reference to the 1.8V io supply

- interrupt-controller:
	Usage: required
	Definition: Indicating that this is a interrupt controller

- #interrupt-cells:
	Usage: required
	Value type: <int>
	Definition: should be 1

#sound-dai-cells
	Usage: required
	Value type: <u32>
	Definition: Must be 1

audio-codec@1{
	compatible = "slim217,1a0";
	reg  = <1 0>;
	interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
	interrupt-names = "intr2"
	reset-gpios = <&msmgpio 64 0>;
	slim-ifc-dev  = <&wc9335_ifd>;
	clock-names = "mclk", "native";
	clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
		 <&rpmcc RPM_SMD_BB_CLK1>;
	vdd-buck-supply = <&pm8994_s4>;
	vdd-rx-supply = <&pm8994_s4>;
	vdd-buck-sido-supply = <&pm8994_s4>;
	vdd-tx-supply = <&pm8994_s4>;
	vdd-io-supply = <&pm8994_s4>;
	#sound-dai-cells = <1>;
}