mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 07:04:00 +08:00
ca8c7f233f
This breaks devicetree compatibility, but in this case that is ok. All affected units are either on my desk, or running an even older version of the driver that is not compatible with the upstreamed version anyway (and when these other units are eventually updated, they will get a fresh dtb as well, so that is not a significant problem either). All of that is of course assuming that noone else has managed to build something that can use this driver, but that seems extremely improbable. Signed-off-by: Peter Rosin <peda@axentia.se> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
94 lines
2.5 KiB
Plaintext
94 lines
2.5 KiB
Plaintext
Devicetree bindings for the Axentia TSE-850 audio complex
|
|
|
|
Required properties:
|
|
- compatible: "axentia,tse850-pcm5142"
|
|
- axentia,cpu-dai: The phandle of the cpu dai.
|
|
- axentia,audio-codec: The phandle of the PCM5142 codec.
|
|
- axentia,add-gpios: gpio specifier that controls the mixer.
|
|
- axentia,loop1-gpios: gpio specifier that controls loop relays on channel 1.
|
|
- axentia,loop2-gpios: gpio specifier that controls loop relays on channel 2.
|
|
- axentia,ana-supply: Regulator that supplies the output amplifier. Must
|
|
support voltages in the 2V - 20V range, in 1V steps.
|
|
|
|
The schematics explaining the gpios are as follows:
|
|
|
|
loop1 relays
|
|
IN1 +---o +------------+ o---+ OUT1
|
|
\ /
|
|
+ +
|
|
| / |
|
|
+--o +--. |
|
|
| add | |
|
|
| V |
|
|
| .---. |
|
|
DAC +----------->|Sum|---+
|
|
| '---' |
|
|
| |
|
|
+ +
|
|
|
|
IN2 +---o--+------------+--o---+ OUT2
|
|
loop2 relays
|
|
|
|
The 'loop1' gpio pin controlls two relays, which are either in loop position,
|
|
meaning that input and output are directly connected, or they are in mixer
|
|
position, meaning that the signal is passed through the 'Sum' mixer. Similarly
|
|
for 'loop2'.
|
|
|
|
In the above, the 'loop1' relays are inactive, thus feeding IN1 to the mixer
|
|
(if 'add' is active) and feeding the mixer output to OUT1. The 'loop2' relays
|
|
are active, short-cutting the TSE-850 from channel 2. IN1, IN2, OUT1 and OUT2
|
|
are TSE-850 connectors and DAC is the PCB name of the (filtered) output from
|
|
the PCM5142 codec.
|
|
|
|
Example:
|
|
|
|
&ssc0 {
|
|
#sound-dai-cells = <0>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c {
|
|
codec: pcm5142@4c {
|
|
compatible = "ti,pcm5142";
|
|
|
|
reg = <0x4c>;
|
|
|
|
AVDD-supply = <®_3v3>;
|
|
DVDD-supply = <®_3v3>;
|
|
CPVDD-supply = <®_3v3>;
|
|
|
|
clocks = <&sck>;
|
|
|
|
pll-in = <3>;
|
|
pll-out = <6>;
|
|
};
|
|
};
|
|
|
|
ana: ana-reg {
|
|
compatible = "pwm-regulator";
|
|
|
|
regulator-name = "ANA";
|
|
|
|
pwms = <&pwm0 2 1000 PWM_POLARITY_INVERTED>;
|
|
pwm-dutycycle-unit = <1000>;
|
|
pwm-dutycycle-range = <100 1000>;
|
|
|
|
regulator-min-microvolt = <2000000>;
|
|
regulator-max-microvolt = <20000000>;
|
|
regulator-ramp-delay = <1000>;
|
|
};
|
|
|
|
sound {
|
|
compatible = "axentia,tse850-pcm5142";
|
|
|
|
axentia,cpu-dai = <&ssc0>;
|
|
axentia,audio-codec = <&codec>;
|
|
|
|
axentia,add-gpios = <&pioA 8 GPIO_ACTIVE_LOW>;
|
|
axentia,loop1-gpios = <&pioA 10 GPIO_ACTIVE_LOW>;
|
|
axentia,loop2-gpios = <&pioA 11 GPIO_ACTIVE_LOW>;
|
|
|
|
axentia,ana-supply = <&ana>;
|
|
};
|