Re: [PATCH v3 1/2] dt-bindings: mmc: snps,dwcmshc-sdhci: add HPE GSC dwcmshc compatible

From: Krzysztof Kozlowski

Date: Fri Mar 13 2026 - 04:16:01 EST


On Wed, Mar 11, 2026 at 01:11:11PM -0500, nick.hawkins@xxxxxxx wrote:
> From: Nick Hawkins <nick.hawkins@xxxxxxx>
>
> Add the 'hpe,gsc-dwcmshc' compatible string for the HPE GSC (ARM64
> Cortex-A53) BMC SoC eMMC controller.
>
> The HPE GSC requires access to the MSHCCS register in the SoC system
> register block to configure SCG sync disable (bit 18) for HS200 RX
> delay-line phase selection. The existing 'hpe,gxp-sysreg' syscon
> phandle is required for this compatible to access MSHCCS via regmap.
>
> The HPE GSC eMMC interface only exposes a single 'core' clock (no
> bus clock), so clocks/clock-names are constrained to a single item.
>
> Add an example node with the hpe,gxp-sysreg syscon reference.

Difference in one property does not warrant new example as there are
already two examples (two are enough usually). Drop.

>
> Signed-off-by: Nick Hawkins <nick.hawkins@xxxxxxx>
> ---
> .../bindings/mmc/snps,dwcmshc-sdhci.yaml | 36 +++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> index 7e7c55dc2440..74734d46c70d 100644
> --- a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> +++ b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> @@ -23,6 +23,7 @@ properties:
> - const: sophgo,sg2044-dwcmshc
> - const: sophgo,sg2042-dwcmshc
> - enum:
> + - hpe,gsc-dwcmshc
> - rockchip,rk3568-dwcmshc
> - rockchip,rk3588-dwcmshc
> - snps,dwcmshc-sdhci
> @@ -77,6 +78,13 @@ properties:
> description: Specifies the drive impedance in Ohm.
> enum: [33, 40, 50, 66, 100]
>
> + hpe,gxp-sysreg:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the HPE GXP SoC system register block (syscon).
> + The driver accesses the MSHCCS register at offset 0x110 within
> + this block to configure clock synchronisation for HS200 tuning.

You need only one reg, from that syscon, so you should pass it as
argument:
https://elixir.bootlin.com/linux/v5.18-rc1/source/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml#L42

> +
> required:
> - compatible
> - reg
> @@ -87,6 +95,23 @@ required:
> allOf:
> - $ref: mmc-controller.yaml#
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: hpe,gsc-dwcmshc
> +
> + then:
> + properties:
> + clocks:
> + items:
> + - description: core clock
> + clock-names:
> + items:
> + - const: core
> + required:
> + - hpe,gxp-sysreg

else:
properties:
hpe,gxp-sysreg: false

Best regards,
Krzysztof