2015-08-27 09:29:49

by Jaehoon Chung

[permalink] [raw]
Subject: [PATCH] ARM: dts: use vqmmc-supply of emmc/sd for exynos4412-odroid-common

Currently vmmc's property is wrong.
If it needs to control two supplies, then it has to use vmmc/vqmmc-supply.
(Card supply power and I/O Line supply Power.)

Signed-off-by: Jaehoon Chung <[email protected]>
---
arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index ca7d168..4ddabfd 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -461,10 +461,10 @@
&mshc_0 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
- vmmc-supply = <&ldo20_reg &buck8_reg>;
+ vmmc-supply = <&ldo20_reg>;
+ vqmmc-supply = <&buck8_reg>;
mmc-pwrseq = <&emmc_pwrseq>;
status = "okay";
-
num-slots = <1>;
broken-cd;
card-detect-delay = <200>;
@@ -485,7 +485,8 @@
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default";
- vmmc-supply = <&ldo4_reg &ldo21_reg>;
+ vmmc-supply = <&ldo21_reg>;
+ vqmmc-supply = <&ldo4_reg>;
cd-gpios = <&gpk2 2 0>;
cd-inverted;
status = "okay";
--
1.9.1


2015-08-27 10:03:27

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: use vqmmc-supply of emmc/sd for exynos4412-odroid-common

Hello Jaehoon,

