[PATCH 07/11] arm64: tegra: Enable SDHCI controllers on P3110

Jon Hunter jonathanh at nvidia.com
Wed Mar 8 03:46:10 PST 2017


On 23/02/17 17:30, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
> 
> 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 <treding at nvidia.com>
> ---
>  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?

>  		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?

> +	};
> +
> +	/* 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



More information about the linux-arm-kernel mailing list