* [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