Re: [PATCH v4 09/10] dt-bindings: display: rockchip: dw-dp: Fix sound DAI cells

Krzysztof Kozlowski <[email protected]>
Newsgroups org.infradead.lists.linux-rockchip,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <20260722-enchanted-mandrill-of-refinement-adc7b3@quoll>
On Tue, Jul 21, 2026 at 07:52:39PM +0200, Sebastian Reichel wrote:
> The RK3588 and RK3576 DesignWare DisplayPort controllers both have two
> possible DAI interfaces: I2S and S/PDIF. Thus an argument is needed to
> to select the right interface.
> 
> In addition to that the RK3576 has the same IP as RK3588, but configured
> with Multi Stream Transport (MST) enabled for up to 3 displays and thus
> has a total of 6 DAI interfaces (I2S and S/PDIF for each possible
> stream). Meanwhile the RK3588 does not support MST and thus has only 2
> DAI interfaces.
> 
> The binding update from this patch has only been tested with the simple
> single stream transport (SST) setup as the Linux driver does not yet
> support MST.
> 
> For MST it is unclear what a good binding should look like. Technically
> there are a couple of options:
> 
> 1. Stay with the single cell, but add more numbers. I.e.
>    0 = I2S on stream 0,
>    1 = S/PDIF on stream 0
>    2 = I2S on stream 1,
>    3 = S/PDIF on stream 1
>    4 = I2S on stream 2,
>    5 = S/PDIF on stream 2

This looks simpler and anyway the numbers are abstract, so they do not
need to match "stream X".

> 
> 2. Add yet another cell, so that there is one argument for the stream ID
>    and one argument to select between S/PDIF and I2S. I.e.
>    0 0 = I2S on stream 0
>    0 1 = S/PDIF on stream 0
>    1 0 = I2S on stream 1
>    1 1 = S/PDIF on stream 1
>    2 0 = I2S on stream 2
>    2 1 = S/PDIF on stream 2
> 
> 3. Create one subnode for each stream in the DP controller with its
>    own graph for the video streams. This would mean the MST binding
>    is quite different from the SST one.
> 
> As it is unclear which way is the most sensible at this point in time,
> just go with the most simple option for now and revisit this once MST
> is added.
> 
> Signed-off-by: Sebastian Reichel <[email protected]>
> ---
>  .../devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml     | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml
> index 2b0d9e23e943..c4f8959dd65d 100644
> --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml
> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml
> @@ -25,7 +25,7 @@ description: |
>    * Supports up to 8/10 bits per color component
>    * Supports RBG, YCbCr4:4:4, YCbCr4:2:2, YCbCr4:2:0
>    * Pixel clock up to 594MHz
> -  * I2S, SPDIF audio interface
> +  * I2S, S/PDIF audio interface
>  
>  properties:
>    compatible:
> @@ -46,7 +46,7 @@ properties:
>        - description: DisplayPort AUX clock
>        - description: HDCP clock
>        - description: I2S interface clock
> -      - description: SPDIF interfce clock
> +      - description: S/PDIF interfce clock
>  
>    clock-names:
>      minItems: 3
> @@ -83,7 +83,8 @@ properties:
>      maxItems: 1
>  
>    "#sound-dai-cells":
> -    const: 0
> +    const: 1
> +    description: 0 for I2S, 1 for S/PDIF

This is ABI change, which might be backwards compatible or not, but
commit msg should explain that. I can easily imagine drivers where
written that way that they will fail with an old DTB.

Best regards,
Krzysztof


_______________________________________________
Linux-rockchip mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-rockchip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.