1 =================== 2 ASoC jack detection 3 =================== 4 5 ALSA has a standard API for representing physi 6 the kernel side of which can be seen in includ 7 provides a version of this API adding two addi 8 9 - It allows more than one jack detection meth 10 user visible jack. In embedded systems it 11 to be present on a single jack but handled 12 hardware. 13 14 - Integration with DAPM, allowing DAPM endpoi 15 automatically based on the detected jack st 16 headphone outputs if no headphones are pres 17 18 This is done by splitting the jacks up into th 19 together: the jack itself represented by a str 20 snd_soc_jack_pins representing DAPM endpoints 21 code providing jack reporting mechanisms. 22 23 For example, a system may have a stereo headse 24 mechanisms, one for the headphone and one for 25 systems won't be able to use their speaker out 26 connected and so will want to make sure to upd 27 headphone when the headphone jack status chang 28 29 The jack - struct snd_soc_jack 30 ============================== 31 32 This represents a physical jack on the system 33 user space. The jack itself is completely pas 34 machine driver and updated by jack detection m 35 36 Jacks are created by the machine driver callin 37 38 snd_soc_jack_pin 39 ================ 40 41 These represent a DAPM pin to update depending 42 bits supported by the jack. Each snd_soc_jack 43 which are updated automatically. They are cre 44 and associated with the jack using snd_soc_jac 45 of the endpoint may configured to be the oppos 46 required (eg, enabling a built in microphone i 47 connected via a jack). 48 49 Jack detection methods 50 ====================== 51 52 Actual jack detection is done by code which is 53 input to the system and update a jack by calli 54 specifying a subset of bits to update. The ja 55 be set up by the machine driver, taking config 56 update and the set of things to report when th 57 58 Often this is done based on the status of a GP 59 provided by the snd_soc_jack_add_gpio() functi 60 also available, for example integrated into CO 61 CODEC integrated jack detection can be see in 62 63 Each jack may have multiple reporting mechanis 64 least one to be useful. 65 66 Machine drivers 67 =============== 68 69 These are all hooked together by the machine d 70 system hardware. The machine driver will set 71 the list of pins to update then set up one or 72 mechanisms to update that jack based on their
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.