Re: [PATCH 2/6] dt-bindings: mmc: Add support for BCM2712 SD host controller

From: Krzysztof Kozlowski
Date: Sun Apr 14 2024 - 02:12:03 EST


On 14/04/2024 00:14, Andrea della Porta wrote:
> Signed-off-by: Andrea della Porta <andrea.porta@xxxxxxxx>

? And what is being done here and why?

> ---
> .../bindings/mmc/brcm,sdhci-brcmstb.yaml | 51 ++++++++++++++++++-
> 1 file changed, 50 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/brcm,sdhci-brcmstb.yaml b/Documentation/devicetree/bindings/mmc/brcm,sdhci-brcmstb.yaml
> index cbd3d6c6c77f..6aa137d78e4f 100644
> --- a/Documentation/devicetree/bindings/mmc/brcm,sdhci-brcmstb.yaml
> +++ b/Documentation/devicetree/bindings/mmc/brcm,sdhci-brcmstb.yaml
> @@ -13,6 +13,7 @@ maintainers:
> properties:
> compatible:
> oneOf:
> + - const: brcm,bcm2712-sdhci
> - items:
> - enum:
> - brcm,bcm7216-sdhci
> @@ -26,12 +27,16 @@ properties:
> - const: brcm,sdhci-brcmstb
>
> reg:
> - maxItems: 2
> + minItems: 2
> + maxItems: 4
>
> reg-names:
> + minItems: 2
> items:
> - const: host
> - const: cfg
> + - const: busisol
> + - const: lcpll
>
> interrupts:
> maxItems: 1
> @@ -60,6 +65,7 @@ properties:
> description: Specifies that controller should use auto CMD12
>
> allOf:
> + - $ref: sdhci-common.yaml
> - $ref: mmc-controller.yaml#

Why? Anyway, this replaces mmc-controller, doesn't it?

> - if:
> properties:
> @@ -71,6 +77,28 @@ allOf:
> required:
> - clock-frequency
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: brcm,bcm2712-sdhci
> +
> + then:
> + properties:
> + reg:
> + maxItems: 4
> + clock-names:
> + const: "sw_sdio"

Not tested.

> +
> + else:
> + properties:
> + reg:
> + minItems: 2
> + maxItems: 2
> + reg-names:
> + minItems: 2
> + maxItems: 2
> +
> required:
> - compatible
> - reg
> @@ -114,3 +142,24 @@ examples:
> clocks = <&scmi_clk 245>;
> clock-names = "sw_sdio";
> };
> +
> + - |
> + soc {
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + mmc@fff000 {
> + compatible = "brcm,bcm2712-sdhci";
> + reg = <0x10 0x00fff000 0x0 0x260>,
> + <0x10 0x00fff400 0x0 0x200>,
> + <0x10 0x015040b0 0x0 0x4>, // Bus isolation control
> + <0x10 0x015200f0 0x0 0x24>; // LCPLL control misc0-8
> + reg-names = "host", "cfg", "busisol", "lcpll";
> + interrupts = <0x0 0x111 0x4>;

Use proper defines.

> + clocks = <&clk_emmc2>;
> + sdhci-caps-mask = <0x0000C000 0x0>;
> + sdhci-caps = <0x0 0x0>;
> + mmc-ddr-3_3v;
> + clock-names = "sw_sdio";

names *always* follow property. In every DTS. Please fix youro DTS.



Best regards,
Krzysztof