^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) CS43130 DAC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - compatible : "cirrus,cs43130", "cirrus,cs4399", "cirrus,cs43131",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) "cirrus,cs43198"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - reg : the I2C address of the device for I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - VA-supply, VP-supply, VL-supply, VCP-supply, VD-supply:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) power supplies for the device, as covered in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Documentation/devicetree/bindings/regulator/regulator.txt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - reset-gpios : Active low GPIO used to reset the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - cirrus,xtal-ibias:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) When external MCLK is generated by external crystal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) oscillator, CS43130 can be used to provide bias current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) for external crystal. Amount of bias current sent is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) set as:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 1 = 7.5uA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 2 = 12.5uA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 3 = 15uA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) - cirrus,dc-measure:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Boolean, define to enable headphone DC impedance measurement.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) - cirrus,ac-measure:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Boolean, define to enable headphone AC impedance measurement.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) DC impedance must also be enabled for AC impedance measurement.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) - cirrus,dc-threshold:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Define 2 DC impedance thresholds in ohms for HP output control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Default values are 50 and 120 Ohms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) - cirrus,ac-freq:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Define the frequencies at which to measure HP AC impedance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Only used if "cirrus,dc-measure" is defined.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Exactly 10 frequencies must be defined.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) If this properties is undefined, by default,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) following frequencies are used:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) <24 43 93 200 431 928 2000 4309 9283 20000>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) The above frequencies are logarithmically equally spaced.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Log base is 10.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) cs43130: audio-codec@30 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) compatible = "cirrus,cs43130";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) reg = <0x30>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) reset-gpios = <&axi_gpio 54 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) VA-supply = <&dummy_vreg>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) VP-supply = <&dummy_vreg>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) VL-supply = <&dummy_vreg>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) VCP-supply = <&dummy_vreg>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) VD-supply = <&dummy_vreg>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) cirrus,xtal-ibias = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) interrupt-parent = <&gpio0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) interrupts = <55 8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) cirrus,dc-measure;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) cirrus,ac-measure;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) cirrus,dc-threshold = /bits/ 16 <20 100>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) cirrus,ac-freq = /bits/ 16 <24 43 93 200 431 928 2000 4309 9283 20000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) };