Enable Service layer driver for Agilex5
Subsystems (2)
v2 cover Enable Service layer driver for Agilex5
This patch series introduces support for the Agilex5 service layer driver (SVC) in the Linux kernel. The changes span across device tree bindings, platform DTS files, and the Stratix10 SVC firmware driver.
These changes are necessary to enable firmware communication on Agilex5 SoCs via the SVC interface, similar to existing support for Stratix10 and Agilex platforms.
Although Agilex5 shares architectural similarities with Agilex, there are key differences in firmware interface behavior and hardware configuration that necessitate a distinct compatible string. Using "intel,agilex5-svc" allows the kernel to correctly identify and handle Agilex5-specific SVC operations, ensuring proper initialization and future extensibility without conflating it with Agilex or Stratix10 platforms.
---
Changes in v2:
- Add driver changes for Agilex5-svc compatible
- Add cover letter for the series
---
Khairul Anuar Romli (3):
dt-bindings: firmware: Add Agilex5 SVC compatible string
arm64: dts: intel: Add Agilex5 SVC node with memory region
firmware: stratix10-svc: add the compatible value for Agilex5
.../devicetree/bindings/firmware/intel,stratix10-svc.yaml | 1 + arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 8 ++++++++ drivers/firmware/stratix10-svc.c | 1 + 3 files changed, 10 insertions(+)
Signature · 1 line
2.43.7
PATCH v2 1/3 dt-bindings: firmware: Add Agilex5 SVC compatible string
Enable support for the Agilex5 SoC in the Stratix10 Service Layer (SVC) by adding the new compatible string "intel,agilex5-svc" to the device tree bindings.
This allows distinguishing Agilex5 from earlier SoC generations, as it uses a different mechanism for handling reserved memory regions.
---
Changes in v2:
- Reprase commit message to exclude iommu
--- .../devicetree/bindings/firmware/intel,stratix10-svc.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/firmware/intel,stratix10-svc.yaml +1 -0
@@ -34,6 +34,7 @@ properties: enum: - intel,stratix10-svc - intel,agilex-svc + - intel,agilex5-svc method: description: |
Signature · 1 line
2.43.7
Re: [PATCH v2 1/3] dt-bindings: firmware: Add Agilex5 SVC compatible string
Quoted 11 lines · Khairul Anuar Romli
Enable support for the Agilex5 SoC in the Stratix10 Service Layer (SVC) by adding the new compatible string "intel,agilex5-svc" to the device tree bindings.
This allows distinguishing Agilex5 from earlier SoC generations, as it uses a different mechanism for handling reserved memory regions.
Signed-off-by Khairul Anuar Romli <[email protected]>---
Changes in v2:
- Reprase commit message to exclude iommu
Last time you said there is a iommu, so please post complete bindings. See also writing-bindings doc.
Best regards,
Krzysztof
PATCH v2 2/3 arm64: dts: intel: Add Agilex5 SVC node with memory region
In reply to Khairul Anuar RomliIntroduce the Stratix10 SoC Service Layer (SVC) node for Agilex5 SoCs. This node includes the compatible string "intel,agilex5-svc" and references a reserved memory region used for communication with the Secure Device Manager (SDM).
Agilex5 introduces changes in how reserved memory is mapped and accessed compared to previous SoC generations. This commit updates the device tree structure to support Agilex5-specific handling of the SVC interface.
---
Changes in v2:
- Rephrase commit message to exclude mentioning iommu
- Remove iommu property from svc node
--- arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+)
arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi +8 -0
@@ -841,5 +841,13 @@ queue7 { }; }; }; + + firmware { + svc { + compatible = "intel,agilex5-svc"; + method = "smc"; + memory-region = <&service_reserved>; + }; + }; }; };
Signature · 1 line
2.43.7
PATCH v2 3/3 firmware: stratix10-svc: add the compatible value for Agilex5
In reply to Khairul Anuar RomliAdd the compatible property value so we can reuse Intel Stratix10 Service Layer driver on Intel Agilex5 SoC platform.
This addition is an initial Agilex5 service layer driver enablement that will involve adding IOMMU changes in the future.
---
Changes in v2:
- Add driver compatible for Agilex5-svc
--- drivers/firmware/stratix10-svc.c | 1 + 1 file changed, 1 insertion(+)
drivers/firmware/stratix10-svc.c +1 -0
@@ -1117,6 +1117,7 @@ EXPORT_SYMBOL_GPL(stratix10_svc_free_memory);static const struct of_device_id stratix10_svc_drv_match[] = { {.compatible ="intel,stratix10-svc" }, {.compatible ="intel,agilex-svc" }, + {.compatible ="intel,agilex5-svc" }, {}, };
Signature · 1 line
2.43.7
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
Quoted 19 lines · Khairul Anuar Romli
Add the compatible property value so we can reuse Intel Stratix10 Service Layer driver on Intel Agilex5 SoC platform.
This addition is an initial Agilex5 service layer driver enablement that will involve adding IOMMU changes in the future.
Signed-off-by Khairul Anuar Romli <[email protected]>---
Changes in v2:
- Add driver compatible for Agilex5-svc--- drivers/firmware/stratix10-svc.c | 1 + 1 file changed, 1 insertion(+)drivers/firmware/stratix10-svc.c +0
-0
drivers/firmware/stratix10-svc.c EXPORT_SYMBOL_GPL(stratix10_svc_free_memory); · line 1120
Quoted 4 lines
drivers/firmware/stratix10-svc.c +1
-0@@ -1117,6 +1117,7 @@ EXPORT_SYMBOL_GPL(stratix10_svc_free_memory);static const struct of_device_id stratix10_svc_drv_match[] = { {.compatible ="intel,stratix10-svc" }, {.compatible ="intel,agilex-svc" }, + {.compatible ="intel,agilex5-svc" },
So device is fully compatible - drop this change and express compatibility in the bindings (see writing bindings, writing schema or slides from my last OSSE talk).
Best regards,
Krzysztof
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
In reply to Khairul Anuar RomliQuoted 5 lines · Khairul Anuar Romli
Add the compatible property value so we can reuse Intel Stratix10 Service Layer driver on Intel Agilex5 SoC platform.
This addition is an initial Agilex5 service layer driver enablement that will involve adding IOMMU changes in the future.
Heh, your bindings said now there is no iommu. Can you please read writing bindings before you post next version?
Best regards,
Krzysztof
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
Quoted 4 lines · Krzysztof Kozlowski
Quoted 3 lines · Khairul Anuar Romli
Add the compatible property value so we can reuse Intel Stratix10 Service Layer driver on Intel Agilex5 SoC platform.
Quoted 9 lines
Quoted 2 lines
This addition is an initial Agilex5 service layer driver enablement that will involve adding IOMMU changes in the future.
Heh, your bindings said now there is no iommu. Can you please read writing bindings before you post next version?
Best regards,
Krzysztof
I was excluding the iommu in the current patch series, not that I meant there is no iommu. It was meant for the future patches that will include iommu property and how it is being implemented in the driver.
I will go around to have peer review before sending the next revision.
Best Regards,
Khairul
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
Quoted 8 lines · Khairul Anuar
Quoted 7 lines · Krzysztof Kozlowski
Quoted 5 lines · Khairul Anuar Romli
Add the compatible property value so we can reuse Intel Stratix10 Service Layer driver on Intel Agilex5 SoC platform.
This addition is an initial Agilex5 service layer driver enablement that will involve adding IOMMU changes in the future.
Quoted 8 lines
Quoted 6 lines
Heh, your bindings said now there is no iommu. Can you please read writing bindings before you post next version?
Best regards,
KrzysztofI was excluding the iommu in the current patch series, not that I meant there is no iommu. It was meant for the future patches that will include
Read your bindings again. They clearly do not list IOMMU, meaning there is no IOMMU.
Best regards,
Krzysztof
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
Quoted 15 lines · Krzysztof Kozlowski
Quoted 14 lines · Khairul Anuar
Quoted 13 lines · Krzysztof Kozlowski
Quoted 5 lines · Khairul Anuar Romli
Add the compatible property value so we can reuse Intel Stratix10 Service Layer driver on Intel Agilex5 SoC platform.
This addition is an initial Agilex5 service layer driver enablement that will involve adding IOMMU changes in the future.
Heh, your bindings said now there is no iommu. Can you please read writing bindings before you post next version?
Best regards,
Krzysztof
Quoted 8 lines
Quoted 2 lines
I was excluding the iommu in the current patch series, not that I meant there is no iommu. It was meant for the future patches that will include
Read your bindings again. They clearly do not list IOMMU, meaning there is no IOMMU.
Best regards,
Krzysztof
I will add that in the next revision also after going through
https://www.kernel.org/doc/Documentation/devicetree/bindings/writing-bindings.rst
One question, if the property only meant for a specific compatible, do you accept the logical "if" statement to ensure that the property only for specific device but not others?
Thanks.
Best Regards,
Khairul
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
Quoted 10 lines · Khairul Anuar
Quoted 8 lines · Krzysztof Kozlowski
Quoted 2 lines
I was excluding the iommu in the current patch series, not that I meant there is no iommu. It was meant for the future patches that will include
Read your bindings again. They clearly do not list IOMMU, meaning there is no IOMMU.
Best regards,
Krzysztof
Quoted 6 lines
I will add that in the next revision also after going through
https://www.kernel.org/doc/Documentation/devicetree/bindings/writing-bindings.rstOne question, if the property only meant for a specific compatible, do you accept the logical "if" statement to ensure that the property only for specific device but not others?
Yes, see example-schema how to do it (and property is always described in top-level).
Best regards,
Krzysztof
Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5
Quoted 18 lines · Krzysztof Kozlowski
Quoted 10 lines · Khairul Anuar
Quoted 8 lines · Krzysztof Kozlowski
Quoted 2 lines
I was excluding the iommu in the current patch series, not that I meant there is no iommu. It was meant for the future patches that will include
Read your bindings again. They clearly do not list IOMMU, meaning there is no IOMMU.
Best regards,
KrzysztofQuoted 6 lines
I will add that in the next revision also after going through
https://www.kernel.org/doc/Documentation/devicetree/bindings/writing-bindings.rstOne question, if the property only meant for a specific compatible, do you accept the logical "if" statement to ensure that the property only for specific device but not others?
Quoted 5 lines
Yes, see example-schema how to do it (and property is always described in top-level).
Best regards,
Krzysztof
Great, I will see the example-schema and also go through the already implemented bindings that has the relevant changes.
Thanks.
Best Regards,
Khairul