ASoC: rockchip-max98090: Support usage with and without HDMI
authorCheng-Yi Chiang <cychiang@chromium.org>
Mon, 28 Oct 2019 07:19:26 +0000 (15:19 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 29 Oct 2019 12:30:30 +0000 (12:30 +0000)
Add one optional property "rockchip,hdmi-codec" to let user specify HDMI
device node in DTS so machine driver can find hdmi-codec device node for
HDMI codec DAI.

Use the presence of rockchip,audio-codec and rockchip,hdmi-codec to
specify the use case.

Use max98090 only : specify rockchip,audio-codec.
Use HDMI only: specify rockchip,hdmi-codec.
Use both max98090 and HDMI: specify rockchip,audio-codec and
rockchip,hdmi-codec.

Move these properties to optional because they are not needed for
HDMI-only use case.
"rockchip,audio-codec": The phandle of the MAX98090 audio codec
"rockchip,headset-codec": The phandle of Ext chip for jack detection

Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
Link: https://lore.kernel.org/r/20191028071930.145899-3-cychiang@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/rockchip-max98090.txt

index a805aa99ad7513364d824e9428d44bf926f85e86..e9c58b2043994bc1b5cea10e774a73d911bc37e3 100644 (file)
@@ -5,15 +5,38 @@ Required properties:
 - rockchip,model: The user-visible name of this sound complex
 - rockchip,i2s-controller: The phandle of the Rockchip I2S controller that's
   connected to the CODEC
-- rockchip,audio-codec: The phandle of the MAX98090 audio codec
-- rockchip,headset-codec: The phandle of Ext chip for jack detection
+
+Optional properties:
+- rockchip,audio-codec: The phandle of the MAX98090 audio codec.
+- rockchip,headset-codec: The phandle of Ext chip for jack detection. This is
+                          required if there is rockchip,audio-codec.
+- rockchip,hdmi-codec: The phandle of HDMI device for HDMI codec.
 
 Example:
 
+/* For max98090-only board. */
+sound {
+       compatible = "rockchip,rockchip-audio-max98090";
+       rockchip,model = "ROCKCHIP-I2S";
+       rockchip,i2s-controller = <&i2s>;
+       rockchip,audio-codec = <&max98090>;
+       rockchip,headset-codec = <&headsetcodec>;
+};
+
+/* For HDMI-only board. */
+sound {
+       compatible = "rockchip,rockchip-audio-max98090";
+       rockchip,model = "ROCKCHIP-I2S";
+       rockchip,i2s-controller = <&i2s>;
+       rockchip,hdmi-codec = <&hdmi>;
+};
+
+/* For max98090 plus HDMI board. */
 sound {
        compatible = "rockchip,rockchip-audio-max98090";
        rockchip,model = "ROCKCHIP-I2S";
        rockchip,i2s-controller = <&i2s>;
        rockchip,audio-codec = <&max98090>;
        rockchip,headset-codec = <&headsetcodec>;
+       rockchip,hdmi-codec = <&hdmi>;
 };