diff mbox

[06/10] ARM: dts: Add MSHC0 dt node for eMMC device for exynos3250-artik5 module

Message ID 1457921056-21257-7-git-send-email-cw00.choi@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chanwoo Choi March 14, 2016, 2:04 a.m. UTC
From: Jaehoon Chung <jh80.chung@samsung.com>

This patch adds MSHC (Mobile Storage Host Controller) dt node for Exynos3250
SoC. MSHC is an interface between the system and the eMMC device.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
---
 arch/arm/boot/dts/exynos3250-artik5.dtsi | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Krzysztof Kozlowski March 14, 2016, 6:57 a.m. UTC | #1
On 14.03.2016 11:04, Chanwoo Choi wrote:
> From: Jaehoon Chung <jh80.chung@samsung.com>
> 
> This patch adds MSHC (Mobile Storage Host Controller) dt node for Exynos3250
> SoC. MSHC is an interface between the system and the eMMC device.
> 
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> ---
>  arch/arm/boot/dts/exynos3250-artik5.dtsi | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
> index 97d0087efb9f..75b291c10cdc 100644
> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
> @@ -277,6 +277,25 @@
>  	};
>  };
>  
> +&mshc_0 {
> +	num-slots = <1>;
> +	broken-cd;
> +	non-removable;

Broken or non-removable, not both.

> +	cap-mmc-highspeed;
> +	desc-num = <4>;
> +	card-detect-delay = <200>;
> +	vmmc-supply = <&ldo11_reg>;

Isn't this vqmmc-supply?

BTW, both MMC0 regulators (ldo11, ldo12) are marked as always-on. Why
they cannot be controlled by XMMC0CDN (just like on Rinato)?

What is the benefit of making this patch separate from "Add
exynos3250-artik5 dtsi file for ARTIK5 module"? Does the board boot
properly without this patch?

Best regards,
Krzysztof

> +	clock-frequency = <100000000>;
> +	clock-freq-min-max = <400000 100000000>;
> +	samsung,dw-mshc-ciu-div = <1>;
> +	samsung,dw-mshc-sdr-timing = <0 1>;
> +	samsung,dw-mshc-ddr-timing = <1 2>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
> +	bus-width = <8>;
> +	status = "okay";
> +};
> +
>  &xusbxti {
>  	clock-frequency = <24000000>;
>  };
>
Chanwoo Choi March 14, 2016, 8:15 a.m. UTC | #2
On 2016? 03? 14? 15:57, Krzysztof Kozlowski wrote:
> On 14.03.2016 11:04, Chanwoo Choi wrote:
>> From: Jaehoon Chung <jh80.chung@samsung.com>
>>
>> This patch adds MSHC (Mobile Storage Host Controller) dt node for Exynos3250
>> SoC. MSHC is an interface between the system and the eMMC device.
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> ---
>>  arch/arm/boot/dts/exynos3250-artik5.dtsi | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>> index 97d0087efb9f..75b291c10cdc 100644
>> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
>> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>> @@ -277,6 +277,25 @@
>>  	};
>>  };
>>  
>> +&mshc_0 {
>> +	num-slots = <1>;
>> +	broken-cd;
>> +	non-removable;
> 
> Broken or non-removable, not both.

I'll remove the 'broken-cd' property.

> 
>> +	cap-mmc-highspeed;
>> +	desc-num = <4>;
>> +	card-detect-delay = <200>;
>> +	vmmc-supply = <&ldo11_reg>;
> 
> Isn't this vqmmc-supply?

I'll fix it as following by using ldo12_reg:
	vmmc-supply = <&ldo12_reg>;

> 
> BTW, both MMC0 regulators (ldo11, ldo12) are marked as always-on. Why
> they cannot be controlled by XMMC0CDN (just like on Rinato)?

I'll fix it like rinato board to handle the ldo11/ldo12 as following:
gpk0-2 is XMMC0CDN pin.

                       ldo11_reg: LDO11 {
-                               /* VDD_MMC */
+                               /* VDD74 ~ VDD75 */
                                regulator-name = "VLDO11_1.8V";
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
+                               samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
                        };

                        ldo12_reg: LDO12 {
@@ -177,7 +178,7 @@
                                regulator-name = "VLDO12_2.8V";
                                regulator-min-microvolt = <2800000>;
                                regulator-max-microvolt = <2800000>;
-                               regulator-always-on;
+                               samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
                        };

> 
> What is the benefit of making this patch separate from "Add
> exynos3250-artik5 dtsi file for ARTIK5 module"? Does the board boot
> properly without this patch?

OK. I'll merge it with 5/10 patch.

Best Regards,
Chanwoo Choi

[snip]
Krzysztof Kozlowski March 14, 2016, 9:59 a.m. UTC | #3
On 14.03.2016 17:15, Chanwoo Choi wrote:
> On 2016? 03? 14? 15:57, Krzysztof Kozlowski wrote:
>> On 14.03.2016 11:04, Chanwoo Choi wrote:
>>> From: Jaehoon Chung <jh80.chung@samsung.com>
>>>
>>> This patch adds MSHC (Mobile Storage Host Controller) dt node for Exynos3250
>>> SoC. MSHC is an interface between the system and the eMMC device.
>>>
>>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>>> Signed-off-by: Andi Shyti <andi.shyti@samsung.com>
>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>> ---
>>>  arch/arm/boot/dts/exynos3250-artik5.dtsi | 19 +++++++++++++++++++
>>>  1 file changed, 19 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>>> index 97d0087efb9f..75b291c10cdc 100644
>>> --- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
>>> +++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
>>> @@ -277,6 +277,25 @@
>>>  	};
>>>  };
>>>  
>>> +&mshc_0 {
>>> +	num-slots = <1>;
>>> +	broken-cd;
>>> +	non-removable;
>>
>> Broken or non-removable, not both.
> 
> I'll remove the 'broken-cd' property.
> 
>>
>>> +	cap-mmc-highspeed;
>>> +	desc-num = <4>;
>>> +	card-detect-delay = <200>;
>>> +	vmmc-supply = <&ldo11_reg>;
>>
>> Isn't this vqmmc-supply?
> 
> I'll fix it as following by using ldo12_reg:
> 	vmmc-supply = <&ldo12_reg>;

Sure, looks good.

> 
>>
>> BTW, both MMC0 regulators (ldo11, ldo12) are marked as always-on. Why
>> they cannot be controlled by XMMC0CDN (just like on Rinato)?
> 
> I'll fix it like rinato board to handle the ldo11/ldo12 as following:
> gpk0-2 is XMMC0CDN pin.

Great! Thanks,
Krzysztof
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
index 97d0087efb9f..75b291c10cdc 100644
--- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
+++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
@@ -277,6 +277,25 @@ 
 	};
 };
 
+&mshc_0 {
+	num-slots = <1>;
+	broken-cd;
+	non-removable;
+	cap-mmc-highspeed;
+	desc-num = <4>;
+	card-detect-delay = <200>;
+	vmmc-supply = <&ldo11_reg>;
+	clock-frequency = <100000000>;
+	clock-freq-min-max = <400000 100000000>;
+	samsung,dw-mshc-ciu-div = <1>;
+	samsung,dw-mshc-sdr-timing = <0 1>;
+	samsung,dw-mshc-ddr-timing = <1 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
+	bus-width = <8>;
+	status = "okay";
+};
+
 &xusbxti {
 	clock-frequency = <24000000>;
 };