diff mbox

ARM: tegra: add SD wp-gpios to Venice2 DT

Message ID 1398711219-23029-1-git-send-email-swarren@wwwdotorg.org (mailing list archive)
State New, archived
Headers show

Commit Message

Stephen Warren April 28, 2014, 6:53 p.m. UTC
From: Stephen Warren <swarren@nvidia.com>

Venice2 can detect write-protect on the SD card. Add the required
DT entries to allow this.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
Thierry, could you test this for me; my Venice2 has been sent away for
a few days for some rework. You should find that if you write-protect
your SD card, the kernel fails/panics trying to mount it as a r/w root
fs, whereas if the card is not write-protected, everything still works
fine. Thanks.
---
 arch/arm/boot/dts/tegra124-venice2.dts | 1 +
 1 file changed, 1 insertion(+)

Comments

Thierry Reding April 29, 2014, 1:34 p.m. UTC | #1
On Mon, Apr 28, 2014 at 12:53:39PM -0600, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
> 
> Venice2 can detect write-protect on the SD card. Add the required
> DT entries to allow this.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
> Thierry, could you test this for me; my Venice2 has been sent away for
> a few days for some rework. You should find that if you write-protect
> your SD card, the kernel fails/panics trying to mount it as a r/w root
> fs, whereas if the card is not write-protected, everything still works
> fine. Thanks.
> ---
>  arch/arm/boot/dts/tegra124-venice2.dts | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
> index 84a6ec039e1d..00e741ba6927 100644
> --- a/arch/arm/boot/dts/tegra124-venice2.dts
> +++ b/arch/arm/boot/dts/tegra124-venice2.dts
> @@ -943,6 +943,7 @@
>  	sdhci@0,700b0400 {
>  		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
>  		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
> +		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_HIGH>;

I need to make this GPIO_ACTIVE_LOW for this to work properly on my
Venice2. With that I can see the initrd reporting:

	mount: /dev/mmcblk0p1 is write-protected, mounting read-only

So with that changed:

Tested-by: Thierry Reding <treding@nvidia.com>
Stephen Warren May 6, 2014, 5:04 p.m. UTC | #2
On 04/29/2014 07:34 AM, Thierry Reding wrote:
> On Mon, Apr 28, 2014 at 12:53:39PM -0600, Stephen Warren wrote:
>> From: Stephen Warren <swarren@nvidia.com>
>>
>> Venice2 can detect write-protect on the SD card. Add the required
>> DT entries to allow this.
>>
>> Signed-off-by: Stephen Warren <swarren@nvidia.com>
>> ---
>> Thierry, could you test this for me; my Venice2 has been sent away for
>> a few days for some rework. You should find that if you write-protect
>> your SD card, the kernel fails/panics trying to mount it as a r/w root
>> fs, whereas if the card is not write-protected, everything still works
>> fine. Thanks.
>> ---
>>  arch/arm/boot/dts/tegra124-venice2.dts | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
>> index 84a6ec039e1d..00e741ba6927 100644
>> --- a/arch/arm/boot/dts/tegra124-venice2.dts
>> +++ b/arch/arm/boot/dts/tegra124-venice2.dts
>> @@ -943,6 +943,7 @@
>>  	sdhci@0,700b0400 {
>>  		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
>>  		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
>> +		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_HIGH>;
> 
> I need to make this GPIO_ACTIVE_LOW for this to work properly on my
> Venice2.

Ah yes, I need that too. The other kernel I was using as a reference
evidently doesn't use the GPIO flags for inversion, but rather a
separate wp-inverted property, which I hadn't noticed.

With the polarity fixed, I have applied this to Tegra's for-3.16/dt branch.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
index 84a6ec039e1d..00e741ba6927 100644
--- a/arch/arm/boot/dts/tegra124-venice2.dts
+++ b/arch/arm/boot/dts/tegra124-venice2.dts
@@ -943,6 +943,7 @@ 
 	sdhci@0,700b0400 {
 		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
 		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
+		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_HIGH>;
 		status = "okay";
 		bus-width = <4>;
 		vqmmc-supply = <&vddio_sdmmc3>;