mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	Pretty much any node can have a status property, so it doesn't need to be in examples. Converted with the following command and removed examples with SoC and board specific splits: git grep -l -E 'status.*=.*' Documentation/devicetree/ | xargs sed -i -E '/\sstatus.*=.*"(disabled|ok|okay)/d' Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Rob Herring <robh@kernel.org>
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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>;
 | 
						|
 | 
						|
	};
 | 
						|
 | 
						|
	&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>;
 | 
						|
	};
 |