* [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
@ 2024-12-05 9:06 ` Steffen Trumtrar
2024-12-05 10:48 ` Rob Herring (Arm)
2024-12-07 20:22 ` Andrew Lunn
2024-12-05 9:06 ` [PATCH v3 2/6] dt-bindings: net: dwmac: add compatible for Agilex5 Steffen Trumtrar
` (5 subsequent siblings)
6 siblings, 2 replies; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-05 9:06 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar
Changes to the binding while converting:
- add "snps,dwmac-3.7{0,2,4}a". They are used, but undocumented.
- altr,f2h_ptp_ref_clk is not a required property but optional.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
.../devicetree/bindings/net/socfpga-dwmac.txt | 57 ----------
.../devicetree/bindings/net/socfpga-dwmac.yaml | 119 +++++++++++++++++++++
2 files changed, 119 insertions(+), 57 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
deleted file mode 100644
index 612a8e8abc88774619f4fd4e9205a3dd32226a9b..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-Altera SOCFPGA SoC DWMAC controller
-
-This is a variant of the dwmac/stmmac driver an inherits all descriptions
-present in Documentation/devicetree/bindings/net/stmmac.txt.
-
-The device node has additional properties:
-
-Required properties:
- - compatible : For Cyclone5/Arria5 SoCs it should contain
- "altr,socfpga-stmmac". For Arria10/Agilex/Stratix10 SoCs
- "altr,socfpga-stmmac-a10-s10".
- Along with "snps,dwmac" and any applicable more detailed
- designware version numbers documented in stmmac.txt
- - altr,sysmgr-syscon : Should be the phandle to the system manager node that
- encompasses the glue register, the register offset, and the register shift.
- On Cyclone5/Arria5, the register shift represents the PHY mode bits, while
- on the Arria10/Stratix10/Agilex platforms, the register shift represents
- bit for each emac to enable/disable signals from the FPGA fabric to the
- EMAC modules.
- - altr,f2h_ptp_ref_clk use f2h_ptp_ref_clk instead of default eosc1 clock
- for ptp ref clk. This affects all emacs as the clock is common.
-
-Optional properties:
-altr,emac-splitter: Should be the phandle to the emac splitter soft IP node if
- DWMAC controller is connected emac splitter.
-phy-mode: The phy mode the ethernet operates in
-altr,sgmii-to-sgmii-converter: phandle to the TSE SGMII converter
-
-This device node has additional phandle dependency, the sgmii converter:
-
-Required properties:
- - compatible : Should be altr,gmii-to-sgmii-2.0
- - reg-names : Should be "eth_tse_control_port"
-
-Example:
-
-gmii_to_sgmii_converter: phy@100000240 {
- compatible = "altr,gmii-to-sgmii-2.0";
- reg = <0x00000001 0x00000240 0x00000008>,
- <0x00000001 0x00000200 0x00000040>;
- reg-names = "eth_tse_control_port";
- clocks = <&sgmii_1_clk_0 &emac1 1 &sgmii_clk_125 &sgmii_clk_125>;
- clock-names = "tse_pcs_ref_clk_clock_connection", "tse_rx_cdr_refclk";
-};
-
-gmac0: ethernet@ff700000 {
- compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
- altr,sysmgr-syscon = <&sysmgr 0x60 0>;
- reg = <0xff700000 0x2000>;
- interrupts = <0 115 4>;
- interrupt-names = "macirq";
- mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
- clocks = <&emac_0_clk>;
- clock-names = "stmmaceth";
- phy-mode = "sgmii";
- altr,gmii-to-sgmii-converter = <&gmii_to_sgmii_converter>;
-};
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml b/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..022d9eb7011d47666b140aaecf54541ca3dec0ec
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml
@@ -0,0 +1,119 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/socfpga-dwmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Altera SOCFPGA SoC DWMAC controller
+
+maintainers:
+ - Dinh Nguyen <dinguyen@altera.com>
+
+description:
+ This is a variant of the dwmac/stmmac driver an inherits all descriptions
+ present in Documentation/devicetree/bindings/net/stmmac.txt.
+
+# We need a select here so we don't match all nodes with 'snps,dwmac'
+select:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - altr,socfpga-stmmac # For Cyclone5/Arria5 SoCs
+ - altr,socfpga-stmmac-a10-s10 # For Arria10/Agilex/Stratix10 SoCs
+ required:
+ - compatible
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - altr,socfpga-stmmac
+ - const: snps,dwmac-3.70a
+ - items:
+ - enum:
+ - altr,socfpga-stmmac-a10-s10
+ - const: snps,dwmac-3.72a
+ - const: snps,dwmac
+ - items:
+ - enum:
+ - altr,socfpga-stmmac-a10-s10
+ - const: snps,dwmac-3.74a
+ - const: snps,dwmac
+
+ altr,sysmgr-syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to the sysmgr node
+ - description: register offset that controls the PHY mode or FPGA signals
+ - description: register shift for the PHY mode bits or FPGA signals
+ description:
+ Should be the phandle to the system manager node that
+ encompasses the glue register, the register offset, and the register shift.
+ On Cyclone5/Arria5, the register shift represents the PHY mode bits, while
+ on the Arria10/Stratix10/Agilex platforms, the register shift represents
+ bit for each emac to enable/disable signals from the FPGA fabric to the
+ EMAC modules.
+
+ altr,f2h_ptp_ref_clk:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Use f2h_ptp_ref_clk instead of default eosc1 clock
+ for ptp ref clk. This affects all emacs as the clock is common.
+
+ altr,emac-splitter:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Should be the phandle to the emac splitter soft IP node if
+ DWMAC controller is connected emac splitter.
+
+ phy-mode:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ The phy mode the ethernet operates in.
+
+ altr,sgmii-to-sgmii-converter:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle to the TSE SGMII converter.
+
+ This device node has additional phandle dependency, the sgmii converter
+ - compatible that should be altr,gmii-to-sgmii-2.0
+ - reg-names that should be "eth_tse_control_port"
+
+required:
+ - compatible
+ - reg
+ - altr,sysmgr-syscon
+
+examples:
+ - |
+ //Example 1
+ gmii_to_sgmii_converter: phy@100000240 {
+ compatible = "altr,gmii-to-sgmii-2.0";
+ reg = <0x00000001 0x00000240 0x00000008>,
+ <0x00000001 0x00000200 0x00000040>;
+ reg-names = "eth_tse_control_port";
+ clocks = <&sgmii_1_clk_0 &emac1 1 &sgmii_clk_125 &sgmii_clk_125>;
+ clock-names = "tse_pcs_ref_clk_clock_connection", "tse_rx_cdr_refclk";
+ };
+
+ - |
+ //Example 2
+ gmac0: ethernet@ff700000 {
+ compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
+ altr,sysmgr-syscon = <&sysmgr 0x60 0>;
+ reg = <0xff700000 0x2000>;
+ interrupts = <0 115 4>;
+ interrupt-names = "macirq";
+ mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
+ clocks = <&emac_0_clk>;
+ clock-names = "stmmaceth";
+ phy-mode = "sgmii";
+ altr,gmii-to-sgmii-converter = <&gmii_to_sgmii_converter>;
+ };
--
2.46.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema
2024-12-05 9:06 ` [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema Steffen Trumtrar
@ 2024-12-05 10:48 ` Rob Herring (Arm)
2024-12-07 20:22 ` Andrew Lunn
1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring (Arm) @ 2024-12-05 10:48 UTC (permalink / raw)
To: Steffen Trumtrar
Cc: Conor Dooley, Krzysztof Kozlowski, Michael Turquette,
linux-kernel, kernel, Richard Cochran, netdev, linux-clk,
Dinh Nguyen, devicetree, Stephen Boyd
On Thu, 05 Dec 2024 10:06:01 +0100, Steffen Trumtrar wrote:
> Changes to the binding while converting:
> - add "snps,dwmac-3.7{0,2,4}a". They are used, but undocumented.
> - altr,f2h_ptp_ref_clk is not a required property but optional.
>
> Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
> ---
> .../devicetree/bindings/net/socfpga-dwmac.txt | 57 ----------
> .../devicetree/bindings/net/socfpga-dwmac.yaml | 119 +++++++++++++++++++++
> 2 files changed, 119 insertions(+), 57 deletions(-)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml: 'oneOf' conditional failed, one must be fixed:
'unevaluatedProperties' is a required property
'additionalProperties' is a required property
hint: Either unevaluatedProperties or additionalProperties must be present
from schema $id: http://devicetree.org/meta-schemas/core.yaml#
Documentation/devicetree/bindings/net/socfpga-dwmac.example.dtb: /example-0/phy@100000240: failed to match any schema with compatible: ['altr,gmii-to-sgmii-2.0']
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/socfpga-dwmac.example.dtb: ethernet@ff700000: compatible: 'oneOf' conditional failed, one must be fixed:
['altr,socfpga-stmmac', 'snps,dwmac-3.70a', 'snps,dwmac'] is too long
'altr,socfpga-stmmac' is not one of ['altr,socfpga-stmmac-a10-s10']
'snps,dwmac-3.72a' was expected
'snps,dwmac-3.74a' was expected
from schema $id: http://devicetree.org/schemas/net/socfpga-dwmac.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/socfpga-dwmac.example.dtb: ethernet@ff700000: phy-mode:0: 'sgmii' is not of type 'array'
from schema $id: http://devicetree.org/schemas/net/socfpga-dwmac.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241205-v6-12-topic-socfpga-agilex5-v3-1-2a8cdf73f50a@pengutronix.de
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema
2024-12-05 9:06 ` [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema Steffen Trumtrar
2024-12-05 10:48 ` Rob Herring (Arm)
@ 2024-12-07 20:22 ` Andrew Lunn
1 sibling, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2024-12-07 20:22 UTC (permalink / raw)
To: Steffen Trumtrar
Cc: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd, devicetree,
linux-kernel, netdev, linux-clk, kernel
> + phy-mode:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + The phy mode the ethernet operates in.
I think you should be getting this via ethernet-controller.yaml. And
it is not a phandle.
> +
> + altr,sgmii-to-sgmii-converter:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the TSE SGMII converter.
> +
> + This device node has additional phandle dependency, the sgmii converter
> + - compatible that should be altr,gmii-to-sgmii-2.0
> + - reg-names that should be "eth_tse_control_port"
Is this a PCS?
Andrew
---
pw-bot: cr
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/6] dt-bindings: net: dwmac: add compatible for Agilex5
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema Steffen Trumtrar
@ 2024-12-05 9:06 ` Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 3/6] arm64: dts: agilex5: add gmac nodes Steffen Trumtrar
` (4 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-05 9:06 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar
The Agilex5 SoCs have three Synopsys DWXGMAC-compatible ethernet
IP-cores.
Add a SoC-specific front compatible to the binding.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
Documentation/devicetree/bindings/net/socfpga-dwmac.yaml | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml b/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml
index 022d9eb7011d47666b140aaecf54541ca3dec0ec..c578b4280c6c85f08b6e0918352d38ed98998489 100644
--- a/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/socfpga-dwmac.yaml
@@ -21,6 +21,7 @@ select:
enum:
- altr,socfpga-stmmac # For Cyclone5/Arria5 SoCs
- altr,socfpga-stmmac-a10-s10 # For Arria10/Agilex/Stratix10 SoCs
+ - altr,socfpga-stmmac-agilex5 # For Agilex5 SoCs
required:
- compatible
@@ -44,6 +45,12 @@ properties:
- altr,socfpga-stmmac-a10-s10
- const: snps,dwmac-3.74a
- const: snps,dwmac
+ - items:
+ - enum:
+ - altr,socfpga-stmmac-agilex5
+ - const: altr,socfpga-stmmac-a10-s10
+ - const: snps,dwxgmac-2.10
+ - const: snps,dwxgmac
altr,sysmgr-syscon:
$ref: /schemas/types.yaml#/definitions/phandle-array
--
2.46.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v3 3/6] arm64: dts: agilex5: add gmac nodes
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 1/6] dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 2/6] dt-bindings: net: dwmac: add compatible for Agilex5 Steffen Trumtrar
@ 2024-12-05 9:06 ` Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 4/6] arm64: dts: agilex5: add gpio0 Steffen Trumtrar
` (3 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-05 9:06 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar
The Agilex5 provides three Synopsys XGMAC ethernet cores, that can be
used to transmit and receive data at 10M/100M/1G/2.5G over ethernet
connections and enables support for Time Sensitive Networking (TSN)
applications.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
---
arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 90 ++++++++++++++++++++++++++
1 file changed, 90 insertions(+)
diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
index 1162978329c1637aa0fd9a4adef16a9ae5017ac3..0035caef5af2774083885cf2d0d8a38ee8be9627 100644
--- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
@@ -141,6 +141,96 @@ soc: soc@0 {
device_type = "soc";
interrupt-parent = <&intc>;
+ gmac0: ethernet@10810000 {
+ compatible = "altr,socfpga-stmmac-agilex5",
+ "altr,socfpga-stmmac-a10-s10",
+ "snps,dwxgmac-2.10",
+ "snps,dwxgmac";
+ reg = <0x10810000 0x3500>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ max-frame-size = <3800>;
+ snps,multicast-filter-bins = <64>;
+ snps,perfect-filter-entries = <64>;
+ rx-fifo-depth = <16384>;
+ tx-fifo-depth = <32768>;
+ resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>;
+ reset-names = "stmmaceth", "ahb";
+ clocks = <&clkmgr AGILEX5_EMAC0_CLK>,
+ <&clkmgr AGILEX5_EMAC_PTP_CLK>;
+ clock-names = "stmmaceth", "ptp_ref";
+ snps,axi-config = <&stmmac_axi_emac0_setup>;
+ altr,sysmgr-syscon = <&sysmgr 0x44 0>;
+ status = "disabled";
+
+ stmmac_axi_emac0_setup: stmmac-axi-config {
+ snps,wr_osr_lmt = <31>;
+ snps,rd_osr_lmt = <31>;
+ snps,blen = <0 0 0 32 16 8 4>;
+ };
+ };
+
+ gmac1: ethernet@10820000 {
+ compatible = "altr,socfpga-stmmac-agilex5",
+ "altr,socfpga-stmmac-a10-s10",
+ "snps,dwxgmac-2.10",
+ "snps,dwxgmac";
+ reg = <0x10820000 0x3500>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ max-frame-size = <3800>;
+ snps,multicast-filter-bins = <64>;
+ snps,perfect-filter-entries = <64>;
+ rx-fifo-depth = <16384>;
+ tx-fifo-depth = <32768>;
+ resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>;
+ reset-names = "stmmaceth", "ahb";
+ clocks = <&clkmgr AGILEX5_EMAC1_CLK>,
+ <&clkmgr AGILEX5_EMAC_PTP_CLK>;
+ clock-names = "stmmaceth", "ptp_ref";
+ snps,axi-config = <&stmmac_axi_emac1_setup>;
+ altr,sysmgr-syscon = <&sysmgr 0x48 0>;
+ status = "disabled";
+
+ stmmac_axi_emac1_setup: stmmac-axi-config {
+ snps,wr_osr_lmt = <31>;
+ snps,rd_osr_lmt = <31>;
+ snps,blen = <0 0 0 32 16 8 4>;
+ };
+ };
+
+ gmac2: ethernet@10830000 {
+ compatible = "altr,socfpga-stmmac-agilex5",
+ "altr,socfpga-stmmac-a10-s10",
+ "snps,dwxgmac-2.10",
+ "snps,dwxgmac";
+ reg = <0x10830000 0x3500>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ max-frame-size = <3800>;
+ snps,multicast-filter-bins = <64>;
+ snps,perfect-filter-entries = <64>;
+ rx-fifo-depth = <16384>;
+ tx-fifo-depth = <32768>;
+ resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>;
+ reset-names = "stmmaceth", "ahb";
+ clocks = <&clkmgr AGILEX5_EMAC2_CLK>,
+ <&clkmgr AGILEX5_EMAC_PTP_CLK>;
+ clock-names = "stmmaceth", "ptp_ref";
+ snps,axi-config = <&stmmac_axi_emac2_setup>;
+ altr,sysmgr-syscon = <&sysmgr 0x4c 0>;
+ status = "disabled";
+
+ stmmac_axi_emac2_setup: stmmac-axi-config {
+ snps,wr_osr_lmt = <31>;
+ snps,rd_osr_lmt = <31>;
+ snps,blen = <0 0 0 32 16 8 4>;
+ };
+ };
+
clkmgr: clock-controller@10d10000 {
compatible = "intel,agilex5-clkmgr";
reg = <0x10d10000 0x1000>;
--
2.46.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v3 4/6] arm64: dts: agilex5: add gpio0
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
` (2 preceding siblings ...)
2024-12-05 9:06 ` [PATCH v3 3/6] arm64: dts: agilex5: add gmac nodes Steffen Trumtrar
@ 2024-12-05 9:06 ` Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 5/6] dt-bindings: intel: add agilex5-based Arrow AXE5-Eagle Steffen Trumtrar
` (2 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-05 9:06 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar, Krzysztof Kozlowski
gpio0 is the same as gpio1 with a different base address.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
index 0035caef5af2774083885cf2d0d8a38ee8be9627..47f49d1e1442f66d97a323cd382f3f42d34ab835 100644
--- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
@@ -312,6 +312,25 @@ i3c1: i3c@10da1000 {
status = "disabled";
};
+ gpio0: gpio@10c03200 {
+ compatible = "snps,dw-apb-gpio";
+ reg = <0x10c03200 0x100>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ resets = <&rst GPIO0_RESET>;
+
+ porta: gpio-controller@0 {
+ compatible = "snps,dw-apb-gpio-port";
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ snps,nr-gpios = <24>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
+
gpio1: gpio@10c03300 {
compatible = "snps,dw-apb-gpio";
reg = <0x10c03300 0x100>;
--
2.46.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v3 5/6] dt-bindings: intel: add agilex5-based Arrow AXE5-Eagle
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
` (3 preceding siblings ...)
2024-12-05 9:06 ` [PATCH v3 4/6] arm64: dts: agilex5: add gpio0 Steffen Trumtrar
@ 2024-12-05 9:06 ` Steffen Trumtrar
2024-12-05 9:06 ` [PATCH v3 6/6] arm64: dts: agilex5: initial support for " Steffen Trumtrar
2024-12-06 22:13 ` [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Stephen Boyd
6 siblings, 0 replies; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-05 9:06 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar, Krzysztof Kozlowski
Add binding for the Arrow Agilex5-based AXE5-Eagle board.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Documentation/devicetree/bindings/arm/intel,socfpga.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/intel,socfpga.yaml b/Documentation/devicetree/bindings/arm/intel,socfpga.yaml
index 2ee0c740eb56d63cff7767167ee3c640beba0803..03de49222d465584f24cc6c7dfff6ccfe304db46 100644
--- a/Documentation/devicetree/bindings/arm/intel,socfpga.yaml
+++ b/Documentation/devicetree/bindings/arm/intel,socfpga.yaml
@@ -24,6 +24,7 @@ properties:
- description: Agilex5 boards
items:
- enum:
+ - arrow,socfpga-agilex5-axe5-eagle
- intel,socfpga-agilex5-socdk
- const: intel,socfpga-agilex5
--
2.46.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v3 6/6] arm64: dts: agilex5: initial support for Arrow AXE5-Eagle
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
` (4 preceding siblings ...)
2024-12-05 9:06 ` [PATCH v3 5/6] dt-bindings: intel: add agilex5-based Arrow AXE5-Eagle Steffen Trumtrar
@ 2024-12-05 9:06 ` Steffen Trumtrar
2024-12-07 20:26 ` Andrew Lunn
2024-12-06 22:13 ` [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Stephen Boyd
6 siblings, 1 reply; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-05 9:06 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar, Krzysztof Kozlowski
The Arrow AXE5-Eagle is an Intel Agilex5 SoCFPGA based board with:
- 1x PCIe Gen4.0 edge connector
- 4-port USB HUB
- 2x 1Gb Ethernet
- microSD
- HDMI output
- 2x 10Gb SFP+ cages
As most devices aren't supported mainline yet, this is only the initial
support for the board.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
arch/arm64/boot/dts/intel/Makefile | 1 +
.../boot/dts/intel/socfpga_agilex5_axe5_eagle.dts | 140 +++++++++++++++++++++
2 files changed, 141 insertions(+)
diff --git a/arch/arm64/boot/dts/intel/Makefile b/arch/arm64/boot/dts/intel/Makefile
index d39cfb723f5b6674a821dfdafb21b12668bb1e0e..3e87d548c532b1a9e38f4489c037c5c4db3a50b8 100644
--- a/arch/arm64/boot/dts/intel/Makefile
+++ b/arch/arm64/boot/dts/intel/Makefile
@@ -3,5 +3,6 @@ dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga_agilex_n6000.dtb \
socfpga_agilex_socdk.dtb \
socfpga_agilex_socdk_nand.dtb \
socfpga_agilex5_socdk.dtb \
+ socfpga_agilex5_axe5_eagle.dtb \
socfpga_n5x_socdk.dtb
dtb-$(CONFIG_ARCH_KEEMBAY) += keembay-evm.dtb
diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_axe5_eagle.dts b/arch/arm64/boot/dts/intel/socfpga_agilex5_axe5_eagle.dts
new file mode 100644
index 0000000000000000000000000000000000000000..c0f6870e7b40a53ca0d685b4109ff24e1409bb0e
--- /dev/null
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex5_axe5_eagle.dts
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2024, Arrow Electronics, Inc.
+ */
+#include "socfpga_agilex5.dtsi"
+
+/ {
+ model = "SoCFPGA Agilex5 Arrow AXE5-Eagle";
+ compatible = "arrow,socfpga-agilex5-axe5-eagle", "intel,socfpga-agilex5";
+
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ label = "hps_led0";
+ gpios = <&porta 6 GPIO_ACTIVE_HIGH>;
+ };
+
+ led-1 {
+ label = "hps_led1";
+ gpios = <&porta 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ key-0 {
+ label = "hps_sw0";
+ gpios = <&porta 10 0>;
+ linux,input-type = <5>; /* EV_SW */
+ linux,code = <0x0>;
+ };
+
+ key-1 {
+ label = "hps_sw1";
+ gpios = <&porta 1 0>;
+ linux,input-type = <5>; /* EV_SW */
+ linux,code = <0x0>;
+ };
+
+ key-2 {
+ label = "hps_pb0";
+ gpios = <&porta 8 1>;
+ linux,code = <187>; /* KEY_F17 */
+ };
+
+ key-3 {
+ label = "hps_pb1";
+ gpios = <&porta 9 1>;
+ linux,code = <188>; /* KEY_F18 */
+ };
+ };
+
+ vdd: regulator-vdd {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-supply";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vdd_3_3: regulator-vdd {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-supply";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+};
+
+&gmac2 {
+ status = "okay";
+ phy-mode = "rgmii-id";
+ phy-handle = <&emac2_phy0>;
+
+ mdio0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "snps,dwmac-mdio";
+ emac2_phy0: ethernet-phy@1 {
+ reg = <0x1>;
+ };
+ };
+};
+
+&gpio0 {
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+
+ i2c-mux@70 {
+ compatible = "nxp,pca9544";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x70>;
+ status = "okay";
+ };
+};
+
+&osc1 {
+ clock-frequency = <25000000>;
+};
+
+&qspi {
+ status = "okay";
+
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "micron,mt25qu02g", "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <100000000>;
+
+ m25p,fast-read;
+ cdns,read-delay = <2>;
+ cdns,tshsl-ns = <50>;
+ cdns,tsd2d-ns = <50>;
+ cdns,tchsh-ns = <4>;
+ cdns,tslch-ns = <4>;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
--
2.46.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3 6/6] arm64: dts: agilex5: initial support for Arrow AXE5-Eagle
2024-12-05 9:06 ` [PATCH v3 6/6] arm64: dts: agilex5: initial support for " Steffen Trumtrar
@ 2024-12-07 20:26 ` Andrew Lunn
0 siblings, 0 replies; 12+ messages in thread
From: Andrew Lunn @ 2024-12-07 20:26 UTC (permalink / raw)
To: Steffen Trumtrar
Cc: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Richard Cochran, Michael Turquette, Stephen Boyd, devicetree,
linux-kernel, netdev, linux-clk, kernel, Krzysztof Kozlowski
> - 2x 1Gb Ethernet
> +&gmac2 {
> + status = "okay";
> + phy-mode = "rgmii-id";
> + phy-handle = <&emac2_phy0>;
> +
> + mdio0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "snps,dwmac-mdio";
> + emac2_phy0: ethernet-phy@1 {
> + reg = <0x1>;
> + };
> + };
> +};
No gmac1?
Andrew
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board
2024-12-05 9:06 [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Steffen Trumtrar
` (5 preceding siblings ...)
2024-12-05 9:06 ` [PATCH v3 6/6] arm64: dts: agilex5: initial support for " Steffen Trumtrar
@ 2024-12-06 22:13 ` Stephen Boyd
2024-12-09 9:21 ` Steffen Trumtrar
6 siblings, 1 reply; 12+ messages in thread
From: Stephen Boyd @ 2024-12-06 22:13 UTC (permalink / raw)
To: Conor Dooley, Dinh Nguyen, Krzysztof Kozlowski, Michael Turquette,
Richard Cochran, Rob Herring, Steffen Trumtrar
Cc: devicetree, linux-kernel, netdev, linux-clk, kernel,
Steffen Trumtrar, Krzysztof Kozlowski
Quoting Steffen Trumtrar (2024-12-05 01:06:00)
> This series adds the gpio0 and gmac nodes to the socfpga_agilex5.dtsi.
> As the the socfpga-dwmac binding is still in txt format, convert it to
> yaml, to pass dtb_checks.
>
> An initial devicetree for a new board (Arrow AXE5-Eagle) is also added.
> Currently only QSPI and network are functional as all other hardware
> currently lacks mainline support.
>
[...]
> Steffen Trumtrar (6):
> dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema
> dt-bindings: net: dwmac: add compatible for Agilex5
> arm64: dts: agilex5: add gmac nodes
> arm64: dts: agilex5: add gpio0
> dt-bindings: intel: add agilex5-based Arrow AXE5-Eagle
> arm64: dts: agilex5: initial support for Arrow AXE5-Eagle
>
> .../devicetree/bindings/arm/intel,socfpga.yaml | 1 +
> .../devicetree/bindings/net/socfpga-dwmac.txt | 57 ---------
> .../devicetree/bindings/net/socfpga-dwmac.yaml | 126 +++++++++++++++++++
> arch/arm64/boot/dts/intel/Makefile | 1 +
> arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 109 ++++++++++++++++
> .../boot/dts/intel/socfpga_agilex5_axe5_eagle.dts | 140 +++++++++++++++++++++
> 6 files changed, 377 insertions(+), 57 deletions(-)
Why are clk framework maintainers Cced on this patch series?
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board
2024-12-06 22:13 ` [PATCH v3 0/6] ARM64: dts: intel: agilex5: add nodes and new board Stephen Boyd
@ 2024-12-09 9:21 ` Steffen Trumtrar
0 siblings, 0 replies; 12+ messages in thread
From: Steffen Trumtrar @ 2024-12-09 9:21 UTC (permalink / raw)
To: Stephen Boyd
Cc: Conor Dooley, Dinh Nguyen, Krzysztof Kozlowski, Michael Turquette,
Richard Cochran, Rob Herring, devicetree, linux-kernel, netdev,
linux-clk, kernel, Krzysztof Kozlowski
On 2024-12-06 at 14:13 -08, Stephen Boyd <sboyd@kernel.org> wrote:
> Quoting Steffen Trumtrar (2024-12-05 01:06:00)
> > This series adds the gpio0 and gmac nodes to the socfpga_agilex5.dtsi.
> > As the the socfpga-dwmac binding is still in txt format, convert it to
> > yaml, to pass dtb_checks.
> >
> > An initial devicetree for a new board (Arrow AXE5-Eagle) is also added.
> > Currently only QSPI and network are functional as all other hardware
> > currently lacks mainline support.
> >
> [...]
> > Steffen Trumtrar (6):
> > dt-bindings: net: dwmac: Convert socfpga dwmac to DT schema
> > dt-bindings: net: dwmac: add compatible for Agilex5
> > arm64: dts: agilex5: add gmac nodes
> > arm64: dts: agilex5: add gpio0
> > dt-bindings: intel: add agilex5-based Arrow AXE5-Eagle
> > arm64: dts: agilex5: initial support for Arrow AXE5-Eagle
> >
> > .../devicetree/bindings/arm/intel,socfpga.yaml | 1 +
> > .../devicetree/bindings/net/socfpga-dwmac.txt | 57 ---------
> > .../devicetree/bindings/net/socfpga-dwmac.yaml | 126 +++++++++++++++++++
> > arch/arm64/boot/dts/intel/Makefile | 1 +
> > arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 109 ++++++++++++++++
> > .../boot/dts/intel/socfpga_agilex5_axe5_eagle.dts | 140 +++++++++++++++++++++
> > 6 files changed, 377 insertions(+), 57 deletions(-)
>
> Why are clk framework maintainers Cced on this patch series?
Oops, sorry for the noise. Forgot to update the Cc list :(
Best regards,
Steffen
--
Pengutronix e.K. | Dipl.-Inform. Steffen Trumtrar |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686| Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 12+ messages in thread