Documentation / devicetree / bindings / sound / wm8903.txt


Based on kernel version 5.16. Page generated on 2022-01-10 18:31 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
WM8903 audio CODEC

This device supports I2C only.

Required properties:

  - compatible : "wlf,wm8903"

  - reg : the I2C address of the device.

  - gpio-controller : Indicates this device is a GPIO controller.

  - #gpio-cells : Should be two. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).

Optional properties:

  - interrupts : The interrupt line the codec is connected to.

  - micdet-cfg : Default register value for R6 (Mic Bias). If absent, the
    default is 0.

  - micdet-delay : The debounce delay for microphone detection in mS. If
    absent, the default is 100.

  - gpio-cfg : A list of GPIO configuration register values. The list must
    be 5 entries long. If absent, no configuration of these registers is
    performed. If any entry has the value 0xffffffff, that GPIO's
    configuration will not be modified.

  - AVDD-supply : Analog power supply regulator on the AVDD pin.

  - CPVDD-supply : Charge pump supply regulator on the CPVDD pin.

  - DBVDD-supply : Digital buffer supply regulator for the DBVDD pin.

  - DCVDD-supply : Digital core supply regulator for the DCVDD pin.

Pins on the device (for linking into audio routes):

  * IN1L
  * IN1R
  * IN2L
  * IN2R
  * IN3L
  * IN3R
  * DMICDAT
  * HPOUTL
  * HPOUTR
  * LINEOUTL
  * LINEOUTR
  * LOP
  * LON
  * ROP
  * RON
  * MICBIAS

Example:

wm8903: codec@1a {
	compatible = "wlf,wm8903";
	reg = <0x1a>;
	interrupts = < 347 >;

	AVDD-supply = <&fooreg_a>;
	CPVDD-supply = <&fooreg_b>;
	DBVDD-supply = <&fooreg_c>;
	DCVDC-supply = <&fooreg_d>;

	gpio-controller;
	#gpio-cells = <2>;

	micdet-cfg = <0>;
	micdet-delay = <100>;
	gpio-cfg = <
		0x0600 /* DMIC_LR, output */
		0x0680 /* DMIC_DAT, input */
		0x0000 /* GPIO, output, low */
		0x0200 /* Interrupt, output */
		0x01a0 /* BCLK, input, active high */
	>;
};