diff mbox

[RFC,4/8] mmc: sdhci-msm: Add regulator DT props to sdhci-msm bindings

Message ID 1467199233-20506-5-git-send-email-riteshh@codeaurora.org (mailing list archive)
State New, archived
Headers show

Commit Message

Ritesh Harjani June 29, 2016, 11:20 a.m. UTC
This patch adds the DT properties for voltage regulator nodes
for Qualcomm SDHCI driver.

Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
---
 Documentation/devicetree/bindings/mmc/sdhci-msm.txt | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Andy Gross June 29, 2016, 9:53 p.m. UTC | #1
On Wed, Jun 29, 2016 at 04:50:29PM +0530, Ritesh Harjani wrote:
> This patch adds the DT properties for voltage regulator nodes
> for Qualcomm SDHCI driver.
> 
> Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
> ---
>  Documentation/devicetree/bindings/mmc/sdhci-msm.txt | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
> index 851e66d..32cea75 100644
> --- a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
> @@ -17,7 +17,15 @@ Required properties:
>  	"iface" - Main peripheral bus clock (PCLK/HCLK - AHB Bus clock) (required)
>  	"core"	- SDC MMC clock (MCLK) (required)
>  	"bus"	- SDCC bus voter clock (optional)
> +- qcom,<supply>-voltage_level - specifies voltage levels for supply. Should be
> +					specified in pairs (min, max), units uV.
> +- qcom,<supply>-current_level - specifies load levels for supply in lpm or
> +					high power mode (hpm). Should be specified in
> +					pairs (lpm, hpm), units uA.

These seem like OPPs to me.  Why use something non-standard?

Check out Documentation/devicetree/bindings/opp/opp.txt

>  
> +Optional Properties:
> +	- qcom,<supply>-always-on - specifies whether supply should be kept "on" always.

Would this only be the base if mmc is used on this platform?  You could specify
this in the regulator binding itself if this is more of a global thing.

> +	- qcom,<supply>-lpm_sup - specifies whether supply can be kept in low power mode (lpm).
>  Example:
>  
>  	sdhc_1: sdhci@f9824900 {
> @@ -28,7 +36,13 @@ Example:
>  		non-removable;
>  
>  		vdd-supply = <&pm8941_l20>;
> +		qcom,vdd-voltage-level = <2950000 2950000>;
> +		qcom,vdd-current-level = <200 570000>;
> +
>  		vdd-io-supply = <&pm8941_s3>;
> +		qcom,vdd-io-always-on;
> +		qcom,vdd-io-voltage-level = <1800000 1800000>;
> +		qcom,vdd-io-current-level = <110 325000>;
>  
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&sdc1_clk &sdc1_cmd &sdc1_data>;
> @@ -45,7 +59,12 @@ Example:
>  		cd-gpios = <&msmgpio 62 0x1>;
>  
>  		vdd-supply = <&pm8941_l21>;
> +		qcom,vdd-voltage-level = <2950000 2950000>;
> +		qcom,vdd-current-level = <200 800000>;
> +
>  		vdd-io-supply = <&pm8941_l13>;
> +		qcom,vdd-io-voltage-level = <1800000 2950000>;
> +		qcom,vdd-io-current-level = <200 22000>;
>  
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data>;

Regards,

Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ritesh Harjani June 30, 2016, 1:30 p.m. UTC | #2
Hi Andy,

On 6/30/2016 3:23 AM, Andy Gross wrote:
> On Wed, Jun 29, 2016 at 04:50:29PM +0530, Ritesh Harjani wrote:
>> This patch adds the DT properties for voltage regulator nodes
>> for Qualcomm SDHCI driver.
>>
>> Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
>> ---
>>  Documentation/devicetree/bindings/mmc/sdhci-msm.txt | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
>> index 851e66d..32cea75 100644
>> --- a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
>> +++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
>> @@ -17,7 +17,15 @@ Required properties:
>>  	"iface" - Main peripheral bus clock (PCLK/HCLK - AHB Bus clock) (required)
>>  	"core"	- SDC MMC clock (MCLK) (required)
>>  	"bus"	- SDCC bus voter clock (optional)
>> +- qcom,<supply>-voltage_level - specifies voltage levels for supply. Should be
>> +					specified in pairs (min, max), units uV.
>> +- qcom,<supply>-current_level - specifies load levels for supply in lpm or
>> +					high power mode (hpm). Should be specified in
>> +					pairs (lpm, hpm), units uA.
>
> These seem like OPPs to me.  Why use something non-standard?
>
> Check out Documentation/devicetree/bindings/opp/opp.txt
Isn't OPP used w.r.t. DVFS?
This is voltage/load regulator supplies used to provide vdd/vdd-io to 
card. We require this to switch the I/O voltage while switching to UHS 
card mode or to turn on/off the regulators while not in use, (but not 
tied to voltage switching while different frequency transitions).

This is mentioned in the same way how other drivers uses vmmc/vqmmc, but 
the deviation in the name is since Qcom follows pwr_irq 
deviation(different from standard) to switch the I/O voltage, bus on/off.

>
>>
>> +Optional Properties:
>> +	- qcom,<supply>-always-on - specifies whether supply should be kept "on" always.
>
> Would this only be the base if mmc is used on this platform?  You could specify
> this in the regulator binding itself if this is more of a global thing.
This could be specific to SDHC nodes, like for emmc - we may need only 
vdd-io to be on. So we need this per sdhc node.

>
>> +	- qcom,<supply>-lpm_sup - specifies whether supply can be kept in low power mode (lpm).
>>  Example:
>>
>>  	sdhc_1: sdhci@f9824900 {
>> @@ -28,7 +36,13 @@ Example:
>>  		non-removable;
>>
>>  		vdd-supply = <&pm8941_l20>;
>> +		qcom,vdd-voltage-level = <2950000 2950000>;
>> +		qcom,vdd-current-level = <200 570000>;
>> +
>>  		vdd-io-supply = <&pm8941_s3>;
>> +		qcom,vdd-io-always-on;
>> +		qcom,vdd-io-voltage-level = <1800000 1800000>;
>> +		qcom,vdd-io-current-level = <110 325000>;
>>
>>  		pinctrl-names = "default";
>>  		pinctrl-0 = <&sdc1_clk &sdc1_cmd &sdc1_data>;
>> @@ -45,7 +59,12 @@ Example:
>>  		cd-gpios = <&msmgpio 62 0x1>;
>>
>>  		vdd-supply = <&pm8941_l21>;
>> +		qcom,vdd-voltage-level = <2950000 2950000>;
>> +		qcom,vdd-current-level = <200 800000>;
>> +
>>  		vdd-io-supply = <&pm8941_l13>;
>> +		qcom,vdd-io-voltage-level = <1800000 2950000>;
>> +		qcom,vdd-io-current-level = <200 22000>;
>>
>>  		pinctrl-names = "default";
>>  		pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data>;
>
> Regards,
>
> Andy
>

--
Regards
Ritesh
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Gross July 1, 2016, 4:22 a.m. UTC | #3
On Thu, Jun 30, 2016 at 07:00:54PM +0530, Ritesh Harjani wrote:
> Hi Andy,
> 
> On 6/30/2016 3:23 AM, Andy Gross wrote:
> >On Wed, Jun 29, 2016 at 04:50:29PM +0530, Ritesh Harjani wrote:
> >>This patch adds the DT properties for voltage regulator nodes
> >>for Qualcomm SDHCI driver.
> >>
> >>Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
> >>---
> >> Documentation/devicetree/bindings/mmc/sdhci-msm.txt | 19 +++++++++++++++++++
> >> 1 file changed, 19 insertions(+)
> >>
> >>diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
> >>index 851e66d..32cea75 100644
> >>--- a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
> >>+++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
> >>@@ -17,7 +17,15 @@ Required properties:
> >> 	"iface" - Main peripheral bus clock (PCLK/HCLK - AHB Bus clock) (required)
> >> 	"core"	- SDC MMC clock (MCLK) (required)
> >> 	"bus"	- SDCC bus voter clock (optional)
> >>+- qcom,<supply>-voltage_level - specifies voltage levels for supply. Should be
> >>+					specified in pairs (min, max), units uV.
> >>+- qcom,<supply>-current_level - specifies load levels for supply in lpm or
> >>+					high power mode (hpm). Should be specified in
> >>+					pairs (lpm, hpm), units uA.
> >
> >These seem like OPPs to me.  Why use something non-standard?
> >
> >Check out Documentation/devicetree/bindings/opp/opp.txt
> Isn't OPP used w.r.t. DVFS?
> This is voltage/load regulator supplies used to provide vdd/vdd-io to card.
> We require this to switch the I/O voltage while switching to UHS card mode
> or to turn on/off the regulators while not in use, (but not tied to voltage
> switching while different frequency transitions).

It isn't necessarily tied to DVFS.  Someone else can chime in if I am wrong
here.

I was expecting these different voltage points to be tied to the speed/mode.  As
such it would kind of fall under the normal OPP definition.  Same with the load.

> 
> This is mentioned in the same way how other drivers uses vmmc/vqmmc, but the
> deviation in the name is since Qcom follows pwr_irq deviation(different from
> standard) to switch the I/O voltage, bus on/off.

Ok.  Fair enough.

> 
> >
> >>
> >>+Optional Properties:
> >>+	- qcom,<supply>-always-on - specifies whether supply should be kept "on" always.
> >
> >Would this only be the base if mmc is used on this platform?  You could specify
> >this in the regulator binding itself if this is more of a global thing.
> This could be specific to SDHC nodes, like for emmc - we may need only
> vdd-io to be on. So we need this per sdhc node.

Ok.  thanks for the clarification


Regards,

Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
index 851e66d..32cea75 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
@@ -17,7 +17,15 @@  Required properties:
 	"iface" - Main peripheral bus clock (PCLK/HCLK - AHB Bus clock) (required)
 	"core"	- SDC MMC clock (MCLK) (required)
 	"bus"	- SDCC bus voter clock (optional)
+- qcom,<supply>-voltage_level - specifies voltage levels for supply. Should be
+					specified in pairs (min, max), units uV.
+- qcom,<supply>-current_level - specifies load levels for supply in lpm or
+					high power mode (hpm). Should be specified in
+					pairs (lpm, hpm), units uA.
 
+Optional Properties:
+	- qcom,<supply>-always-on - specifies whether supply should be kept "on" always.
+	- qcom,<supply>-lpm_sup - specifies whether supply can be kept in low power mode (lpm).
 Example:
 
 	sdhc_1: sdhci@f9824900 {
@@ -28,7 +36,13 @@  Example:
 		non-removable;
 
 		vdd-supply = <&pm8941_l20>;
+		qcom,vdd-voltage-level = <2950000 2950000>;
+		qcom,vdd-current-level = <200 570000>;
+
 		vdd-io-supply = <&pm8941_s3>;
+		qcom,vdd-io-always-on;
+		qcom,vdd-io-voltage-level = <1800000 1800000>;
+		qcom,vdd-io-current-level = <110 325000>;
 
 		pinctrl-names = "default";
 		pinctrl-0 = <&sdc1_clk &sdc1_cmd &sdc1_data>;
@@ -45,7 +59,12 @@  Example:
 		cd-gpios = <&msmgpio 62 0x1>;
 
 		vdd-supply = <&pm8941_l21>;
+		qcom,vdd-voltage-level = <2950000 2950000>;
+		qcom,vdd-current-level = <200 800000>;
+
 		vdd-io-supply = <&pm8941_l13>;
+		qcom,vdd-io-voltage-level = <1800000 2950000>;
+		qcom,vdd-io-current-level = <200 22000>;
 
 		pinctrl-names = "default";
 		pinctrl-0 = <&sdc2_clk &sdc2_cmd &sdc2_data>;