dt-bindings: socfpga: Add the Agilex7 series SoC's
PATCH 1/2 dt-bindings: socfpga: Add the Agilex7 series SoC's
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)
Documentation/devicetree/bindings/arm/altera.yaml +10 -0
@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5 + - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk + - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilex + - description: SoCFPGA VT items: - const: altr,socfpga-vt
Signature · 1 line
2.42.0.411.g813d9a9188
PATCH 2/2 arm64: dts: Add SoCFPGA Agilex7M devkit
The Agilex7-M SoCDK is largely compatible with the Agilex SoCDK. Reuse the existing Agilex device tree while disabling the QSPI controller, which is not present on Agilex7-M.
--- arch/arm64/boot/dts/intel/Makefile | 1 + .../boot/dts/intel/socfpga_agilex7m_socdk.dts | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 arch/arm64/boot/dts/intel/socfpga_agilex7m_socdk.dts
arch/arm64/boot/dts/intel/Makefile +1 -0
@@ -8,5 +8,6 @@ dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga_agilex_n6000.dtb \ socfpga_agilex5_socdk_013b.dtb \ socfpga_agilex5_socdk_modular.dtb \ socfpga_agilex5_socdk_nand.dtb \ + socfpga_agilex7m_socdk.dtb \ socfpga_n5x_socdk.dtb dtb-$(CONFIG_ARCH_KEEMBAY) += keembay-evm.dtb
arch/arm64/boot/dts/intel/socfpga_agilex7m_socdk.dts new file +15 -0
@@ -0,0 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +// Copyright (c) 2023 Intel Corporation + +#include "socfpga_agilex_socdk.dts" + +/ { + model = "Intel SoCFPGA Agilex7-M SoCDK"; + compatible = "intel,socfpga-agilex7m-socdk", + "intel,socfpga-agilex7m", + "intel,socfpga-agilex"; +}; + +&qspi { + status = "disabled"; +};
Signature · 1 line
2.42.0.411.g813d9a9188
Quoted 2 lines · Dinh Nguyen
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
SoCs?
Quoted 2 lines
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports
Please run scripts/checkpatch.pl on the patches and fix reported warnings. After that, run also 'scripts/checkpatch.pl --strict' on the patches and (probably) fix more warnings. Some warnings can be ignored, especially from --strict run, but the code here looks like it needs a fix. Feel free to get in touch if the warning is not clear.
Quoted 16 lines
PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
Signed-off-by Dinh Nguyen <[email protected]>--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)Documentation/devicetree/bindings/arm/altera.yaml +0
-0
Documentation/devicetree/bindings/arm/altera.yaml properties: · line 121
Quoted 7 lines
Documentation/devicetree/bindings/arm/altera.yaml +4
-0@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5 + - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk
Why does "7m-socdk" go with "7i" and "7m"? If these are SoCs, then board using soc 7m cannot use 7i or 7f fallback.
Or board is not using 7m SoC, but then the name is misleading.
Documentation/devicetree/bindings/arm/altera.yaml properties: · line 126
Quoted 5 lines
Documentation/devicetree/bindings/arm/altera.yaml +5
-0+ - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilex
Best regards,
Krzysztof
Quoted 22 lines · Dinh Nguyen
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
Signed-off-by Dinh Nguyen <[email protected]>--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)Documentation/devicetree/bindings/arm/altera.yaml +0
-0@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5
Documentation/devicetree/bindings/arm/altera.yaml properties: · line 126
Quoted 10 lines
Documentation/devicetree/bindings/arm/altera.yaml +9
-0+ - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk + - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilex
And separate question - why previous soc "agilex" is used as fallback? Even more confusing.
Best regards,
Krzysztof
Quoted 24 lines · Krzysztof Kozlowski
Quoted 23 lines · Dinh Nguyen
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
Signed-off-by Dinh Nguyen <[email protected]>--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)Documentation/devicetree/bindings/arm/altera.yaml +0
-0@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5
Quoted 13 lines
Documentation/devicetree/bindings/arm/altera.yaml properties: · line 126
Quoted 9 lines
Documentation/devicetree/bindings/arm/altera.yaml +9
-0+ - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk + - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilexAnd separate question - why previous soc "agilex" is used as fallback? Even more confusing.
You're right. Sorry for the confusion. The Agilex7M, I, F devices are basically "agilex" devices with some few additions (PCIE, DDR5). Maybe I should place the Agilex7M/I/F devices into the "agilex" boards area?
Thanks,
Dinh
Quoted 41 lines · Dinh Nguyen
Quoted 24 lines · Krzysztof Kozlowski
Quoted 23 lines · Dinh Nguyen
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
Signed-off-by Dinh Nguyen <[email protected]>--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)Documentation/devicetree/bindings/arm/altera.yaml +0
-0@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5Quoted 13 lines
Documentation/devicetree/bindings/arm/altera.yaml properties: · line 126
Quoted 9 lines
Documentation/devicetree/bindings/arm/altera.yaml +9
-0+ - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk + - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilexAnd separate question - why previous soc "agilex" is used as fallback? Even more confusing.
Quoted 3 lines
You're right. Sorry for the confusion. The Agilex7M, I, F devices are basically "agilex" devices with some few additions (PCIE, DDR5). Maybe I should place the Agilex7M/I/F devices into the "agilex" boards area?
Compatibles should be specific and not based on families, thus what is "intel,socfpga-agilex"? SoC, right?
Then "intel,socfpga-agilex7f" is a new SoC, no?
Best regards,
Krzysztof
Quoted 42 lines · Krzysztof Kozlowski
Quoted 41 lines · Dinh Nguyen
Quoted 37 lines · Krzysztof Kozlowski
Quoted 22 lines · Dinh Nguyen
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
Signed-off-by Dinh Nguyen <[email protected]>--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)Documentation/devicetree/bindings/arm/altera.yaml +0
-0@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5Documentation/devicetree/bindings/arm/altera.yaml properties: · line 126
Quoted 10 lines
Documentation/devicetree/bindings/arm/altera.yaml +9
-0+ - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk + - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilexAnd separate question - why previous soc "agilex" is used as fallback? Even more confusing.
Quoted 9 lines
Quoted 3 lines
You're right. Sorry for the confusion. The Agilex7M, I, F devices are basically "agilex" devices with some few additions (PCIE, DDR5). Maybe I should place the Agilex7M/I/F devices into the "agilex" boards area?
Compatibles should be specific and not based on families, thus what is "intel,socfpga-agilex"? SoC, right?
Then "intel,socfpgaa-agilex7f" is a new SoC, no?
The Agilex7 is re-branded name for the original Agilex soc,
"intel, socfga-agilex". From a software perspective, they are the same device. I looked over the commits to see how I could handle a rebranding, but couldn't come up with a conclusion.
I could create a new SoC like you've suggested:
+ - description: Agilex7m boards
+ items:
+ - enum:
+ - altr,socfpga-agilex7m-socdk
+ - const: altr,socfpga-agilex7m
+ - const: altr,socfpga-agilex7
Or I can use the original "intel,socfpga-agilex"?
+ - description: Agilex7m boards
+ items:
+ - enum:
+ - altr,socfpga-agilex7m-socdk
+ - const: altr,socfpga-agilex7m
+ - const: altr,socfpga-agilex
If I create a new "altr,socfpga-agilex7" binding, then I would have to add the new binding to a few drivers. But if I use the original "intel,socfpga-agilex", then no drivers will need to be updated.
Thanks,
Dinh
Quoted 52 lines · Dinh Nguyen
Quoted 49 lines · Krzysztof Kozlowski
Quoted 41 lines · Dinh Nguyen
Quoted 24 lines · Krzysztof Kozlowski
Quoted 23 lines · Dinh Nguyen
The Agilex7 is a series of devices from Altera that are derived from the Agilex family.
The Agilex7F device supports PCIE 4.0 and DDR4. The Agilex7I device supports PCIE 5.0 and DDR4, while the Agilex7M device supports DDR4, DDR5, LPDDR5 and PCIE 5.0.
All other peripherals from these devices are the same as the Agilex device.
Signed-off-by Dinh Nguyen <[email protected]>--- Documentation/devicetree/bindings/arm/altera.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)Documentation/devicetree/bindings/arm/altera.yaml +0
-0@@ -115,6 +115,16 @@ properties: - intel,socfpga-agilex5-socdk-nand - const: intel,socfpga-agilex5Quoted 13 lines
Documentation/devicetree/bindings/arm/altera.yaml properties: · line 126
Quoted 9 lines
Documentation/devicetree/bindings/arm/altera.yaml +9
-0+ - description: Agilex7 series F, I and M boards + items: + - enum: + - intel,socfpga-agilex7m-socdk + - enum: + - intel,socfpga-agilex7f + - intel,socfpga-agilex7i + - intel,socfpga-agilex7m + - const: intel,socfpga-agilexAnd separate question - why previous soc "agilex" is used as fallback? Even more confusing.
Quoted 3 lines
You're right. Sorry for the confusion. The Agilex7M, I, F devices are basically "agilex" devices with some few additions (PCIE, DDR5). Maybe I should place the Agilex7M/I/F devices into the "agilex" boards area?
Compatibles should be specific and not based on families, thus what is "intel,socfpga-agilex"? SoC, right?
Quoted 7 lines
Quoted 2 lines
Then "intel,socfpgaa-agilex7f" is a new SoC, no?
The Agilex7 is re-branded name for the original Agilex soc, "intel, socfga-agilex". From a software perspective, they are the same device. I looked over the commits to see how I could handle a rebranding, but couldn't come up with a conclusion.
The family does not matter. What is "socfga-agilex"? One given soc. Not a family.
Review
Quoted 9 lines
I could create a new SoC like you've suggested:
(quoted diff) +6
-0+ - description: Agilex7m boards + items: + - enum: + - altr,socfpga-agilex7m-socdk + - const: altr,socfpga-agilex7m + - const: altr,socfpga-agilex7
So what is "altr,socfpga-agilex7"? Why SoC has two compatibles?
Review
Quoted 9 lines
Or I can use the original "intel,socfpga-agilex"?
(quoted diff) +6
-0+ - description: Agilex7m boards + items: + - enum: + - altr,socfpga-agilex7m-socdk + - const: altr,socfpga-agilex7m + - const: altr,socfpga-agilex
But why? Why are you using one SoC compatible in other context? It's really no different than all other SoCs.
Quoted 4 lines
If I create a new "altr,socfpga-agilex7" binding, then I would have to add the new binding to a few drivers. But if I use the original "intel,socfpga-agilex", then no drivers will need to be updated.
You anyway MUST have new binding for each device. Please carefully follow writing bindings and DTS 101.
Best regards,
Krzysztof