Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) Freescale Generic ASoC Sound Card with ASRC support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) The Freescale Generic ASoC Sound Card can be used, ideally, for all Freescale
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) SoCs connecting with external CODECs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) The idea of this generic sound card is a bit like ASoC Simple Card. However,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) for Freescale SoCs (especially those released in recent years), most of them
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) have ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) this is a specific feature that might be painstakingly controlled and merged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) into the Simple Card.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) So having this generic sound card allows all Freescale SoC users to benefit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) from the simplification of a new card support and the capability of the wide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) sample rates support through ASRC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) Note: The card is initially designed for those sound cards who use AC'97, I2S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)       and PCM DAI formats. However, it'll be also possible to support those non
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)       AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)       long as the driver has been properly upgraded.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) The compatible list for this generic sound card currently:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)  "fsl,imx-audio-ac97"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)  "fsl,imx-audio-cs42888"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)  "fsl,imx-audio-cs427x"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)  (compatible with CS4271 and CS4272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)  "fsl,imx-audio-wm8962"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)  "fsl,imx-audio-sgtl5000"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)  (compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)  "fsl,imx-audio-wm8960"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)  "fsl,imx-audio-mqs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)  "fsl,imx-audio-wm8524"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41)  "fsl,imx-audio-tlv320aic32x4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)   - compatible		: Contains one of entries in the compatible list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)   - model		: The user-visible name of this sound complex
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)   - audio-cpu		: The phandle of an CPU DAI controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)   - audio-codec		: The phandle of an audio codec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)   - audio-asrc		: The phandle of ASRC. It can be absent if there's no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 			  need to add ASRC support via DPCM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58)   - audio-routing	: A list of the connections between audio components.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 			  Each entry is a pair of strings, the first being the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 			  connection's sink, the second being the connection's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 			  source. There're a few pre-designed board connectors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 			   * Line Out Jack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 			   * Line In Jack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 			   * Headphone Jack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 			   * Mic Jack
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 			   * Ext Spk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 			   * AMIC (stands for Analog Microphone Jack)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 			   * DMIC (stands for Digital Microphone Jack)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 			  Note: The "Mic Jack" and "AMIC" are redundant while
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 			        coexisting in order to support the old bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 				of wm8962 and sgtl5000.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)   - hp-det-gpio		: The GPIO that detect headphones are plugged in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)   - mic-det-gpio	: The GPIO that detect microphones are plugged in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)   - bitclock-master	: Indicates dai-link bit clock master; for details see simple-card.yaml.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)   - frame-master	: Indicates dai-link frame master; for details see simple-card.yaml.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)   - dai-format		: audio format, for details see simple-card.yaml.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79)   - frame-inversion	: dai-link uses frame clock inversion, for details see simple-card.yaml.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)   - bitclock-inversion	: dai-link uses bit clock inversion, for details see simple-card.yaml.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) Optional unless SSI is selected as a CPU DAI:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)   - mux-int-port	: The internal port of the i.MX audio muxer (AUDMUX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86)   - mux-ext-port	: The external port of the i.MX audio muxer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) sound-cs42888 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	compatible = "fsl,imx-audio-cs42888";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	model = "cs42888-audio";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	audio-cpu = <&esai>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	audio-asrc = <&asrc>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	audio-codec = <&cs42888>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	audio-routing =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 		"Line Out Jack", "AOUT1L",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 		"Line Out Jack", "AOUT1R",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 		"Line Out Jack", "AOUT2L",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 		"Line Out Jack", "AOUT2R",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 		"Line Out Jack", "AOUT3L",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 		"Line Out Jack", "AOUT3R",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 		"Line Out Jack", "AOUT4L",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 		"Line Out Jack", "AOUT4R",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 		"AIN1L", "Line In Jack",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 		"AIN1R", "Line In Jack",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 		"AIN2L", "Line In Jack",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 		"AIN2R", "Line In Jack";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) };