On 08/27/2015 11:29 AM, Jaehoon Chung wrote:
> Currently vmmc's property is wrong.
> If it needs to control two supplies, then it has to use vmmc/vqmmc-supply.
> (Card supply power and I/O Line supply Power.)
>
> Signed-off-by: Jaehoon Chung <[email protected]>
> ---
> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> index ca7d168..4ddabfd 100644
> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> @@ -461,10 +461,10 @@
> &mshc_0 {
> pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
> pinctrl-names = "default";
> - vmmc-supply = <&ldo20_reg &buck8_reg>;
> + vmmc-supply = <&ldo20_reg>;
> + vqmmc-supply = <&buck8_reg>;
> mmc-pwrseq = <&emmc_pwrseq>;
> status = "okay";
> -
> num-slots = <1>;
> broken-cd;
> card-detect-delay = <200>;
> @@ -485,7 +485,8 @@
> bus-width = <4>;
> pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> pinctrl-names = "default";
> - vmmc-supply = <&ldo4_reg &ldo21_reg>;
> + vmmc-supply = <&ldo21_reg>;
> + vqmmc-supply = <&ldo4_reg>;
> cd-gpios = <&gpk2 2 0>;
> cd-inverted;
> status = "okay";
>

I didn't check against the board schematics
but the change makes sense to me.

Reviewed-by: Javier Martinez Canillas <[email protected]>

Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America

2015-08-27 12:26:52

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: use vqmmc-supply of emmc/sd for exynos4412-odroid-common

W dniu 27.08.2015 o 18:29, Jaehoon Chung pisze:
> Currently vmmc's property is wrong.
> If it needs to control two supplies, then it has to use vmmc/vqmmc-supply.
> (Card supply power and I/O Line supply Power.)
>
> Signed-off-by: Jaehoon Chung <[email protected]>
> ---
> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> index ca7d168..4ddabfd 100644
> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> @@ -461,10 +461,10 @@
> &mshc_0 {
> pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
> pinctrl-names = "default";
> - vmmc-supply = <&ldo20_reg &buck8_reg>;
> + vmmc-supply = <&ldo20_reg>;
> + vqmmc-supply = <&buck8_reg>;

Shouldn't this be reversed? LDO20 has 1.8V and it goes to MMC connector,
so it should be VQMMC?

In the same time I can't find on schematics where BUCK8 goes...

The SDHCI_2 node below looks good.

Best regards,
Krzysztof

> mmc-pwrseq = <&emmc_pwrseq>;
> status = "okay";
> -
> num-slots = <1>;
> broken-cd;
> card-detect-delay = <200>;
> @@ -485,7 +485,8 @@
> bus-width = <4>;
> pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
> pinctrl-names = "default";
> - vmmc-supply = <&ldo4_reg &ldo21_reg>;
> + vmmc-supply = <&ldo21_reg>;
> + vqmmc-supply = <&ldo4_reg>;
> cd-gpios = <&gpk2 2 0>;
> cd-inverted;
> status = "okay";
>

2015-08-28 01:49:03

by Jaehoon Chung

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: use vqmmc-supply of emmc/sd for exynos4412-odroid-common

On 08/27/2015 09:26 PM, Krzysztof Kozlowski wrote:
> W dniu 27.08.2015 o 18:29, Jaehoon Chung pisze:
>> Currently vmmc's property is wrong.
>> If it needs to control two supplies, then it has to use vmmc/vqmmc-supply.
>> (Card supply power and I/O Line supply Power.)
>>
>> Signed-off-by: Jaehoon Chung <[email protected]>
>> ---
>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>> index ca7d168..4ddabfd 100644
>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>> @@ -461,10 +461,10 @@
>> &mshc_0 {
>> pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
>> pinctrl-names = "default";
>> - vmmc-supply = <&ldo20_reg &buck8_reg>;
>> + vmmc-supply = <&ldo20_reg>;
>> + vqmmc-supply = <&buck8_reg>;
>
> Shouldn't this be reversed? LDO20 has 1.8V and it goes to MMC connector,
> so it should be VQMMC?

If my schematics is right thing, buck8 is used LAN card power.
I will send after removing buck8_reg. how about?
Anyway, Thanks for pointing out. :)

I don't know who this regulator applied. I have guessed that it used for eMMC.
Sorry for guessing.

Best Regards,
Jaehoon Chung

>
> In the same time I can't find on schematics where BUCK8 goes...
>
> The SDHCI_2 node below looks good.
>
> Best regards,
> Krzysztof
>
>> mmc-pwrseq = <&emmc_pwrseq>;
>> status = "okay";
>> -
>> num-slots = <1>;
>> broken-cd;
>> card-detect-delay = <200>;
>> @@ -485,7 +485,8 @@
>> bus-width = <4>;
>> pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
>> pinctrl-names = "default";
>> - vmmc-supply = <&ldo4_reg &ldo21_reg>;
>> + vmmc-supply = <&ldo21_reg>;
>> + vqmmc-supply = <&ldo4_reg>;
>> cd-gpios = <&gpk2 2 0>;
>> cd-inverted;
>> status = "okay";
>>
>
>
>

2015-08-28 01:57:08

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: use vqmmc-supply of emmc/sd for exynos4412-odroid-common

On 28.08.2015 10:48, Jaehoon Chung wrote:
> On 08/27/2015 09:26 PM, Krzysztof Kozlowski wrote:
>> W dniu 27.08.2015 o 18:29, Jaehoon Chung pisze:
>>> Currently vmmc's property is wrong.
>>> If it needs to control two supplies, then it has to use vmmc/vqmmc-supply.
>>> (Card supply power and I/O Line supply Power.)
>>>
>>> Signed-off-by: Jaehoon Chung <[email protected]>
>>> ---
>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 ++++---
>>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>>> index ca7d168..4ddabfd 100644
>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>>> @@ -461,10 +461,10 @@
>>> &mshc_0 {
>>> pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
>>> pinctrl-names = "default";
>>> - vmmc-supply = <&ldo20_reg &buck8_reg>;
>>> + vmmc-supply = <&ldo20_reg>;
>>> + vqmmc-supply = <&buck8_reg>;
>>
>> Shouldn't this be reversed? LDO20 has 1.8V and it goes to MMC connector,
>> so it should be VQMMC?
>
> If my schematics is right thing, buck8 is used LAN card power.
> I will send after removing buck8_reg. how about?
> Anyway, Thanks for pointing out. :)

Removing this regulator from this node would effectively disable it.
That could affect other components like LAN.

Anyway before fixing the order I would prefer to find the right
regulators used by MSHC node.

Best regards,
Krzysztof

>
> I don't know who this regulator applied. I have guessed that it used for eMMC.
> Sorry for guessing.
>
> Best Regards,
> Jaehoon Chung
>
>>
>> In the same time I can't find on schematics where BUCK8 goes...
>>
>> The SDHCI_2 node below looks good.
>>
>> Best regards,
>> Krzysztof
>>
>>> mmc-pwrseq = <&emmc_pwrseq>;
>>> status = "okay";
>>> -
>>> num-slots = <1>;
>>> broken-cd;
>>> card-detect-delay = <200>;
>>> @@ -485,7 +485,8 @@
>>> bus-width = <4>;
>>> pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
>>> pinctrl-names = "default";
>>> - vmmc-supply = <&ldo4_reg &ldo21_reg>;
>>> + vmmc-supply = <&ldo21_reg>;
>>> + vqmmc-supply = <&ldo4_reg>;
>>> cd-gpios = <&gpk2 2 0>;
>>> cd-inverted;
>>> status = "okay";
>>>
>>
>>
>>
>
>

2015-08-28 16:10:29

by Tobias Jakobi

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: use vqmmc-supply of emmc/sd for exynos4412-odroid-common

Hello,

Krzysztof Kozlowski wrote:
> On 28.08.2015 10:48, Jaehoon Chung wrote:
>> On 08/27/2015 09:26 PM, Krzysztof Kozlowski wrote:
>>> W dniu 27.08.2015 o 18:29, Jaehoon Chung pisze:
>>>> Currently vmmc's property is wrong.
>>>> If it needs to control two supplies, then it has to use vmmc/vqmmc-supply.
>>>> (Card supply power and I/O Line supply Power.)
>>>>
>>>> Signed-off-by: Jaehoon Chung <[email protected]>
>>>> ---
>>>> arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 7 ++++---
>>>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>>>> index ca7d168..4ddabfd 100644
>>>> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>>>> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
>>>> @@ -461,10 +461,10 @@
>>>> &mshc_0 {
>>>> pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
>>>> pinctrl-names = "default";
>>>> - vmmc-supply = <&ldo20_reg &buck8_reg>;
>>>> + vmmc-supply = <&ldo20_reg>;
>>>> + vqmmc-supply = <&buck8_reg>;
>>>
>>> Shouldn't this be reversed? LDO20 has 1.8V and it goes to MMC connector,
>>> so it should be VQMMC?
>>
>> If my schematics is right thing, buck8 is used LAN card power.
>> I will send after removing buck8_reg. how about?
>> Anyway, Thanks for pointing out. :)
>
> Removing this regulator from this node would effectively disable it.
> That could affect other components like LAN.
>
> Anyway before fixing the order I would prefer to find the right
> regulators used by MSHC node.
Please see this commit:
https://github.com/tobiasjakobi/linux-odroid/commit/113ffb92e0c7f58f15fe60b47d13eb2d65956d10

This was derived from private communication with Hardkernel.

I can't vouch for correctness though.

With best wishes,
Tobias



> Best regards,
> Krzysztof
>
>>
>> I don't know who this regulator applied. I have guessed that it used for eMMC.
>> Sorry for guessing.
>>
>> Best Regards,
>> Jaehoon Chung
>>
>>>
>>> In the same time I can't find on schematics where BUCK8 goes...
>>>
>>> The SDHCI_2 node below looks good.
>>>
>>> Best regards,
>>> Krzysztof
>>>
>>>> mmc-pwrseq = <&emmc_pwrseq>;
>>>> status = "okay";
>>>> -
>>>> num-slots = <1>;
>>>> broken-cd;
>>>> card-detect-delay = <200>;
>>>> @@ -485,7 +485,8 @@
>>>> bus-width = <4>;
>>>> pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
>>>> pinctrl-names = "default";
>>>> - vmmc-supply = <&ldo4_reg &ldo21_reg>;
>>>> + vmmc-supply = <&ldo21_reg>;
>>>> + vqmmc-supply = <&ldo4_reg>;
>>>> cd-gpios = <&gpk2 2 0>;
>>>> cd-inverted;
>>>> status = "okay";
>>>>
>>>
>>>
>>>
>>
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>