summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
blob: 6fbba562eaa7b36a46593160a0512dcc79e58a74 (plain)
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
Texas Instruments - tlv320aic31xx Codec module

The tlv320aic31xx serial control bus communicates through I2C protocols

Required properties:

- compatible - "string" - One of:
    "ti,tlv320aic310x" - Generic TLV320AIC31xx with mono speaker amp
    "ti,tlv320aic311x" - Generic TLV320AIC31xx with stereo speaker amp
    "ti,tlv320aic3100" - TLV320AIC3100 (mono speaker amp, no MiniDSP)
    "ti,tlv320aic3110" - TLV320AIC3110 (stereo speaker amp, no MiniDSP)
    "ti,tlv320aic3120" - TLV320AIC3120 (mono speaker amp, MiniDSP)
    "ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP)
    "ti,tlv320dac3100" - TLV320DAC3100 (no ADC, mono speaker amp, no MiniDSP)
    "ti,tlv320dac3101" - TLV320DAC3101 (no ADC, stereo speaker amp, no MiniDSP)

- reg - <int> -  I2C slave address
- HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply,
  DVDD-supply : power supplies for the device as covered in
  Documentation/devicetree/bindings/regulator/regulator.txt


Optional properties:

- gpio-reset - gpio pin number used for codec reset
- ai31xx-micbias-vg - MicBias Voltage setting
        1 or MICBIAS_2_0V - MICBIAS output is powered to 2.0V
        2 or MICBIAS_2_5V - MICBIAS output is powered to 2.5V
        3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD
	If this node is not mentioned or if the value is unknown, then
	micbias	is set to 2.0V.

CODEC output pins:
  * HPL
  * HPR
  * SPL, devices with stereo speaker amp
  * SPR, devices with stereo speaker amp
  * SPK, devices with mono speaker amp
  * MICBIAS

CODEC input pins:
  * MIC1LP, devices with ADC
  * MIC1RP, devices with ADC
  * MIC1LM, devices with ADC
  * AIN1, devices without ADC
  * AIN2, devices without ADC

The pins can be used in referring sound node's audio-routing property.

Example:
#include <dt-bindings/sound/tlv320aic31xx-micbias.h>

tlv320aic31xx: tlv320aic31xx@18 {
	compatible = "ti,tlv320aic311x";
	reg = <0x18>;

	ai31xx-micbias-vg = <MICBIAS_OFF>;

	HPVDD-supply = <&regulator>;
	SPRVDD-supply = <&regulator>;
	SPLVDD-supply = <&regulator>;
	AVDD-supply = <&regulator>;
	IOVDD-supply = <&regulator>;
	DVDD-supply = <&regulator>;
};
an a simple infinite loop would. If a thread requires a delay slot emulation & no frame is available to it (ie. the process has enough other threads that all frames are currently in use) then the thread joins a waitqueue. It will sleep until a frame is freed by another thread in the process. Since we now know whether a thread has an allocated frame due to our tracking of its index, the cookie field of struct emuframe is removed as we can be more certain whether we have a valid frame. Since a thread may only ever have a single frame at any given time, the epc field of struct emuframe is also removed & the PC to continue from is instead stored in struct thread_struct. Together these changes simplify & shrink struct emuframe somewhat, allowing twice as many frames to fit into the page allocated for them. The primary benefit of this patch is that we are now free to mark the user stack non-executable where that is possible. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Leonid Yegoshin <leonid.yegoshin@imgtec.com> Cc: Maciej Rozycki <maciej.rozycki@imgtec.com> Cc: Faraz Shahbazker <faraz.shahbazker@imgtec.com> Cc: Raghu Gandham <raghu.gandham@imgtec.com> Cc: Matthew Fortune <matthew.fortune@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/13764/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat