All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dinh Nguyen <dinguyen@kernel.org>
To: Tanmay Kathpalia <tanmay.kathpalia@altera.com>,
	linux-mmc@vger.kernel.org
Cc: ulfh@kernel.org, adrian.hunter@intel.com, krzk+dt@kernel.org,
	robh@kernel.org, conor+dt@kernel.org, p.zabel@pengutronix.de,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 2/8] arm64: dts: agilex5: add SD/eMMC host controller
Date: Wed, 19 Aug 2026 08:04:45 -0500	[thread overview]
Message-ID: <fcc5c96a-5b68-4eb3-bee2-952aa9029631@kernel.org> (raw)
In-Reply-To: <20260810190025.25045-3-tanmay.kathpalia@altera.com>



On 8/10/26 14:00, Tanmay Kathpalia wrote:
> The Agilex5 HPS includes a Cadence SD6HC that drives either an SD card
> or eMMC, depending on the SOCDK daughter card. It uses separate SDMCLK
> (CIU) and L4_MP (BIU) clocks, and has three resets for the host
> controller, Combo PHY, and SDMMC OCP bridge. DMA for this controller
> requires the SMMU (stream ID 5), so the SOCDK board enables it.
> 
> On the SOCDK OOBE card the slot is SD-only: fixed 3.3 V card supply and
> a GPIO-selected 3.3 V / 1.8 V I/O supply for UHS-I signalling up to
> SDR104.
> 
> Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
> ---
> Depends on commit ab45ecfab540 ("dt-bindings: reset: altr: add
> COMBOPHY_RESET for Agilex5"), which is already in mainline via the
> reset tree. It is not yet in mmc/next; apply or merge that commit when
> building/testing this patch on top of mmc/next.
> 
>   .../arm64/boot/dts/intel/socfpga_agilex5.dtsi | 25 ++++++++++++
>   .../boot/dts/intel/socfpga_agilex5_socdk.dts  | 38 ++++++++++++++++++-
>   2 files changed, 62 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
> index b06c6d5d60ee..5ccbd7bf2034 100644
> --- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
> +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
> @@ -300,6 +300,31 @@ portb: gpio-controller@0 {
>   			};
>   		};
>   
> +		/*
> +		 * Shared SD/eMMC controller node. On the SOCDK OOBE daughter-card
> +		 * this is used for SD card operation; on the SOCDK eMMC daughter-card
> +		 * it is configured for eMMC.
> +		 */
> +		emmc: mmc@10808000 {
> +			compatible = "altr,agilex5-sd6hc", "cdns,sd6hc";
> +			reg = <0x10808000 0x1000>;
> +			/*
> +			 * "ciu" (SDMCLK) is listed first so it is selected as the
> +			 * primary clock by the SDHCI platform layer; the SD6HC PHY
> +			 * timing calculations are derived from this clock rate.
> +			 */
> +			clocks = <&clkmgr AGILEX5_SDMCLK>, <&clkmgr AGILEX5_L4_MP_CLK>;
> +			clock-names = "ciu", "biu";
> +			dma-coherent;
> +			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
> +			iommus = <&smmu 5>;
> +			resets = <&rst SDMMC_RESET>, <&rst COMBOPHY_RESET>,
> +				 <&rst SDMMC_OCP_RESET>;
> +			reset-names = "sdhc-reset", "combophy", "sdmmc-ocp";
> +
> +			status = "disabled";
> +		};
> +
>   		nand: nand-controller@10b80000 {
>   			compatible = "cdns,hp-nfc";
>   			reg = <0x10b80000 0x10000>,
> diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts
> index 57d3c5807c65..f37038066922 100644
> --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts
> +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts
> @@ -36,9 +36,37 @@ memory@80000000 {
>   		/* We expect the bootloader to fill in the reg */
>   		reg = <0x0 0x80000000 0x0 0x0>;
>   	};
> +
> +	vqmmc_io_reg: regulator-1p8v {
> +		compatible = "regulator-gpio";
> +		gpios = <&portb 3 GPIO_ACTIVE_HIGH>;
> +		gpios-states = <0>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-min-microvolt = <1800000>;
> +		regulator-name = "vqmmc-io";
> +		states = <1800000 0x1>,
> +			 <3300000 0x0>;
> +	};
> +
> +	vmmc_reg: regulator-fixed-3p3v {
> +		compatible = "regulator-fixed";
> +		regulator-always-on;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-min-microvolt = <3300000>;
> +		regulator-name = "vcc-sd";
> +	};
>   };
>   
> -&gpio0 {
> +&emmc {
> +	bus-width = <4>;
> +	cap-sd-highspeed;
> +	disable-wp;
> +	max-frequency = <200000000>;
> +	no-mmc;
> +	sd-uhs-sdr104;
> +	vmmc-supply = <&vmmc_reg>;
> +	vqmmc-supply = <&vqmmc_io_reg>;
> +
>   	status = "okay";
>   };
>   
> @@ -59,6 +87,10 @@ emac2_phy0: ethernet-phy@0 {
>   	};
>   };
>   
> +&gpio0 {
> +	status = "okay";
> +};
> +
>   &gpio1 {
>   	status = "okay";
>   };
> @@ -100,6 +132,10 @@ root: partition@4200000 {
>   	};
>   };
>   
> +&smmu {
> +	status = "okay";
> +};
> +

you should no longer need this because of

10cf797f3f8a ("arm64: dts: socfpga: agilex5: Enable the SMMU")

Thanks,
Dinh


  reply	other threads:[~2026-08-19 13:04 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-10 19:00 [PATCH v4 0/8] mmc: sdhci-cadence: add SD6HC support and Agilex5 enablement Tanmay Kathpalia
2026-08-10 19:00 ` [PATCH v4 1/8] dt-bindings: mmc: add Cadence SD6HC binding Tanmay Kathpalia
2026-08-12 10:29   ` Krzysztof Kozlowski
2026-08-10 19:00 ` [PATCH v4 2/8] arm64: dts: agilex5: add SD/eMMC host controller Tanmay Kathpalia
2026-08-19 13:04   ` Dinh Nguyen [this message]
2026-08-10 19:00 ` [PATCH v4 3/8] dt-bindings: arm: altera: add Agilex5 SOCDK eMMC board variant Tanmay Kathpalia
2026-08-10 19:10   ` sashiko-bot
2026-08-10 19:18     ` Kathpalia, Tanmay
2026-08-10 19:00 ` [PATCH v4 4/8] arm64: dts: agilex5: add SOCDK eMMC daughter board Tanmay Kathpalia
2026-08-10 19:00 ` [PATCH v4 5/8] mmc: sdhci-cadence: rename SD4HC symbols for SD6HC groundwork Tanmay Kathpalia
2026-08-10 19:00 ` [PATCH v4 6/8] mmc: sdhci-cadence: refactor driver structure for V6 controller support Tanmay Kathpalia
2026-08-10 19:00 ` [PATCH v4 7/8] mmc: sdhci-cadence: add Cadence SD6HC support Tanmay Kathpalia
2026-08-10 19:18   ` sashiko-bot
2026-08-10 19:00 ` [PATCH v4 8/8] mmc: sdhci-cadence: add Altera Agilex5 " Tanmay Kathpalia

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=fcc5c96a-5b68-4eb3-bee2-952aa9029631@kernel.org \
    --to=dinguyen@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=tanmay.kathpalia@altera.com \
    --cc=ulfh@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.