2020-03-24 12:33:55

by Johan Jonker

[permalink] [raw]
Subject: [PATCH v2 1/3] dt-bindings: sound: convert rockchip spdif bindings to yaml

Current dts files with 'spdif' nodes are manually verified.
In order to automate this process rockchip-spdif.txt
has to be converted to yaml.

Also rk3188.dtsi, rk3288.dtsi use an extra fallback string,
so change this in the documentation.

Changed:
"rockchip,rk3188-spdif", "rockchip,rk3066-spdif"
"rockchip,rk3288-spdif", "rockchip,rk3066-spdif"

Signed-off-by: Johan Jonker <[email protected]>
---
Changed V2:
dmas and dma-names layout
---
.../devicetree/bindings/sound/rockchip-spdif.txt | 45 -----------
.../devicetree/bindings/sound/rockchip-spdif.yaml | 94 ++++++++++++++++++++++
2 files changed, 94 insertions(+), 45 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/rockchip-spdif.txt
create mode 100644 Documentation/devicetree/bindings/sound/rockchip-spdif.yaml

diff --git a/Documentation/devicetree/bindings/sound/rockchip-spdif.txt b/Documentation/devicetree/bindings/sound/rockchip-spdif.txt
deleted file mode 100644
index ec20c1271..000000000
--- a/Documentation/devicetree/bindings/sound/rockchip-spdif.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-* Rockchip SPDIF transceiver
-
-The S/PDIF audio block is a stereo transceiver that allows the
-processor to receive and transmit digital audio via an coaxial cable or
-a fibre cable.
-
-Required properties:
-
-- compatible: should be one of the following:
- - "rockchip,rk3066-spdif"
- - "rockchip,rk3188-spdif"
- - "rockchip,rk3228-spdif"
- - "rockchip,rk3288-spdif"
- - "rockchip,rk3328-spdif"
- - "rockchip,rk3366-spdif"
- - "rockchip,rk3368-spdif"
- - "rockchip,rk3399-spdif"
-- reg: physical base address of the controller and length of memory mapped
- region.
-- interrupts: should contain the SPDIF interrupt.
-- dmas: DMA specifiers for tx dma. See the DMA client binding,
- Documentation/devicetree/bindings/dma/dma.txt
-- dma-names: should be "tx"
-- clocks: a list of phandle + clock-specifier pairs, one for each entry
- in clock-names.
-- clock-names: should contain following:
- - "hclk": clock for SPDIF controller
- - "mclk" : clock for SPDIF bus
-
-Required properties on RK3288:
- - rockchip,grf: the phandle of the syscon node for the general register
- file (GRF)
-
-Example for the rk3188 SPDIF controller:
-
-spdif: spdif@1011e000 {
- compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
- reg = <0x1011e000 0x2000>;
- interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
- dmas = <&dmac1_s 8>;
- dma-names = "tx";
- clock-names = "hclk", "mclk";
- clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>;
- #sound-dai-cells = <0>;
-};
diff --git a/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml b/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
new file mode 100644
index 000000000..d1c72c8a5
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
@@ -0,0 +1,94 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/rockchip-spdif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip SPDIF transceiver
+
+description:
+ The S/PDIF audio block is a stereo transceiver that allows the
+ processor to receive and transmit digital audio via a coaxial or
+ fibre cable.
+
+maintainers:
+ - Heiko Stuebner <[email protected]>
+
+properties:
+ compatible:
+ oneOf:
+ - const: rockchip,rk3066-spdif
+ - const: rockchip,rk3228-spdif
+ - const: rockchip,rk3328-spdif
+ - const: rockchip,rk3366-spdif
+ - const: rockchip,rk3368-spdif
+ - const: rockchip,rk3399-spdif
+ - items:
+ - enum:
+ - rockchip,rk3188-spdif
+ - rockchip,rk3288-spdif
+ - const: rockchip,rk3066-spdif
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: clock for SPDIF bus
+ - description: clock for SPDIF controller
+
+ clock-names:
+ items:
+ - const: mclk
+ - const: hclk
+
+ dmas:
+ maxItems: 1
+
+ dma-names:
+ const: tx
+
+ rockchip,grf:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ The phandle of the syscon node for the GRF register.
+ Required property on RK3288.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+ - dmas
+ - dma-names
+
+if:
+ properties:
+ compatible:
+ contains:
+ const: rockchip,rk3288-spdif
+
+then:
+ required:
+ - rockchip,grf
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/rk3188-cru-common.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ spdif: spdif@1011e000 {
+ compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
+ reg = <0x1011e000 0x2000>;
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
+ clock-names = "mclk", "hclk";
+ dmas = <&dmac1_s 8>;
+ dma-names = "tx";
+ };
--
2.11.0


2020-03-24 12:33:57

by Johan Jonker

[permalink] [raw]
Subject: [PATCH v2 2/3] dt-bindings: sound: rockchip-spdif: add #sound-dai-cells property

'#sound-dai-cells' is required to properly interpret
the list of DAI specified in the 'sound-dai' property,
so add them to 'rockchip-spdif.yaml'

Signed-off-by: Johan Jonker <[email protected]>
---
Documentation/devicetree/bindings/sound/rockchip-spdif.yaml | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml b/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
index d1c72c8a5..0546fd4cc 100644
--- a/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
+++ b/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
@@ -57,6 +57,9 @@ properties:
The phandle of the syscon node for the GRF register.
Required property on RK3288.

+ "#sound-dai-cells":
+ const: 0
+
required:
- compatible
- reg
@@ -65,6 +68,7 @@ required:
- clock-names
- dmas
- dma-names
+ - "#sound-dai-cells"

