Skip to contentSkip to conversation

Enable Service layer driver for Agilex5

PATCH Superseded Khairul Anuar Romli 2 participants 12 messages Oct 30, 2025 – Oct 31, 2025

Subsystems (2)

v2 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index fac1e955852e..90b4c00e3079 100644
@@ -34,6 +34,7 @@ properties:
     enum:
       - intel,stratix10-svc
       - intel,agilex-svc
+      - intel,agilex5-svc
 
   method:
     description: |
Signature · 1 line
2.43.7
#2 lore raw

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.

---
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

#3 lore raw

PATCH v2 2/3 arm64: dts: intel: Add Agilex5 SVC node with memory region

In reply to Khairul Anuar Romli

Introduce 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
index a13ccee3c4c3..a003720b2995 100644
@@ -841,5 +841,13 @@ queue7 {
 				};
 			};
 		};
+
+		firmware {
+			svc {
+				compatible = "intel,agilex5-svc";
+				method = "smc";
+				memory-region = <&service_reserved>;
+			};
+		};
 	};
 };
Signature · 1 line
2.43.7
#4 lore raw

PATCH v2 3/3 firmware: stratix10-svc: add the compatible value for Agilex5

In reply to 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.

---
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
index e3f990d888d7..afc6c8b43e98 100644
@@ -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
#5 lore raw

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.

---
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
index e3f990d888d7..afc6c8b43e98 100644

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

#6 lore raw

Re: [PATCH v2 3/3] firmware: stratix10-svc: add the compatible value for Agilex5

In reply to Khairul Anuar Romli
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

#7 lore raw

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

#8 lore raw

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,
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

Read your bindings again. They clearly do not list IOMMU, meaning there is no IOMMU.

Best regards,
Krzysztof

#9 lore raw

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

#10 lore raw

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.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?

Yes, see example-schema how to do it (and property is always described in top-level).

Best regards,
Krzysztof

#11 lore raw

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,
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.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?

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