Message ID | 20191025133007.11190-3-cychiang@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add HDMI jack support on RK3288 | expand |
On Fri, Oct 25, 2019 at 09:30:03PM +0800, Cheng-Yi Chiang wrote: > There will be multiple boards sharing this machine driver. > Use compatible string to specify the use case. > > "rockchip,rockchip-audio-max98090" for max98090-only. > "rockchip,rockchip-audio-hdmi" for HDMI-only > "rockchip,rockchip-audio-max98090-hdmi" for max98090 plus > > 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 > > The machine driver change will add support for HDMI codec in > rockchip-max98090. > 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 > codec DAI. Why not just use the presence of rockchip,hdmi-codec to enable HDMI or not. Maybe you still add rockchip,rockchip-audio-hdmi for HDMI only. Really, the same should have been done for which codec is used too, but I guess someone wanted 2 machine drivers. > > Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> > --- > .../bindings/sound/rockchip-max98090.txt | 38 +++++++++++++++++-- > 1 file changed, 35 insertions(+), 3 deletions(-)
On Sat, Oct 26, 2019 at 12:22 AM Rob Herring <robh@kernel.org> wrote: > > On Fri, Oct 25, 2019 at 09:30:03PM +0800, Cheng-Yi Chiang wrote: > > There will be multiple boards sharing this machine driver. > > Use compatible string to specify the use case. > > > > "rockchip,rockchip-audio-max98090" for max98090-only. > > "rockchip,rockchip-audio-hdmi" for HDMI-only > > "rockchip,rockchip-audio-max98090-hdmi" for max98090 plus > > > > 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 > > > > The machine driver change will add support for HDMI codec in > > rockchip-max98090. > > 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 > > codec DAI. > > Why not just use the presence of rockchip,hdmi-codec to enable HDMI or > not. Maybe you still add rockchip,rockchip-audio-hdmi for HDMI only. > > Really, the same should have been done for which codec is used too, but > I guess someone wanted 2 machine drivers. Hi Rob, Thanks for the quick reply. I can make change in machine driver so that - The presence of rockchip,audio-codec enable max98090 - The presence of rockchip,hdmi-codec enable HDMI. With that, we don't need the three properties added in this patch: "rockchip,rockchip-audio-max98090" for max98090-only. "rockchip,rockchip-audio-hdmi" for HDMI-only "rockchip,rockchip-audio-max98090-hdmi" for max98090 plus HDMI. I will post an update soon. Thanks! > > > > > > Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> > > --- > > .../bindings/sound/rockchip-max98090.txt | 38 +++++++++++++++++-- > > 1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/rockchip-max98090.txt b/Documentation/devicetree/bindings/sound/rockchip-max98090.txt index a805aa99ad75..75f438741ca6 100644 --- a/Documentation/devicetree/bindings/sound/rockchip-max98090.txt +++ b/Documentation/devicetree/bindings/sound/rockchip-max98090.txt @@ -1,15 +1,29 @@ ROCKCHIP with MAX98090 CODEC Required properties: -- compatible: "rockchip,rockchip-audio-max98090" +- compatible: Set this property to one of the strings below depending on the + usage on the board: + "rockchip,rockchip-audio-max98090" for max98090-only. + "rockchip,rockchip-audio-hdmi" for HDMI-only + "rockchip,rockchip-audio-max98090-hdmi" for max98090 plus HDMI. - 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. This is + required if compatible string is set to the one + with max98090. +- rockchip,headset-codec: The phandle of Ext chip for jack detection. This is + required if compatible string is set to the one + with max98090. +- rockchip,hdmi-codec: The phandle of HDMI device for HDMI codec. This is + required if compatible string is set to the one with + HDMI. Example: +/* For max98090-only board. */ sound { compatible = "rockchip,rockchip-audio-max98090"; rockchip,model = "ROCKCHIP-I2S"; @@ -17,3 +31,21 @@ sound { rockchip,audio-codec = <&max98090>; rockchip,headset-codec = <&headsetcodec>; }; + +/* For HDMI-only board. */ +sound { + compatible = "rockchip,rockchip-audio-hdmi"; + rockchip,model = "ROCKCHIP-I2S"; + rockchip,i2s-controller = <&i2s>; + rockchip,hdmi-codec = <&hdmi>; +}; + +/* For max98090 plus HDMI board. */ +sound { + compatible = "rockchip,rockchip-audio-max98090-hdmi"; + rockchip,model = "ROCKCHIP-I2S"; + rockchip,i2s-controller = <&i2s>; + rockchip,audio-codec = <&max98090>; + rockchip,headset-codec = <&headsetcodec>; + rockchip,hdmi-codec = <&hdmi>; +};
There will be multiple boards sharing this machine driver. Use compatible string to specify the use case. "rockchip,rockchip-audio-max98090" for max98090-only. "rockchip,rockchip-audio-hdmi" for HDMI-only "rockchip,rockchip-audio-max98090-hdmi" for max98090 plus 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 The machine driver change will add support for HDMI codec in rockchip-max98090. 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 codec DAI. Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org> --- .../bindings/sound/rockchip-max98090.txt | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-)