From: Huan He <hehuan1@eswincomputing.com>
EIC7700 use Synopsys dwcmshc IP for SD/eMMC controllers.
Add Eswin EIC7700 support in sdhci-of-dwcmshc.yaml.
Signed-off-by: Huan He <hehuan1@eswincomputing.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
---
.../bindings/mmc/snps,dwcmshc-sdhci.yaml | 57 +++++++++++++++++--
1 file changed, 51 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
index f882219a0a26..edd6c8e90cad 100644
--- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
@@ -30,6 +30,7 @@ properties:
- sophgo,sg2002-dwcmshc
- sophgo,sg2042-dwcmshc
- thead,th1520-dwcmshc
+ - eswin,eic7700-dwcmshc
reg:
maxItems: 1
@@ -52,17 +53,30 @@ properties:
maxItems: 5
reset-names:
- items:
- - const: core
- - const: bus
- - const: axi
- - const: block
- - const: timer
+ maxItems: 5
rockchip,txclk-tapnum:
description: Specify the number of delay for tx sampling.
$ref: /schemas/types.yaml#/definitions/uint8
+ eswin,hsp-sp-csr:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - description: Phandle to HSP(High-Speed Peripheral) device
+ - description: Offset of the stability status register for
+ internal clock
+ - description: Offset of the stability register for host regulator
+ voltage.
+ description: |
+ HSP CSR is to control and get status of different high-speed
+ peripherals (such as Ethernet, USB, SATA, etc.) via register,
+ which can close module's clock, reset module independently
+ and tune board-level's parameters of PHY, etc.
+
+ eswin,drive-impedance-ohms:
+ description: Specifies the drive impedance in Ohm.
+ enum: [33, 40, 50, 66, 100]
+
required:
- compatible
- reg
@@ -110,6 +124,37 @@ allOf:
- const: block
- const: timer
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: eswin,eic7700-dwcmshc
+ then:
+ properties:
+ resets:
+ minItems: 4
+ maxItems: 4
+ reset-names:
+ items:
+ - const: axi
+ - const: phy
+ - const: prstn
+ - const: txrx
+ required:
+ - eswin,hsp-sp-csr
+ - eswin,drive-impedance-ohms
+ else:
+ properties:
+ resets:
+ maxItems: 5
+ reset-names:
+ items:
+ - const: core
+ - const: bus
+ - const: axi
+ - const: block
+ - const: timer
+
- if:
properties:
compatible:
--
2.25.1
On Sat, Oct 11, 2025 at 07:11:50PM +0800, hehuan1@eswincomputing.com wrote:
> From: Huan He <hehuan1@eswincomputing.com>
>
> EIC7700 use Synopsys dwcmshc IP for SD/eMMC controllers.
> Add Eswin EIC7700 support in sdhci-of-dwcmshc.yaml.
>
> Signed-off-by: Huan He <hehuan1@eswincomputing.com>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> .../bindings/mmc/snps,dwcmshc-sdhci.yaml | 57 +++++++++++++++++--
> 1 file changed, 51 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> index f882219a0a26..edd6c8e90cad 100644
> --- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> +++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> @@ -30,6 +30,7 @@ properties:
> - sophgo,sg2002-dwcmshc
> - sophgo,sg2042-dwcmshc
> - thead,th1520-dwcmshc
> + - eswin,eic7700-dwcmshc
>
> reg:
> maxItems: 1
> @@ -52,17 +53,30 @@ properties:
> maxItems: 5
>
> reset-names:
> - items:
> - - const: core
> - - const: bus
> - - const: axi
> - - const: block
> - - const: timer
> + maxItems: 5
>
> rockchip,txclk-tapnum:
> description: Specify the number of delay for tx sampling.
> $ref: /schemas/types.yaml#/definitions/uint8
>
> + eswin,hsp-sp-csr:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + items:
This should be:
items:
- items:
- description: ...
...
> + - description: Phandle to HSP(High-Speed Peripheral) device
> + - description: Offset of the stability status register for
> + internal clock
> + - description: Offset of the stability register for host regulator
> + voltage.
> + description: |
Don't need '|' if no formatting to preserve.
> + HSP CSR is to control and get status of different high-speed
> + peripherals (such as Ethernet, USB, SATA, etc.) via register,
> + which can close module's clock, reset module independently
> + and tune board-level's parameters of PHY, etc.
Wrap lines at 80 chars.
> +
> + eswin,drive-impedance-ohms:
> + description: Specifies the drive impedance in Ohm.
> + enum: [33, 40, 50, 66, 100]
> +
> required:
> - compatible
> - reg
> @@ -110,6 +124,37 @@ allOf:
> - const: block
> - const: timer
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: eswin,eic7700-dwcmshc
> + then:
> + properties:
> + resets:
> + minItems: 4
> + maxItems: 4
> + reset-names:
> + items:
> + - const: axi
> + - const: phy
> + - const: prstn
> + - const: txrx
> + required:
> + - eswin,hsp-sp-csr
> + - eswin,drive-impedance-ohms
> + else:
> + properties:
> + resets:
> + maxItems: 5
> + reset-names:
> + items:
> + - const: core
> + - const: bus
> + - const: axi
> + - const: block
> + - const: timer
> +
> - if:
> properties:
> compatible:
> --
> 2.25.1
>
© 2016 - 2026 Red Hat, Inc.