ASoC: sunxi: Add bindings for A23/A33/H3 codec's analog path controls
authorChen-Yu Tsai <wens@csie.org>
Sat, 12 Nov 2016 06:46:39 +0000 (14:46 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 22 Nov 2016 17:59:11 +0000 (17:59 +0000)
The internal codec on A23/A33/H3 is split into 2 parts. The
analog path controls are routed through an embedded custom register
bus accessed through the PRCM block.

The SoCs share a common set of inputs, outputs, and audio paths.
The following table lists the differences.

    ----------------------------------------
    | Feature \ SoC |  A23  |  A33  |  H3  |
    ----------------------------------------
    | Headphone     |   v   |   v   |      |
    ----------------------------------------
    | Line Out      |       |       |  v   |
    ----------------------------------------
    | Phone In/Out  |   v   |   v   |      |
    ----------------------------------------

Add a binding for this hardware.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt b/Documentation/devicetree/bindings/sound/sun8i-codec-analog.txt
new file mode 100644 (file)
index 0000000..779b735
--- /dev/null
@@ -0,0 +1,16 @@
+* Allwinner Codec Analog Controls
+
+Required properties:
+- compatible: must be one of the following compatibles:
+               - "allwinner,sun8i-a23-codec-analog"
+               - "allwinner,sun8i-h3-codec-analog"
+
+Required properties if not a sub-node of the PRCM node:
+- reg: must contain the registers location and length
+
+Example:
+prcm: prcm@01f01400 {
+       codec_analog: codec-analog {
+               compatible = "allwinner,sun8i-a23-codec-analog";
+       };
+};