[PATCH v2 1/2] dt-bindings: ethernet: eswin: Document for EIC7700 SoC
weishangjuan at eswincomputing.com
weishangjuan at eswincomputing.com
Tue May 27 21:15:58 PDT 2025
From: Shangjuan Wei <weishangjuan at eswincomputing.com>
Add ESWIN EIC7700 Ethernet controller, supporting
multi-rate (10M/100M/1G) auto-negotiation, clock/reset control,
and AXI bus parameter optimization.
Signed-off-by: Zhi Li <lizhi2 at eswincomputing.com>
Signed-off-by: Shangjuan Wei <weishangjuan at eswincomputing.com>
---
.../bindings/net/eswin,eic7700-eth.yaml | 200 ++++++++++++++++++
1 file changed, 200 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml
diff --git a/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml b/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml
new file mode 100644
index 000000000000..c76d2fbf0ebd
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/eswin,eic7700-eth.yaml
@@ -0,0 +1,200 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/eswin,eic7700-eth.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Eswin EIC7700 SOC Eth Controller
+
+maintainers:
+ - Shuang Liang <liangshuang at eswincomputing.com>
+ - Zhi Li <lizhi2 at eswincomputing.com>
+ - Shangjuan Wei <weishangjuan at eswincomputing.com>
+
+description:
+ The eth controller registers are part of the syscrg block on
+ the EIC7700 SoC.
+
+select:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - eswin,eic7700-qos-eth
+ required:
+ - compatible
+
+allOf:
+ - $ref: snps,dwmac.yaml#
+
+properties:
+ compatible:
+ items:
+ - const: eswin,eic7700-qos-eth
+ - const: snps,dwmac
+
+ reg:
+ description: Base address and size of the Ethernet controller registers
+ items:
+ - description: Register base address
+ - description: Register size
+
+ interrupt-names:
+ const: macirq
+
+ interrupts:
+ maxItems: 1
+
+ phy-mode:
+ $ref: /schemas/types.yaml#/definitions/string
+ enum:
+ - rgmii
+ - rgmii-rxid
+ - rgmii-txid
+ - rgmii-id
+
+ phy-handle:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: Reference to the PHY device
+
+ clocks:
+ minItems: 3
+ maxItems: 7
+
+ clock-names:
+ minItems: 3
+ contains:
+ enum:
+ - app
+ - stmmaceth
+ - tx
+
+ resets:
+ maxItems: 1
+
+ reset-names:
+ items:
+ - const: stmmaceth
+
+ dma-noncoherent: true
+
+ # Custom properties
+ eswin,hsp_sp_csr:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: HSP peripheral control register area
+ - description: Control registers (such as used to select TX clock
+ source, PHY interface mode)
+ - description: AXI bus low-power control related registers
+ - description: Status register
+ description:
+ Configure TX clock source selection, set PHY interface mode,
+ and control low-power bus behavior
+
+ eswin,syscrg_csr:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: CRG's device tree node handle
+ - description: Enable and divide HSP ACLK control
+ - description: Behavior of configuring HSP controller
+ description:
+ Register that accesses the system clock controller.
+ Used to configure HSP clocks for Ethernet subsystems
+
+ eswin,dly_hsp_reg:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: TX delay control register offset
+ - description: RX delay control register offset
+ - description: Switch for controlling delay function
+ description:
+ Register for configuring delay compensation between MAC/PHY
+
+ snps,axi-config:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description: AXI bus configuration
+
+ stmmac-axi-config:
+ type: object
+ unevaluatedProperties: false
+ properties:
+ snps,blen:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description: Set the burst transmission length of AXI bus
+ snps,rd_osr_lmt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Set OSR restrictions for read operations
+ snps,wr_osr_lmt:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Set OSR restrictions for write operations
+ snps,lpi_en:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description: Low Power Interface enable flag (true/false)
+ required:
+ - snps,blen
+ - snps,rd_osr_lmt
+ - snps,wr_osr_lmt
+ - snps,lpi_en
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupt-names
+ - interrupts
+ - phy-mode
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - eswin,hsp_sp_csr
+ - eswin,syscrg_csr
+ - eswin,dly_hsp_reg
+ - snps,axi-config
+
+additionalProperties: false
+
+examples:
+ - |
+ gmac0: ethernet at 50400000 {
+ compatible = "eswin,eic7700-qos-eth", "snps,dwmac";
+ reg = <0x0 0x50400000 0x0 0x10000>;
+ interrupt-parent = <&plic>;
+ interrupt-names = "macirq";
+ interrupts = <61>;
+ phy-mode = "rgmii-txid";
+ phy-handle = <&phy0>;
+ status = "okay";
+ clocks = <&clock 550>,
+ <&clock 551>,
+ <&clock 552>;
+ clock-names = "app", "stmmaceth", "tx";
+ resets = <&reset 0x07 (1 << 26)>;
+ reset-names = "stmmaceth";
+ dma-noncoherent;
+ eswin,hsp_sp_csr = <&hsp_sp_csr 0x1030 0x100 0x108>;
+ eswin,syscrg_csr = <&sys_crg 0x148 0x14c>;
+ eswin,dly_hsp_reg = <0x114 0x118 0x11c>;
+ snps,axi-config = <&stmmac_axi_setup>;
+ stmmac_axi_setup: stmmac-axi-config {
+ snps,blen = <0 0 0 0 16 8 4>;
+ snps,rd_osr_lmt = <2>;
+ snps,wr_osr_lmt = <2>;
+ snps,lpi_en;
+ };
+ /* mdio {
+ compatible = "snps,dwmac-mdio";
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ phy0: ethernet-phy at 0 {
+ device_type = "ethernet-phy";
+ reg = <0>;
+ compatible = "ethernet-phy-id001c.c916", "realtek,rtl8211f";
+ };
+ }; */
+ };
--
2.17.1
More information about the linux-arm-kernel
mailing list