[PATCH v5 1/2] dt-bindings: arm: aspeed: Add aspeed,video binding

Jammy Huang posted 2 patches 1 year, 5 months ago
There is a newer version of this series
[PATCH v5 1/2] dt-bindings: arm: aspeed: Add aspeed,video binding
Posted by Jammy Huang 1 year, 5 months ago
The Video Engine block in ASPEED Silicon SoCs is responsible for video
compressions with a wide range of video quality and compression
ratio options. It can capture and compress video data from digital or
analog sources.

Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
---
 .../bindings/arm/aspeed/aspeed,video.yaml     | 81 +++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml

diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml
new file mode 100644
index 000000000000..bef7bd2f310a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/aspeed/aspeed,video.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ASPEED Video Engine
+
+maintainers:
+  - Eddie James <eajames@linux.ibm.com>
+  - Jammy Huang <jammy_huang@aspeedtech.com>
+
+description: |
+  The ASPEED video engine can be configured to capture and compress video
+  data from digital or analog sources.
+
+select:
+  properties:
+    compatible:
+      pattern: "^aspeed,ast[0-9]+-video-engine$"
+  required:
+    - compatible
+
+properties:
+  compatible:
+    oneOf:
+      - description: Preferred naming style for compatibles of video components
+        pattern: "^aspeed,ast[0-9]+-video-engine$"
+
+      - enum:
+          - aspeed,ast2400-video-engine
+          - aspeed,ast2500-video-engine
+          - aspeed,ast2600-video-engine
+
+  reg:
+    minItems: 1
+
+  clocks:
+    minItems: 2
+
+  clock-names:
+    items:
+      - const: vclk
+      - const: eclk
+
+  interrupts:
+    minItems: 1
+
+  aspeed,scu:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: |
+      Specifies the scu node that is needed if video wants to capture
+      from sources other than Host VGA.
+
+  aspeed,gfx:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description: |
+      Specifies the Soc Display(gfx) node that needs to be queried to get
+      related information if video wants to use gfx as capture source.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - interrupts
+
+additionalProperties: true
+
+examples:
+  - |
+    video: video@1e700000 {
+          	compatible = "aspeed,ast2600-video-engine";
+          	reg = <0x1e700000 0x1000>;
+          	clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
+          	         <&syscon ASPEED_CLK_GATE_ECLK>;
+          	clock-names = "vclk", "eclk";
+          	interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+          	aspeed,scu = <&syscon>;
+          	aspeed,gfx = <&gfx>;
+    };
-- 
2.25.1
Re: [PATCH v5 1/2] dt-bindings: arm: aspeed: Add aspeed,video binding
Posted by Krzysztof Kozlowski 1 year, 5 months ago
On Mon, Aug 19, 2024 at 04:08:58PM +0800, Jammy Huang wrote:
> The Video Engine block in ASPEED Silicon SoCs is responsible for video
> compressions with a wide range of video quality and compression
> ratio options. It can capture and compress video data from digital or
> analog sources.
> 
> Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
> ---
>  .../bindings/arm/aspeed/aspeed,video.yaml     | 81 +++++++++++++++++++

Why are you adding duplicated binding? Please read the first comments -
you need to first convert TXT to DT schema. Then you add new properties
in a new patch.

>  1 file changed, 81 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml
> new file mode 100644
> index 000000000000..bef7bd2f310a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed,video.yaml

Filename matching compatible.

> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/aspeed/aspeed,video.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ASPEED Video Engine

ASPEED or Aspeed?

> +
> +maintainers:
> +  - Eddie James <eajames@linux.ibm.com>
> +  - Jammy Huang <jammy_huang@aspeedtech.com>
> +
> +description: |

Drop |

> +  The ASPEED video engine can be configured to capture and compress video
> +  data from digital or analog sources.
> +
> +select:
> +  properties:
> +    compatible:
> +      pattern: "^aspeed,ast[0-9]+-video-engine$"
> +  required:
> +    - compatible

Drop entire select. No clue what is this.

> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - description: Preferred naming style for compatibles of video components
> +        pattern: "^aspeed,ast[0-9]+-video-engine$"

???

No, drop.

> +
> +      - enum:
> +          - aspeed,ast2400-video-engine
> +          - aspeed,ast2500-video-engine
> +          - aspeed,ast2600-video-engine
> +
> +  reg:
> +    minItems: 1

No, maxItems.

> +
> +  clocks:
> +    minItems: 2

No. maxItems.

> +
> +  clock-names:
> +    items:
> +      - const: vclk
> +      - const: eclk
> +
> +  interrupts:
> +    minItems: 1

maxItems

> +
> +  aspeed,scu:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: |
> +      Specifies the scu node that is needed if video wants to capture
> +      from sources other than Host VGA.
> +
> +  aspeed,gfx:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: |
> +      Specifies the Soc Display(gfx) node that needs to be queried to get
> +      related information if video wants to use gfx as capture source.
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +  - interrupts
> +
> +additionalProperties: true

NAK, this cannot be true. Where do you see any device binding having it
true?


> +
> +examples:
> +  - |
> +    video: video@1e700000 {

Drop unused label

> +          	compatible = "aspeed,ast2600-video-engine";

Fix indentation, this is supposed 4 spaces.