linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: exynos: Add CD and WP pins to Odroid XU SD card
@ 2018-09-21 21:03 ` Krzysztof Kozlowski
  2018-09-24 10:04   ` Marek Szyprowski
  0 siblings, 1 reply; 3+ messages in thread
From: Krzysztof Kozlowski @ 2018-09-21 21:03 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-kernel
  Cc: Marek Szyprowski, Anand Moon

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@kernel.org>
---
 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>;
 	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 {
-- 
2.17.1


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

* Re: [PATCH] ARM: dts: exynos: Add CD and WP pins to Odroid XU SD card
  2018-09-21 21:03 ` [PATCH] ARM: dts: exynos: Add CD and WP pins to Odroid XU SD card Krzysztof Kozlowski
@ 2018-09-24 10:04   ` Marek Szyprowski
  2018-09-26 16:13     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 3+ messages in thread
From: Marek Szyprowski @ 2018-09-24 10:04 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Kukjin Kim, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-kernel
  Cc: Anand Moon

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@kernel.org>
> ---
>   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


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

* Re: [PATCH] ARM: dts: exynos: Add CD and WP pins to Odroid XU SD card
  2018-09-24 10:04   ` Marek Szyprowski
@ 2018-09-26 16:13     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2018-09-26 16:13 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: Kukjin Kim, devicetree, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, Anand Moon

On Mon, Sep 24, 2018 at 12:04:52PM +0200, Marek Szyprowski wrote:
> 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@kernel.org>
> > ---
> >   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.

Thanks for comments. In that case I'll add only the pin configuration to
be sure that pin stays pulled up.

Best regards,
Krzysztof

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

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

end of thread, other threads:[~2018-09-26 16:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20180921210332epcas3p423aaeeb84ec3d8a44c5a898949f992e8@epcas3p4.samsung.com>
2018-09-21 21:03 ` [PATCH] ARM: dts: exynos: Add CD and WP pins to Odroid XU SD card Krzysztof Kozlowski
2018-09-24 10:04   ` Marek Szyprowski
2018-09-26 16:13     ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).