if:
properties:
@@ -91,4 +95,5 @@ examples:
clock-names = "mclk", "hclk";
dmas = <&dmac1_s 8>;
dma-names = "tx";
+ #sound-dai-cells = <0>;
};
--
2.11.0

2020-03-24 13:36:42

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: sound: convert rockchip spdif bindings to yaml

On Tue, Mar 24, 2020 at 01:31:53PM +0100, Johan Jonker wrote:
> Current dts files with 'spdif' nodes are manually verified.
> In order to automate this process rockchip-spdif.txt
> has to be converted to yaml.

> Signed-off-by: Johan Jonker <[email protected]>
> ---
> Changed V2:
> dmas and dma-names layout

This is the second v2 you've sent of this today - it adds these but
drops Rob's ack?


Attachments:
(No filename) (409.00 B)
signature.asc (499.00 B)
Download all attachments

2020-03-24 13:41:51

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: sound: convert rockchip spdif bindings to yaml

Hi Mark,

Am Dienstag, 24. M?rz 2020, 14:35:06 CET schrieb Mark Brown:
> On Tue, Mar 24, 2020 at 01:31:53PM +0100, Johan Jonker wrote:
> > Current dts files with 'spdif' nodes are manually verified.
> > In order to automate this process rockchip-spdif.txt
> > has to be converted to yaml.
>
> > Signed-off-by: Johan Jonker <[email protected]>
> > ---
> > Changed V2:
> > dmas and dma-names layout
>
> This is the second v2 you've sent of this today

hmm at least when looking at my inbox ... I got one series for
spdif in v2 (this one) and one for i2s in v2. And yes they do look
somewhat identical in what they do but of course handle binding
changes for different controllers.

Heiko

> - it adds these but
> drops Rob's ack?
>




2020-03-24 13:42:27

by Johan Jonker

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: sound: convert rockchip spdif bindings to yaml

Hi Mark,

Today I send 2 sets. One for I2S and one for SPDIF.
'power-domains' is added in respons to robh answer to rockchip,vop.txt
conversion.

>> Hi,
>>
>> Question for robh:
>>
>> In the old txt situation we add/describe only properties that are used
>> by the driver/hardware itself. With yaml it also filters things in a
>> node that are used by other drivers like:
>>
>> assigned-clocks:
>> assigned-clock-rates:
>> power-domains:
>>
>> Should we add or not?
>
> Yes, only pinctrl properties are automatically added.
>
> We could change 'assigned-clocks', but for now I think they should be
> added.
>
> Rob


On 3/24/20 2:35 PM, Mark Brown wrote:
> On Tue, Mar 24, 2020 at 01:31:53PM +0100, Johan Jonker wrote:
>> Current dts files with 'spdif' nodes are manually verified.
>> In order to automate this process rockchip-spdif.txt
>> has to be converted to yaml.
>
>> Signed-off-by: Johan Jonker <[email protected]>
>> ---
>> Changed V2:
>> dmas and dma-names layout
>
> This is the second v2 you've sent of this today - it adds these but
> drops Rob's ack?
>

2020-03-24 13:45:38

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: sound: convert rockchip spdif bindings to yaml

On Tue, Mar 24, 2020 at 02:39:56PM +0100, Heiko St?bner wrote:
> Am Dienstag, 24. M?rz 2020, 14:35:06 CET schrieb Mark Brown:

> > This is the second v2 you've sent of this today

> hmm at least when looking at my inbox ... I got one series for
> spdif in v2 (this one) and one for i2s in v2. And yes they do look
> somewhat identical in what they do but of course handle binding
> changes for different controllers.

Ah, this is one reason why I complain about subject lines - the
extra dt-bindings at the front hides the difference in subject lines for
me.


Attachments:
(No filename) (572.00 B)
signature.asc (499.00 B)
Download all attachments

2020-03-31 20:01:17

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] dt-bindings: sound: convert rockchip spdif bindings to yaml

On Tue, 24 Mar 2020 13:31:53 +0100, Johan Jonker wrote:
> Current dts files with 'spdif' nodes are manually verified.
> In order to automate this process rockchip-spdif.txt
> has to be converted to yaml.
>
> Also rk3188.dtsi, rk3288.dtsi use an extra fallback string,
> so change this in the documentation.
>
> Changed:
> "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"
> "rockchip,rk3288-spdif", "rockchip,rk3066-spdif"
>
> Signed-off-by: Johan Jonker <[email protected]>
> ---
> Changed V2:
> dmas and dma-names layout
> ---
> .../devicetree/bindings/sound/rockchip-spdif.txt | 45 -----------
> .../devicetree/bindings/sound/rockchip-spdif.yaml | 94 ++++++++++++++++++++++
> 2 files changed, 94 insertions(+), 45 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/rockchip-spdif.txt
> create mode 100644 Documentation/devicetree/bindings/sound/rockchip-spdif.yaml
>

Reviewed-by: Rob Herring <[email protected]>

2020-03-31 20:03:00

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] dt-bindings: sound: rockchip-spdif: add #sound-dai-cells property

On Tue, 24 Mar 2020 13:31:54 +0100, Johan Jonker wrote:
> '#sound-dai-cells' is required to properly interpret
> the list of DAI specified in the 'sound-dai' property,
> so add them to 'rockchip-spdif.yaml'
>
> Signed-off-by: Johan Jonker <[email protected]>
> ---
> Documentation/devicetree/bindings/sound/rockchip-spdif.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>

Reviewed-by: Rob Herring <[email protected]>