Re: [PATCH 5/6] riscv: microchip: mpfs: drop duplicated MMC/SDHC node

From: Geert Uytterhoeven
Date: Tue Aug 24 2021 - 11:38:00 EST


Hi Krzysztof,

On Thu, Aug 19, 2021 at 5:45 PM Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxxxxx> wrote:
> Devicetree source is a description of hardware and hardware has only one
> block @20008000 which can be configured either as eMMC or SDHC. Having
> two node for different modes is an obscure, unusual and confusing way to
> configure it. Instead the board file is supposed to customize the block
> to its needs, e.g. to SDHC mode.
>
> This fixes dtbs_check warning:
> arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dt.yaml: sdhc@20008000: $nodename:0: 'sdhc@20008000' does not match '^mmc(@.*)?$'
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>

Thanks for your patch!

> --- a/arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts
> +++ b/arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts
> @@ -43,8 +43,16 @@ &serial3 {
> status = "okay";
> };
>
> -&sdcard {
> +&mmc {
> status = "okay";
> +
> + disable-wp;
> + cap-sd-highspeed;
> + card-detect-delay = <200>;
> + sd-uhs-sdr12;
> + sd-uhs-sdr25;
> + sd-uhs-sdr50;
> + sd-uhs-sdr104;
> };
>
> &emac0 {
> diff --git a/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi b/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi
> index cb54da0cc3c4..c4ccd7e4d3eb 100644
> --- a/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi
> +++ b/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi
> @@ -262,25 +262,7 @@ serial3: serial@20104000 {
> status = "disabled";
> };
>
> - emmc: mmc@20008000 {
> - compatible = "cdns,sd4hc";
> - reg = <0x0 0x20008000 0x0 0x1000>;
> - interrupt-parent = <&plic>;
> - interrupts = <88 89>;

Note that the other node has only a single interrupt.
Which one is correct?

> - pinctrl-names = "default";
> - clocks = <&clkcfg 6>;
> - bus-width = <4>;
> - cap-mmc-highspeed;
> - mmc-ddr-3_3v;
> - max-frequency = <200000000>;
> - non-removable;
> - no-sd;
> - no-sdio;
> - voltage-ranges = <3300 3300>;
> - status = "disabled";
> - };
> -
> - sdcard: sdhc@20008000 {
> + mmc: mmc@20008000 {
> compatible = "cdns,sd4hc";
> reg = <0x0 0x20008000 0x0 0x1000>;
> interrupt-parent = <&plic>;
> @@ -288,13 +270,6 @@ sdcard: sdhc@20008000 {
> pinctrl-names = "default";
> clocks = <&clkcfg 6>;
> bus-width = <4>;

I think bus-width should be moved to the board .dts, too.

> - disable-wp;
> - cap-sd-highspeed;
> - card-detect-delay = <200>;
> - sd-uhs-sdr12;
> - sd-uhs-sdr25;
> - sd-uhs-sdr50;
> - sd-uhs-sdr104;
> max-frequency = <200000000>;
> status = "disabled";
> };

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds