Linux Tegra architecture development
 help / color / mirror / Atom feed
* [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support
@ 2026-07-24  7:56 Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 1/5] dt-bindings: mmc: tegra: Document Tegra238 SDHCI Prathamesh Shete
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Prathamesh Shete @ 2026-07-24  7:56 UTC (permalink / raw)
  To: ulfh, adrian.hunter, thierry.reding, jonathanh, robh, krzk+dt,
	conor+dt
  Cc: linux-mmc, devicetree, linux-tegra, linux-kernel, pshete

Add SDHCI support for the Tegra238 and Tegra264 SoCs.

The series documents the compatible strings and adds the corresponding
SoC data. It also adds the Tegra264 SDMMC1 device tree node.

Prathamesh Shete (5):
  dt-bindings: mmc: tegra: Document Tegra238 SDHCI
  mmc: sdhci-tegra: Add Tegra238 SoC data
  dt-bindings: mmc: tegra: Document Tegra264 SDHCI
  mmc: sdhci-tegra: Add Tegra264 SoC data
  arm64: tegra: Add Tegra264 SDMMC1 device tree node

 .../bindings/mmc/nvidia,tegra20-sdhci.yaml    |  6 ++++
 arch/arm64/boot/dts/nvidia/tegra264.dtsi      | 34 +++++++++++++++++++
 drivers/mmc/host/sdhci-tegra.c                | 30 ++++++++++++++++
 3 files changed, 70 insertions(+)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/5] dt-bindings: mmc: tegra: Document Tegra238 SDHCI
  2026-07-24  7:56 [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support Prathamesh Shete
@ 2026-07-24  7:56 ` Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 2/5] mmc: sdhci-tegra: Add Tegra238 SoC data Prathamesh Shete
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Prathamesh Shete @ 2026-07-24  7:56 UTC (permalink / raw)
  To: ulfh, adrian.hunter, thierry.reding, jonathanh, robh, krzk+dt,
	conor+dt
  Cc: linux-mmc, devicetree, linux-tegra, linux-kernel, pshete

Add the compatible string for the SDHCI block found on the Tegra238 SoC.

Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
---
 .../devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml         | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
index 72987f0326a1..0926a0cb892e 100644
--- a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
@@ -39,6 +39,10 @@ properties:
               - nvidia,tegra234-sdhci
           - const: nvidia,tegra186-sdhci
 
+      - items:
+          - const: nvidia,tegra238-sdhci
+          - const: nvidia,tegra194-sdhci
+
   reg:
     maxItems: 1
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/5] mmc: sdhci-tegra: Add Tegra238 SoC data
  2026-07-24  7:56 [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 1/5] dt-bindings: mmc: tegra: Document Tegra238 SDHCI Prathamesh Shete
@ 2026-07-24  7:56 ` Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 3/5] dt-bindings: mmc: tegra: Document Tegra264 SDHCI Prathamesh Shete
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Prathamesh Shete @ 2026-07-24  7:56 UTC (permalink / raw)
  To: ulfh, adrian.hunter, thierry.reding, jonathanh, robh, krzk+dt,
	conor+dt
  Cc: linux-mmc, devicetree, linux-tegra, linux-kernel, pshete

Add a new SoC data structure for Tegra238 platforms and register the
nvidia,tegra238-sdhci compatible string. Configure the supported
features and tap delay values for the Tegra238 SDHCI controller.

Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
---
 drivers/mmc/host/sdhci-tegra.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 221e48b59f48..5fd900ff9eb5 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -1572,7 +1572,22 @@ static const struct sdhci_tegra_soc_data soc_data_tegra234 = {
 	.max_tap_delay = 111,
 };
 
+static const struct sdhci_tegra_soc_data soc_data_tegra238 = {
+	.pdata = &sdhci_tegra186_pdata,
+	.dma_mask = DMA_BIT_MASK(39),
+	.nvquirks = NVQUIRK_NEEDS_PAD_CONTROL |
+		    NVQUIRK_HAS_PADCALIB |
+		    NVQUIRK_DIS_CARD_CLK_CONFIG_TAP |
+		    NVQUIRK_ENABLE_SDR50 |
+		    NVQUIRK_ENABLE_SDR104 |
+		    NVQUIRK_PROGRAM_STREAMID |
+		    NVQUIRK_HAS_TMCLK,
+	.min_tap_delay = 95,
+	.max_tap_delay = 111,
+};
+
 static const struct of_device_id sdhci_tegra_dt_match[] = {
+	{ .compatible = "nvidia,tegra238-sdhci", .data = &soc_data_tegra238 },
 	{ .compatible = "nvidia,tegra234-sdhci", .data = &soc_data_tegra234 },
 	{ .compatible = "nvidia,tegra194-sdhci", .data = &soc_data_tegra194 },
 	{ .compatible = "nvidia,tegra186-sdhci", .data = &soc_data_tegra186 },
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/5] dt-bindings: mmc: tegra: Document Tegra264 SDHCI
  2026-07-24  7:56 [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 1/5] dt-bindings: mmc: tegra: Document Tegra238 SDHCI Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 2/5] mmc: sdhci-tegra: Add Tegra238 SoC data Prathamesh Shete
@ 2026-07-24  7:56 ` Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 4/5] mmc: sdhci-tegra: Add Tegra264 SoC data Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 5/5] arm64: tegra: Add Tegra264 SDMMC1 device tree node Prathamesh Shete
  4 siblings, 0 replies; 6+ messages in thread
From: Prathamesh Shete @ 2026-07-24  7:56 UTC (permalink / raw)
  To: ulfh, adrian.hunter, thierry.reding, jonathanh, robh, krzk+dt,
	conor+dt
  Cc: linux-mmc, devicetree, linux-tegra, linux-kernel, pshete

Add the compatible string for the SDHCI block found on the Tegra264 SoC.

Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
---
 .../devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml         | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
index 0926a0cb892e..3cac067c7c98 100644
--- a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.yaml
@@ -40,7 +40,9 @@ properties:
           - const: nvidia,tegra186-sdhci
 
       - items:
-          - const: nvidia,tegra238-sdhci
+          - enum:
+              - nvidia,tegra238-sdhci
+              - nvidia,tegra264-sdhci
           - const: nvidia,tegra194-sdhci
 
   reg:
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/5] mmc: sdhci-tegra: Add Tegra264 SoC data
  2026-07-24  7:56 [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support Prathamesh Shete
                   ` (2 preceding siblings ...)
  2026-07-24  7:56 ` [PATCH 3/5] dt-bindings: mmc: tegra: Document Tegra264 SDHCI Prathamesh Shete
@ 2026-07-24  7:56 ` Prathamesh Shete
  2026-07-24  7:56 ` [PATCH 5/5] arm64: tegra: Add Tegra264 SDMMC1 device tree node Prathamesh Shete
  4 siblings, 0 replies; 6+ messages in thread
From: Prathamesh Shete @ 2026-07-24  7:56 UTC (permalink / raw)
  To: ulfh, adrian.hunter, thierry.reding, jonathanh, robh, krzk+dt,
	conor+dt
  Cc: linux-mmc, devicetree, linux-tegra, linux-kernel, pshete

Add a new SoC data structure for Tegra264 platforms and register the
nvidia,tegra264-sdhci compatible string. Configure the supported
features and tap delay values for the Tegra264 SDHCI controller.

Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
---
 drivers/mmc/host/sdhci-tegra.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 5fd900ff9eb5..5c5efb62d7ec 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -1572,6 +1572,20 @@ static const struct sdhci_tegra_soc_data soc_data_tegra234 = {
 	.max_tap_delay = 111,
 };
 
+static const struct sdhci_tegra_soc_data soc_data_tegra264 = {
+	.pdata = &sdhci_tegra186_pdata,
+	.dma_mask = DMA_BIT_MASK(39),
+	.nvquirks = NVQUIRK_NEEDS_PAD_CONTROL |
+		    NVQUIRK_HAS_PADCALIB |
+		    NVQUIRK_DIS_CARD_CLK_CONFIG_TAP |
+		    NVQUIRK_ENABLE_SDR50 |
+		    NVQUIRK_ENABLE_SDR104 |
+		    NVQUIRK_PROGRAM_STREAMID |
+		    NVQUIRK_HAS_TMCLK,
+	.min_tap_delay = 95,
+	.max_tap_delay = 111,
+};
+
 static const struct sdhci_tegra_soc_data soc_data_tegra238 = {
 	.pdata = &sdhci_tegra186_pdata,
 	.dma_mask = DMA_BIT_MASK(39),
@@ -1587,6 +1601,7 @@ static const struct sdhci_tegra_soc_data soc_data_tegra238 = {
 };
 
 static const struct of_device_id sdhci_tegra_dt_match[] = {
+	{ .compatible = "nvidia,tegra264-sdhci", .data = &soc_data_tegra264 },
 	{ .compatible = "nvidia,tegra238-sdhci", .data = &soc_data_tegra238 },
 	{ .compatible = "nvidia,tegra234-sdhci", .data = &soc_data_tegra234 },
 	{ .compatible = "nvidia,tegra194-sdhci", .data = &soc_data_tegra194 },
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 5/5] arm64: tegra: Add Tegra264 SDMMC1 device tree node
  2026-07-24  7:56 [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support Prathamesh Shete
                   ` (3 preceding siblings ...)
  2026-07-24  7:56 ` [PATCH 4/5] mmc: sdhci-tegra: Add Tegra264 SoC data Prathamesh Shete
@ 2026-07-24  7:56 ` Prathamesh Shete
  4 siblings, 0 replies; 6+ messages in thread
