From: Conor Dooley <conor@kernel.org>
To: nick.hawkins@hpe.com
Cc: ulf.hansson@linaro.org, adrian.hunter@intel.com, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, jszhang@kernel.org,
linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 1/2] dt-bindings: mmc: snps,dwcmshc-sdhci: add HPE GSC dwcmshc compatible
Date: Mon, 2 Mar 2026 19:47:37 +0000 [thread overview]
Message-ID: <20260302-denture-widow-dfe7fa5ef561@spud> (raw)
In-Reply-To: <20260302190141.1481298-2-nick.hawkins@hpe.com>
[-- Attachment #1: Type: text/plain, Size: 3489 bytes --]
On Mon, Mar 02, 2026 at 01:01:40PM -0600, nick.hawkins@hpe.com wrote:
> From: Nick Hawkins <nick.hawkins@hpe.com>
>
> Add the 'hpe,gsc-dwcmshc' compatible string for the HPE GSC (ARM64
> Cortex-A53) BMC SoC eMMC controller.
>
> The HPE GSC wires an additional 32-bit register, MSHCCS (eMMC
> Configuration/Status Register). This register
> controls SCG sync disable (bit 18) for HS200 RX delay-line phase
> selection and reflects the current data transfer width (bits 17:16).
> A second reg entry is mandatory for this compatible to map MSHCCS.
>
> The HPE GSC eMMC interface only exposes a single 'core' clock (no
> bus clock), so clocks/clock-names are constrained to maxItems: 1.
>
> Add an example node showing the two-entry reg layout (SDHCI base at
> 0xc0100000 and MSHCCS at 0xc0000110).
>
> Signed-off-by: Nick Hawkins <nick.hawkins@hpe.com>
> ---
> .../bindings/mmc/snps,dwcmshc-sdhci.yaml | 43 ++++++++++++++++++-
> 1 file changed, 42 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml
> index 7e7c55dc2440..9c326dff589f 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
> @@ -33,7 +34,8 @@ properties:
> - eswin,eic7700-dwcmshc
>
> reg:
> - maxItems: 1
> + minItems: 1
> + maxItems: 2
>
> interrupts:
> maxItems: 1
> @@ -87,6 +89,35 @@ required:
> allOf:
> - $ref: mmc-controller.yaml#
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: hpe,gsc-dwcmshc
> +
> + then:
> + properties:
> + reg:
> + items:
> + - description: SDHCI base registers
> + - description: |
> + MSHCCS register. A 32-bit register that controls SCG sync
> + disable (bit 18) for HS200 RX delay-line phase selection
> + and reflects the current data transfer width (bits 17:16).
> + clocks:
> + maxItems: 1
> + items:
> + - description: core clock
> + clock-names:
> + maxItems: 1
> + items:
> + - const: core
> +
> + else:
> + properties:
> + reg:
> + maxItems: 1
> +
> - if:
> properties:
> compatible:
> @@ -190,5 +221,15 @@ examples:
> #address-cells = <1>;
> #size-cells = <0>;
> };
> + - |
> + mmc@c0100000 {
> + compatible = "hpe,gsc-dwcmshc";
> + reg = <0xc0100000 0x1000>, <0xc0000110 0x4>;
A 0x4 sized region is always incredibly suspect. What is at address
0xc000010c or 0xc0000114? Usually in these sorts of scenarios, it ends
up being that there's some sort of misc. register region of which this
is just one register, that should be represented as a syscon.
> + interrupts = <0 17 0x4>;
> + clocks = <&emmcclk>;
> + clock-names = "core";
> + bus-width = <8>;
> + non-removable;
> + };
>
> ...
> --
> 2.34.1
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2026-03-02 19:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-02 19:01 [PATCH v1 0/2] mmc: sdhci-of-dwcmshc: Add HPE GSC eMMC support nick.hawkins
2026-03-02 19:01 ` [PATCH v1 1/2] dt-bindings: mmc: snps,dwcmshc-sdhci: add HPE GSC dwcmshc compatible nick.hawkins
2026-03-02 19:47 ` Conor Dooley [this message]
2026-03-03 14:36 ` Hawkins, Nick
2026-03-02 19:01 ` [PATCH v1 2/2] mmc: sdhci-of-dwcmshc: Add HPE GSC eMMC support nick.hawkins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260302-denture-widow-dfe7fa5ef561@spud \
--to=conor@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jszhang@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=nick.hawkins@hpe.com \
--cc=robh@kernel.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox