[PATCH next 1/6] dt-bindings: soc: ti: k3-ringacc: convert bindings to json-schema
Grygorii Strashko
grygorii.strashko at ti.com
Wed Jul 15 05:40:11 EDT 2020
Hi Rob,
On 01/07/2020 13:30, Grygorii Strashko wrote:
> Convert the K3 NavigatorSS Ring Accelerator bindings documentation to
> json-schema.
>
> Cc: Rob Herring <robh+dt at kernel.org>
> Signed-off-by: Grygorii Strashko <grygorii.strashko at ti.com>
> ---
> .../devicetree/bindings/soc/ti/k3-ringacc.txt | 59 ----------
> .../bindings/soc/ti/k3-ringacc.yaml | 102 ++++++++++++++++++
> 2 files changed, 102 insertions(+), 59 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/soc/ti/k3-ringacc.txt
> create mode 100644 Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml
>
> diff --git a/Documentation/devicetree/bindings/soc/ti/k3-ringacc.txt b/Documentation/devicetree/bindings/soc/ti/k3-ringacc.txt
> deleted file mode 100644
> index 59758ccce809..000000000000
> --- a/Documentation/devicetree/bindings/soc/ti/k3-ringacc.txt
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -* Texas Instruments K3 NavigatorSS Ring Accelerator
> -
> -The Ring Accelerator (RA) is a machine which converts read/write accesses
> -from/to a constant address into corresponding read/write accesses from/to a
> -circular data structure in memory. The RA eliminates the need for each DMA
> -controller which needs to access ring elements from having to know the current
> -state of the ring (base address, current offset). The DMA controller
> -performs a read or write access to a specific address range (which maps to the
> -source interface on the RA) and the RA replaces the address for the transaction
> -with a new address which corresponds to the head or tail element of the ring
> -(head for reads, tail for writes).
> -
> -The Ring Accelerator is a hardware module that is responsible for accelerating
> -management of the packet queues. The K3 SoCs can have more than one RA instances
> -
> -Required properties:
> -- compatible : Must be "ti,am654-navss-ringacc";
> -- reg : Should contain register location and length of the following
> - named register regions.
> -- reg-names : should be
> - "rt" - The RA Ring Real-time Control/Status Registers
> - "fifos" - The RA Queues Registers
> - "proxy_gcfg" - The RA Proxy Global Config Registers
> - "proxy_target" - The RA Proxy Datapath Registers
> -- ti,num-rings : Number of rings supported by RA
> -- ti,sci-rm-range-gp-rings : TI-SCI RM subtype for GP ring range
> -- ti,sci : phandle on TI-SCI compatible System controller node
> -- ti,sci-dev-id : TI-SCI device id of the ring accelerator
> -- msi-parent : phandle for "ti,sci-inta" interrupt controller
> -
> -Optional properties:
> - -- ti,dma-ring-reset-quirk : enable ringacc / udma ring state interoperability
> - issue software w/a
> -
> -Example:
> -
> -ringacc: ringacc at 3c000000 {
> - compatible = "ti,am654-navss-ringacc";
> - reg = <0x0 0x3c000000 0x0 0x400000>,
> - <0x0 0x38000000 0x0 0x400000>,
> - <0x0 0x31120000 0x0 0x100>,
> - <0x0 0x33000000 0x0 0x40000>;
> - reg-names = "rt", "fifos",
> - "proxy_gcfg", "proxy_target";
> - ti,num-rings = <818>;
> - ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */
> - ti,dma-ring-reset-quirk;
> - ti,sci = <&dmsc>;
> - ti,sci-dev-id = <187>;
> - msi-parent = <&inta_main_udmass>;
> -};
> -
> -client:
> -
> -dma_ipx: dma_ipx@<addr> {
> - ...
> - ti,ringacc = <&ringacc>;
> - ...
> -}
> diff --git a/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml b/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml
> new file mode 100644
> index 000000000000..ae33fc957141
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/ti/k3-ringacc.yaml
> @@ -0,0 +1,102 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/soc/ti/k3-ringacc.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Texas Instruments K3 NavigatorSS Ring Accelerator
> +
> +maintainers:
> + - Santosh Shilimkar <ssantosh at kernel.org>
> + - Grygorii Strashko <grygorii.strashko at ti.com>
> +
> +description: |
> + The Ring Accelerator (RA) is a machine which converts read/write accesses
> + from/to a constant address into corresponding read/write accesses from/to a
> + circular data structure in memory. The RA eliminates the need for each DMA
> + controller which needs to access ring elements from having to know the current
> + state of the ring (base address, current offset). The DMA controller
> + performs a read or write access to a specific address range (which maps to the
> + source interface on the RA) and the RA replaces the address for the transaction
> + with a new address which corresponds to the head or tail element of the ring
> + (head for reads, tail for writes).
> +
> + The Ring Accelerator is a hardware module that is responsible for accelerating
> + management of the packet queues. The K3 SoCs can have more than one RA instances
> +
> +properties:
> + compatible:
> + items:
> + - const: ti,am654-navss-ringacc
> +
> + reg:
> + items:
> + - description: real time registers regions
> + - description: fifos registers regions
> + - description: proxy gcfg registers regions
> + - description: proxy target registers regions
> +
> + reg-names:
> + items:
> + - const: rt
> + - const: fifos
> + - const: proxy_gcfg
> + - const: proxy_target
> +
> + msi-parent: true
> +
> + ti,num-rings:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Number of rings supported by RA
> +
> + ti,sci-rm-range-gp-rings:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: TI-SCI RM subtype for GP ring range
> +
> + ti,sci:
> + $ref: /schemas/types.yaml#definitions/phandle-array
> + description: phandle on TI-SCI compatible System controller node
> +
> + ti,sci-dev-id:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: TI-SCI device id of the ring accelerator
> +
> + ti,dma-ring-reset-quirk:
> + $ref: /schemas/types.yaml#definitions/flag
> + description: |
> + enable ringacc/udma ring state interoperability issue software w/a
> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - msi-parent
> + - ti,num-rings
> + - ti,sci-rm-range-gp-rings
> + - ti,sci
> + - ti,sci-dev-id
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + bus {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + ringacc: ringacc at 3c000000 {
> + compatible = "ti,am654-navss-ringacc";
> + reg = <0x0 0x3c000000 0x0 0x400000>,
> + <0x0 0x38000000 0x0 0x400000>,
> + <0x0 0x31120000 0x0 0x100>,
> + <0x0 0x33000000 0x0 0x40000>;
> + reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target";
> + ti,num-rings = <818>;
> + ti,sci-rm-range-gp-rings = <0x2>; /* GP ring range */
> + ti,dma-ring-reset-quirk;
> + ti,sci = <&dmsc>;
> + ti,sci-dev-id = <187>;
> + msi-parent = <&inta_main_udmass>;
> + };
> + };
>
I'd be very appreciated if you can provide your feedback here.
--
Best regards,
grygorii
More information about the linux-arm-kernel
mailing list