Re: [PATCH] ARM: dts: exynos: Add CD and WP pins to Odroid XU SD card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Krzysztof,

On 2018-09-21 23:03, Krzysztof Kozlowski wrote:
> Defining card-detect and write-protect GPIO pins in Odroid XU SD Card
> does not change anything from functional point of view - dw-mmc driver
> was reading the state from registers.  Adding cd-gpios and wp-gpios
> properties changes only internal driver behavior to access the pins
> directly.
>
> Add them to DTS only to comprehensively describe the hardware.  Minor
> benefit is that write-protect pin configuration makes sure that it will
> be properly pulled up to indicate write access.
>
> This also removes debug messages:
>      dwmmc_exynos 12220000.mmc: No GPIO consumer cd found
>      dwmmc_exynos 12220000.mmc: No GPIO consumer wp found
>
> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> ---
>   arch/arm/boot/dts/exynos5410-odroidxu.dts | 12 +++++++++++-
>   1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/exynos5410-odroidxu.dts b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> index a2046f5f998c..dae360f29a47 100644
> --- a/arch/arm/boot/dts/exynos5410-odroidxu.dts
> +++ b/arch/arm/boot/dts/exynos5410-odroidxu.dts
> @@ -525,12 +525,14 @@
>   
>   &mmc_2 {
>   	status = "okay";
> +	wp-gpios = <&gpm5 0 GPIO_ACTIVE_LOW>;
> +	cd-gpios = <&gpc2 2 GPIO_ACTIVE_LOW>;
>   	card-detect-delay = <200>;
>   	samsung,dw-mshc-ciu-div = <3>;
>   	samsung,dw-mshc-sdr-timing = <0 4>;
>   	samsung,dw-mshc-ddr-timing = <0 2>;
>   	pinctrl-names = "default";
> -	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
> +	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4 &sd2_wp>;

IMHO there is no point adding cd-gpios property if CD line is already 
assigned to this device via respective pin ctrl entry (as special function).

Handling of WP line is even more controversial imho. Ideally the drivers 
or mmc core should check somehow if WP line is available or not and act 
respectively. WP line is not available on uSD card connector so there is 
no point describing it.

>   	bus-width = <4>;
>   	cap-sd-highspeed;
>   	vmmc-supply = <&ldo21_reg>;
> @@ -573,6 +575,14 @@
>   		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
>   		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
>   	};
> +
> +	sd2_wp: sd2-wp {
> +		samsung,pins = "gpm5-0";
> +		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
> +		/* Pin is floating so pull it up to disable write-protect */
> +		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
> +		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
> +	};
>   };
>   
>   &pwm {

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux