Re: [PATCH v4 1/4] arm64: dts: qcom: ipq9574: Add gpio details for eMMC

From: Alex G.

Date: Sun Apr 19 2026 - 18:38:37 EST


On Monday, February 2, 2026 1:33:19 AM Central Daylight Time Varadarajan
Narayanan wrote:

Hi Varadarajan,

> The RDP433 has NAND and eMMC variants. Presently, only NAND variant is
> supported. To enable support for eMMC variant, add the relevant GPIO
> related information.
>
> Do not enable NAND by default here. Enable it in board specific DTS.
>

This commit references sdc_default_state in the .dtsi file, without defining it.
It creates a silent dependency on the board .dts, who must now define the pins.
This makes no sense to me for boards that don't have eMMC. As an example, it
breaks most downstream OpenWRT boards.

Was this new dependency accidental?

Alex

> Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> Signed-off-by: Varadarajan Narayanan
> <varadarajan.narayanan@xxxxxxxxxxxxxxxx> ---
> v4: Move sdhc properties from emmc dts to SoC dtsi
>
> v3: Disable nand in ipq9574-rdp-common.dtsi and enable it where required.
> Add 'Reviewed-by: Konrad Dybcio'
> ---
> .../boot/dts/qcom/ipq9574-rdp-common.dtsi | 32 +++++++++++++++++++
> arch/arm64/boot/dts/qcom/ipq9574.dtsi | 9 ++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
> b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi index
> bdb396afb992..e4ae79b2fcd9 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi
> @@ -169,6 +169,38 @@ data-pins {
> bias-disable;
> };
> };
> +
> + sdc_default_state: sdc-default-state {
> + clk-pins {
> + pins = "gpio5";
> + function = "sdc_clk";
> + drive-strength = <8>;
> + bias-disable;
> + };
> +
> + cmd-pins {
> + pins = "gpio4";
> + function = "sdc_cmd";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> +
> + data-pins {
> + pins = "gpio0", "gpio1", "gpio2",
> + "gpio3", "gpio6", "gpio7",
> + "gpio8", "gpio9";
> + function = "sdc_data";
> + drive-strength = <8>;
> + bias-pull-up;
> + };
> +
> + rclk-pins {
> + pins = "gpio10";
> + function = "sdc_rclk";
> + drive-strength = <8>;
> + bias-pull-down;
> + };
> + };
> };
>
> &qpic_bam {
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> b/arch/arm64/boot/dts/qcom/ipq9574.dtsi index 86c9cb9fffc9..4b8c58982869
> 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> @@ -467,6 +467,15 @@ sdhc_1: mmc@7804000 {
> clock-names = "iface", "core", "xo", "ice";
> non-removable;
> supports-cqe;
> + pinctrl-0 = <&sdc_default_state>;
> + pinctrl-names = "default";
> + mmc-ddr-1_8v;
> + mmc-hs200-1_8v;
> + mmc-hs400-1_8v;
> + mmc-hs400-enhanced-strobe;
> + max-frequency = <384000000>;
> + bus-width = <8>;
> +
> status = "disabled";
> };