[PATCH 07/11] arm64: tegra: Enable SDHCI controllers on P3110
From: jonathanh@nvidia.com (Jon Hunter)
Date: 2017-03-08 11:46:10
Also in:
linux-tegra
On 23/02/17 17:30, Thierry Reding wrote:
quoted hunk ↗ jump to hunk
From: Thierry Reding <redacted> The P3110 processor module wires one of the SDHCI controllers to an on- board eMMC and exposes another set of SD/MMC signals on the connector to support an external SD/MMC card. A third controller is connected to the SDIO pins of an M.2 KEY E connector. Signed-off-by: Thierry Reding <redacted> --- arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi index 1a9ac73b4ecb..b18e166527d8 100644 --- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi@@ -7,6 +7,8 @@ compatible = "nvidia,p3310", "nvidia,tegra186"; aliases { + sdhci0 = "/sdhci at 3460000"; + sdhci1 = "/sdhci at 3400000";
Any reason why you don't include all 3 sdhci controllers here?
quoted hunk ↗ jump to hunk
serial0 = &uarta; i2c0 = "/bpmp/i2c"; i2c1 = "/i2c at 3160000";@@ -72,6 +74,32 @@ status = "okay"; }; + /* SDMMC1 (SD/MMC) */ + sdhci at 3400000 { + status = "okay"; + + cd-gpios = <&gpio TEGRA_MAIN_GPIO(P, 6) GPIO_ACTIVE_LOW>;
I see the CD as P-5 and not P-6 on the schematic.
+ wp-gpios = <&gpio TEGRA_MAIN_GPIO(P, 4) GPIO_ACTIVE_LOW>; + + vqmmc-supply = <&vddio_sdmmc1>; + vmmc-supply = <&vdd_sd>;
The card slot is on the carrier board and although the cd and wp pins are allocated on the cvm, I did not see a reference to the vmmc-supply on the cvm. So should the 'vmmc-supply' be in the carrier board file?
quoted hunk ↗ jump to hunk
+ }; + + /* SDMMC3 (SDIO) */ + sdhci at 3440000 { + status = "okay"; + }; + + /* SDMMC4 (eMMC) */ + sdhci at 3460000 { + status = "okay"; + bus-width = <8>; + non-removable; + + vqmmc-supply = <&vdd_1v8_ap>; + vmmc-supply = <&vdd_3v3_sys>; + }; + hsp at 3c00000 { status = "okay"; };@@ -333,5 +361,19 @@ vin-supply = <&vdd_1v8>; }; + + vdd_sd: regulator at 2 { + compatible = "regulator-fixed"; + reg = <2>; + + regulator-name = "SD_CARD_SW_PWR"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&gpio TEGRA_MAIN_GPIO(P, 5) GPIO_ACTIVE_HIGH>;
Here I see the gpio as P-6 and not P-5.
+ enable-active-high; + + vin-supply = <&vdd_3v3_sys>; + }; }; };
I also see the above regulator on the carrier board and not on the cvm. Cheers Jon -- nvpublic