[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250131152636.GA3454395-robh@kernel.org>
Date: Fri, 31 Jan 2025 09:26:36 -0600
From: Rob Herring <robh@...nel.org>
To: Mahesh Rao <mahesh.rao@...el.com>
Cc: Moritz Fischer <mdf@...nel.org>, Xu Yilun <yilun.xu@...el.com>,
Tom Rix <trix@...hat.com>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Dinh Nguyen <dinguyen@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Wu Hao <hao.wu@...el.com>, Ho Yin <adrian.ho.yin.ng@...era.com>,
Niravkumar L Rabara <nirav.rabara@...era.com>,
linux-fpga@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Mahesh Rao <mahesh.rao@...era.com>
Subject: Re: [PATCH v2 2/3] dt-bindings: firmware: stratix10: Convert to
json-schema
On Fri, Jan 31, 2025 at 06:17:25PM +0800, Mahesh Rao wrote:
> Convert intel,stratix10-svc service layer devicetree
> binding file from freeform format to json-schema.
>
> Also added DT binding for optional stratix10-soc
> FPGA manager child node.
>
> Signed-off-by: Mahesh Rao <mahesh.rao@...el.com>
> ---
> .../bindings/firmware/intel,stratix10-svc.txt | 57 -------------
> .../bindings/firmware/intel,stratix10-svc.yaml | 94 ++++++++++++++++++++++
> 2 files changed, 94 insertions(+), 57 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt b/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt
> deleted file mode 100644
> index 6eff1afd8daf91714d6a18859667d2607e707da7..0000000000000000000000000000000000000000
> --- a/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -Intel Service Layer Driver for Stratix10 SoC
> -============================================
> -Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard
> -processor system (HPS) and Secure Device Manager (SDM). When the FPGA is
> -configured from HPS, there needs to be a way for HPS to notify SDM the
> -location and size of the configuration data. Then SDM will get the
> -configuration data from that location and perform the FPGA configuration.
> -
> -To meet the whole system security needs and support virtual machine requesting
> -communication with SDM, only the secure world of software (EL3, Exception
> -Layer 3) can interface with SDM. All software entities running on other
> -exception layers must channel through the EL3 software whenever it needs
> -service from SDM.
> -
> -Intel Stratix10 service layer driver, running at privileged exception level
> -(EL1, Exception Layer 1), interfaces with the service providers and provides
> -the services for FPGA configuration, QSPI, Crypto and warm reset. Service layer
> -driver also manages secure monitor call (SMC) to communicate with secure monitor
> -code running in EL3.
> -
> -Required properties:
> --------------------
> -The svc node has the following mandatory properties, must be located under
> -the firmware node.
> -
> -- compatible: "intel,stratix10-svc" or "intel,agilex-svc"
> -- method: smc or hvc
> - smc - Secure Monitor Call
> - hvc - Hypervisor Call
> -- memory-region:
> - phandle to the reserved memory node. See
> - Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
> - for details
> -
> -Example:
> --------
> -
> - reserved-memory {
> - #address-cells = <2>;
> - #size-cells = <2>;
> - ranges;
> -
> - service_reserved: svcbuffer@0 {
> - compatible = "shared-dma-pool";
> - reg = <0x0 0x0 0x0 0x1000000>;
> - alignment = <0x1000>;
> - no-map;
> - };
> - };
> -
> - firmware {
> - svc {
> - compatible = "intel,stratix10-svc";
> - method = "smc";
> - memory-region = <&service_reserved>;
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml b/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..e30e79d4c3150f90993e728320e9ef90d484a10d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml
> @@ -0,0 +1,94 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/firmware/intel,stratix10-svc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Intel Service Layer Driver for Stratix10 SoC
> +
> +maintainers:
> + - Dinh Nguyen <dinguyen@...nel.org>
> + - Mahesh Rao <mahesh.rao@...era.com>
> +
> +description:
You need '>' on the end to preserve paragraphs.
> + Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard
> + processor system (HPS) and Secure Device Manager (SDM). When the FPGA is
> + configured from HPS, there needs to be a way for HPS to notify SDM the
> + location and size of the configuration data. Then SDM will get the
> + configuration data from that location and perform the FPGA configuration.
> +
> + To meet the whole system security needs and support virtual machine requesting
> + communication with SDM, only the secure world of software (EL3, Exception
> + Layer 3) can interface with SDM. All software entities running on other
> + exception layers must channel through the EL3 software whenever it needs
> + service from SDM.
> +
> + Intel Stratix10 service layer driver, running at privileged exception level
> + (EL1, Exception Layer 1), interfaces with the service providers and provides
> + the services for FPGA configuration, QSPI, Crypto and warm reset. Service layer
> + driver also manages secure monitor call (SMC) to communicate with secure monitor
> + code running in EL3.
> +
> +properties:
> + compatible:
> + enum:
> + - intel,stratix10-svc
> + - intel,agilex-svc
> +
> + method:
> + description: |
> + Supervisory call method to be used to communicate with the
> + secure service layer.
> + Permitted values are:
> + - "smc" : SMC #0, following the SMCCC
> + - "hvc" : HVC #0, following the SMCCC
Indent by 2 more than 'description'.
> +
> + $ref: /schemas/types.yaml#/definitions/string-array
> + enum:
> + - smc
> + - hvc
> +
> + memory-region:
> + maxItems: 1
> + description:
> + phandle to a reserved memory region for the service layer driver to
> + communicate with the secure device manager. For more details see
> + Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt.
Please read what that file says.
> +
> + fpga-mgr:
> + $ref: /schemas/fpga/intel,stratix10-soc-fpga-mgr.yaml
> + description: Optional child node for fpga manager to perform fabric configuration.
> +
> +required:
> + - compatible
> + - method
> + - memory-region
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + reserved-memory {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + service_reserved: svcbuffer@0 {
> + compatible = "shared-dma-pool";
> + reg = <0x0 0x0 0x0 0x1000000>;
> + alignment = <0x1000>;
> + no-map;
> + };
> + };
> +
> + firmware {
> + svc {
> + compatible = "intel,stratix10-svc";
> + method = "smc";
> + memory-region = <&service_reserved>;
> +
> + fpga-mgr {
> + compatible = "intel,stratix10-soc-fpga-mgr";
> + };
> + };
> + };
> +
>
> --
> 2.35.3
>
Powered by blists - more mailing lists