From: Prathamesh Shete @ 2026-07-24  7:56 UTC (permalink / raw)
  To: ulfh, adrian.hunter, thierry.reding, jonathanh, robh, krzk+dt,
	conor+dt
  Cc: linux-mmc, devicetree, linux-tegra, linux-kernel, pshete

Add device tree node for the Tegra264 SDMMC1 instance.

Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
---
 arch/arm64/boot/dts/nvidia/tegra264.dtsi | 34 ++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra264.dtsi b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
index 2d2cb1a3d95c..f1eafb6a3970 100644
--- a/arch/arm64/boot/dts/nvidia/tegra264.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra264.dtsi
@@ -3631,6 +3631,40 @@
 			status = "disabled";
 		};
 
+		mmc@c570000 {
+			compatible = "nvidia,tegra264-sdhci", "nvidia,tegra194-sdhci";
+			reg = <0x00 0x0c570000 0x0 0x10000>;
+			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&bpmp TEGRA264_CLK_SDMMC1>,
+				 <&bpmp TEGRA264_CLK_SDMMC_LEGACY_TM>;
+			clock-names = "sdhci", "tmclk";
+			assigned-clocks = <&bpmp TEGRA264_CLK_SDMMC1>,
+					  <&bpmp TEGRA264_CLK_PLLC4_MUXED>;
+			assigned-clock-parents = <&bpmp TEGRA264_CLK_PLLC4_MUXED>,
+						 <&bpmp TEGRA264_CLK_PLLC4_OUT0>;
+			resets = <&bpmp TEGRA264_RESET_SDMMC1>;
+			reset-names = "sdhci";
+			interconnects = <&mc TEGRA264_MEMORY_CLIENT_SDMMC0R &emc>,
+					<&mc TEGRA264_MEMORY_CLIENT_SDMMC0W &emc>;
+			interconnect-names = "dma-mem", "write";
+			iommus = <&smmu2 TEGRA264_SID_SDMMC0>;
+			nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
+			nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x07>;
+			nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x06>;
+			nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
+			nvidia,pad-autocal-pull-up-offset-sdr104 = <0x00>;
+			nvidia,pad-autocal-pull-down-offset-sdr104 = <0x00>;
+			nvidia,default-tap = <0x6>;
+			nvidia,default-trim = <0x0>;
+			sd-uhs-sdr12;
+			sd-uhs-sdr25;
+			sd-uhs-sdr50;
+			sd-uhs-sdr104;
+			mmc-hs200-1_8v;
+			dma-coherent;
+			status = "disabled";
+		};
+
 		i2c0: i2c@c630000 {
 			compatible = "nvidia,tegra264-i2c";
 			reg = <0x00 0x0c630000 0x0 0x10000>;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-24  7:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-24  7:56 [PATCH 0/5] mmc: tegra: Add Tegra238 and Tegra264 SDHCI support Prathamesh Shete
2026-07-24  7:56 ` [PATCH 1/5] dt-bindings: mmc: tegra: Document Tegra238 SDHCI Prathamesh Shete
2026-07-24  7:56 ` [PATCH 2/5] mmc: sdhci-tegra: Add Tegra238 SoC data Prathamesh Shete
2026-07-24  7:56 ` [PATCH 3/5] dt-bindings: mmc: tegra: Document Tegra264 SDHCI Prathamesh Shete
2026-07-24  7:56 ` [PATCH 4/5] mmc: sdhci-tegra: Add Tegra264 SoC data Prathamesh Shete
2026-07-24  7:56 ` [PATCH 5/5] arm64: tegra: Add Tegra264 SDMMC1 device tree node Prathamesh Shete

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox