You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
kernel_samsung_sm7125/Documentation/devicetree/bindings/mfd/tacna.txt

141 lines
4.2 KiB

Cirrus Logic Tacna class audio codecs multi-function device
These devices are audio SoCs with extensive digital capabilities and a range
of analogue I/O.
See also the child driver bindings in:
bindings/extcon/extcon-tacna.txt
bindings/gpio/gpio-tacna.txt
bindings/pinctrl/cirrus,tacna-pinctrl.txt
bindings/regulator/arizona-regulator.txt
bindings/sound/tacna.txt
Required properties:
- compatible : One of the following chip-specific strings:
"cirrus,cs47l96"
"cirrus,cs47l97"
- reg : I2C slave address when connected using I2C, chip select number when
using SPI.
- VDD_D-supply : Power supply for the device as defined in
bindings/regulator/regulator.txt
- VDD_A-supply, VDD_IO1-supply, VDD_IO2-supply,
VDD1_CP-supply, VDD2_CP-supply, VDD3_CP-supply:
Power supplies for the device
- interrupt-controller : Indicates that this device is an interrupt controller
- #interrupt-cells: the number of cells to describe an IRQ, must be 2.
The first cell is the IRQ number.
The second cell is the flags, encoded as the trigger masks from
bindings/interrupt-controller/interrupts.txt
- interrupt-parent : The parent interrupt controller.
- interrupts : The interrupt line the /IRQ signal for the device is
connected to.
- gpio-controller : Indicates this device is a GPIO controller.
- #gpio-cells : Must be 2. The first cell is the pin number. The second cell
is reserved for future use and must be zero
Optional properties:
- reset-gpios : One entry specifying the GPIO controlling RESET_B.
As defined in bindings/gpio.txt.
- pinctrl-names : Name of pinctrl configurations. Each of these is optional.
Legal names are:
"probe" - external pinctrl dependencies required to probe this codec,
typically these are for the reset GPIO and IRQ pin, though
could include clocks. Do NOT include configuration of this
codec's own GPIO pins because these can't be applied until
after the mfd probe has completed.
"active" - full set of external and local pinctrl configurations to
apply after probe including all the configuration of the GPIO
pins on this codec (bindings/pinctrl/cirrus,tacna-pinctrl.txt).
This must include the external dependencies in the "probe"
configuration, since they will still be required after probe.
Do not use "default" since it is applied too early before the mfd has
fully probed the codec.
- pinctrl-0, pinctrl-1 : handle to pinctrl configurations matching the
entries in pinctrl-names
- cirrus,clk32k-src : set the input source for the codec 32kHz clock.
See the TACNA_32KZ_* macros in include/dt-bindings/mfd/tacna.h for
valid options.
cs48l32 will default to MCLK1, all other codecs will default to MCLK2.
Optional child nodes:
- MICBIASx : Initial data for the MICBIAS regulators, as covered in
Documentation/devicetree/bindings/regulator/regulator.txt.
One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...)
One for each output pin (MICBIAS1A, MIBCIAS1B, MICBIAS2A, ...)
The following property is supported for all nodes:
- regulator-active-discharge:
0: Disable active discharge.
1: Enable active discharge.
The following following additional property is supported for the generator
nodes:
- cirrus,ext-cap : Set to 1 if the MICBIAS has external decoupling
capacitors attached.
Example:
codec: cs47l96@0 {
compatible = "cirrus,cs47l96";
reg = <0>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&main_pic>;
interrupts = <1 0>;
gpio-controller;
#gpio-cells = <2>;
VDD_A-supply = <&regulator_dummy>;
VDD_IO1-supply = <&regulator_dummy>;
VDD1_CP-supply = <&regulator_dummy>;
VDD2_CP-supply = <&regulator_dummy>;
VDD3_CP-supply = <&regulator_dummy>;
VDD_D-supply = <&regulator_dummy_dcvdd>;
reset-gpios = <&gpio 0>;
pinctrl-names = "probe", "active";
pinctrl-0 = <&gpio_0_enable_state>;
pinctrl-1 = <&gpio_0_enable_state &cs47l96_gpio_config>;
cs47l96_gpio_config: cs47l96-gpio-config {
asp2 {
groups = "asp2";
function = "asp2";
bias-bus-hold;
};
opclk {
groups = "gpio1";
function = "opclk";
bias-pull-up;
drive-strength = <8>;
};
};
MICBIAS1 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <3300000>;
cirrus,ext-cap = <1>;
};
};