diff mbox

[v7,5/7] ARM: dts: add pbias dt node

Message ID 1387560955-6547-6-git-send-email-balajitk@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Balaji T K Dec. 20, 2013, 5:35 p.m. UTC
Add pbias regulator node as a child of system control
module - syscon.

Signed-off-by: Balaji T K <balajitk@ti.com>
---
 arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
 arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
 arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
 arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
 5 files changed, 90 insertions(+), 0 deletions(-)

Comments

Tony Lindgren Dec. 21, 2013, 12:32 a.m. UTC | #1
* Balaji T K <balajitk@ti.com> [131220 09:37]:
> Add pbias regulator node as a child of system control
> module - syscon.
> 
> Signed-off-by: Balaji T K <balajitk@ti.com>

Benoit should queue this:

Acked-by: Tony Lindgren <tony@atomide.com>
--
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
Mark Rutland Jan. 6, 2014, 6:19 p.m. UTC | #2
On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
> Add pbias regulator node as a child of system control
> module - syscon.
> 
> Signed-off-by: Balaji T K <balajitk@ti.com>
> ---
>  arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
>  arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
>  arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
>  arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
>  arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
>  5 files changed, 90 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
> index d0df4c4..4e68df1 100644
> --- a/arch/arm/boot/dts/dra7.dtsi
> +++ b/arch/arm/boot/dts/dra7.dtsi
> @@ -110,6 +110,23 @@
>  			ti,hwmods = "counter_32k";
>  		};
>  
> +		dra7_ctrl_general: tisyscon@4a002e00 {
> +			compatible = "ti,control-syscon", "syscon", "simple-bus";

Please, don't use simple-bus like that. The components below this node
depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
driver probe it's children.

> +			reg = <0x4a002e00 0x7c>;
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges;
> +			pbias_regulator: pbias_regulator {
> +				compatible = "ti,pbias-omap";
> +				reg = <0 0x4>;
> +				pbias_mmc_reg: pbias_mmc_omap5 {
> +					regulator-name = "pbias_mmc_omap5";
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <3000000>;
> +				};
> +			};
> +		};
> +

Thanks,
Mark.
--
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
Balaji T K Jan. 7, 2014, 10:18 a.m. UTC | #3
On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
> On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
>> Add pbias regulator node as a child of system control
>> module - syscon.
>>
>> Signed-off-by: Balaji T K <balajitk@ti.com>
>> ---
>>   arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
>>   arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
>>   arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
>>   arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
>>   arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
>>   5 files changed, 90 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
>> index d0df4c4..4e68df1 100644
>> --- a/arch/arm/boot/dts/dra7.dtsi
>> +++ b/arch/arm/boot/dts/dra7.dtsi
>> @@ -110,6 +110,23 @@
>>   			ti,hwmods = "counter_32k";
>>   		};
>>
>> +		dra7_ctrl_general: tisyscon@4a002e00 {
>> +			compatible = "ti,control-syscon", "syscon", "simple-bus";
>
> Please, don't use simple-bus like that. The components below this node
> depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
> driver probe it's children.

Hi Mark,

Actually ti,control-syscon driver does not exist, so I can remove it,
and simple-bus is needed for child creation.

>
>> +			reg = <0x4a002e00 0x7c>;
>> +			#address-cells = <1>;
>> +			#size-cells = <1>;
>> +			ranges;
>> +			pbias_regulator: pbias_regulator {
>> +				compatible = "ti,pbias-omap";
>> +				reg = <0 0x4>;
>> +				pbias_mmc_reg: pbias_mmc_omap5 {
>> +					regulator-name = "pbias_mmc_omap5";
>> +					regulator-min-microvolt = <1800000>;
>> +					regulator-max-microvolt = <3000000>;
>> +				};
>> +			};
>> +		};
>> +
>
> Thanks,
> Mark.
>
--
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
Mark Rutland Jan. 7, 2014, 10:57 a.m. UTC | #4
On Tue, Jan 07, 2014 at 10:18:15AM +0000, Balaji T K wrote:
> On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
> > On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
> >> Add pbias regulator node as a child of system control
> >> module - syscon.
> >>
> >> Signed-off-by: Balaji T K <balajitk@ti.com>
> >> ---
> >>   arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
> >>   arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
> >>   arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
> >>   arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
> >>   arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
> >>   5 files changed, 90 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
> >> index d0df4c4..4e68df1 100644
> >> --- a/arch/arm/boot/dts/dra7.dtsi
> >> +++ b/arch/arm/boot/dts/dra7.dtsi
> >> @@ -110,6 +110,23 @@
> >>   			ti,hwmods = "counter_32k";
> >>   		};
> >>
> >> +		dra7_ctrl_general: tisyscon@4a002e00 {
> >> +			compatible = "ti,control-syscon", "syscon", "simple-bus";
> >
> > Please, don't use simple-bus like that. The components below this node
> > depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
> > driver probe it's children.
> 
> Hi Mark,
> 
> Actually ti,control-syscon driver does not exist, so I can remove it,
> and simple-bus is needed for child creation.

This still shows up as a syscon node, with a reg property, and syscon is
not an extension of simple-bus.

There are properties in the parent node that children depend on, and
that makes me wary of describing it as a simple bus. I'd expect to be
able to move child nodes out of a simple-bus if ranges provided an
idmap, and I can't do that here.

Thanks,
Mark.

> 
> >
> >> +			reg = <0x4a002e00 0x7c>;
> >> +			#address-cells = <1>;
> >> +			#size-cells = <1>;
> >> +			ranges;
> >> +			pbias_regulator: pbias_regulator {
> >> +				compatible = "ti,pbias-omap";
> >> +				reg = <0 0x4>;
> >> +				pbias_mmc_reg: pbias_mmc_omap5 {
> >> +					regulator-name = "pbias_mmc_omap5";
> >> +					regulator-min-microvolt = <1800000>;
> >> +					regulator-max-microvolt = <3000000>;
> >> +				};
> >> +			};
> >> +		};
> >> +
> >
> > Thanks,
> > Mark.
> >
> 
--
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
Balaji T K Jan. 7, 2014, 12:23 p.m. UTC | #5
On Tuesday 07 January 2014 04:27 PM, Mark Rutland wrote:
> On Tue, Jan 07, 2014 at 10:18:15AM +0000, Balaji T K wrote:
>> On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
>>> On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
>>>> Add pbias regulator node as a child of system control
>>>> module - syscon.
>>>>
>>>> Signed-off-by: Balaji T K <balajitk@ti.com>
>>>> ---
>>>>    arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
>>>>    arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
>>>>    arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
>>>>    arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
>>>>    arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
>>>>    5 files changed, 90 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
>>>> index d0df4c4..4e68df1 100644
>>>> --- a/arch/arm/boot/dts/dra7.dtsi
>>>> +++ b/arch/arm/boot/dts/dra7.dtsi
>>>> @@ -110,6 +110,23 @@
>>>>    			ti,hwmods = "counter_32k";
>>>>    		};
>>>>
>>>> +		dra7_ctrl_general: tisyscon@4a002e00 {
>>>> +			compatible = "ti,control-syscon", "syscon", "simple-bus";
>>>
>>> Please, don't use simple-bus like that. The components below this node
>>> depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
>>> driver probe it's children.
>>
>> Hi Mark,
>>
>> Actually ti,control-syscon driver does not exist, so I can remove it,
>> and simple-bus is needed for child creation.
>
> This still shows up as a syscon node, with a reg property, and syscon is
> not an extension of simple-bus.
>
> There are properties in the parent node that children depend on, and
> that makes me wary of describing it as a simple bus. I'd expect to be
> able to move child nodes out of a simple-bus if ranges provided an
> idmap, and I can't do that here.
>
Hi Mark,

Not sure if I am understanding here, can you please add more info.


> Thanks,
> Mark.
>
>>
>>>
>>>> +			reg = <0x4a002e00 0x7c>;
>>>> +			#address-cells = <1>;
>>>> +			#size-cells = <1>;
>>>> +			ranges;
>>>> +			pbias_regulator: pbias_regulator {
>>>> +				compatible = "ti,pbias-omap";
>>>> +				reg = <0 0x4>;
>>>> +				pbias_mmc_reg: pbias_mmc_omap5 {
>>>> +					regulator-name = "pbias_mmc_omap5";
>>>> +					regulator-min-microvolt = <1800000>;
>>>> +					regulator-max-microvolt = <3000000>;
>>>> +				};
>>>> +			};
>>>> +		};
>>>> +
>>>
>>> Thanks,
>>> Mark.
>>>
>>

--
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
Balaji T K Jan. 8, 2014, 2:51 p.m. UTC | #6
On Tuesday 07 January 2014 05:53 PM, Balaji T K wrote:
> On Tuesday 07 January 2014 04:27 PM, Mark Rutland wrote:
>> On Tue, Jan 07, 2014 at 10:18:15AM +0000, Balaji T K wrote:
>>> On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
>>>> On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
>>>>> Add pbias regulator node as a child of system control
>>>>> module - syscon.
>>>>>
>>>>> Signed-off-by: Balaji T K <balajitk@ti.com>
>>>>> ---
>>>>>    arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
>>>>>    arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
>>>>>    arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
>>>>>    arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
>>>>>    arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
>>>>>    5 files changed, 90 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
>>>>> index d0df4c4..4e68df1 100644
>>>>> --- a/arch/arm/boot/dts/dra7.dtsi
>>>>> +++ b/arch/arm/boot/dts/dra7.dtsi
>>>>> @@ -110,6 +110,23 @@
>>>>>                ti,hwmods = "counter_32k";
>>>>>            };
>>>>>
>>>>> +        dra7_ctrl_general: tisyscon@4a002e00 {
>>>>> +            compatible = "ti,control-syscon", "syscon", "simple-bus";
>>>>
>>>> Please, don't use simple-bus like that. The components below this node
>>>> depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
>>>> driver probe it's children.
>>>
>>> Hi Mark,
>>>
>>> Actually ti,control-syscon driver does not exist, so I can remove it,
>>> and simple-bus is needed for child creation.
>>
>> This still shows up as a syscon node, with a reg property, and syscon is
>> not an extension of simple-bus.
>>
>> There are properties in the parent node that children depend on, and
>> that makes me wary of describing it as a simple bus. I'd expect to be
>> able to move child nodes out of a simple-bus if ranges provided an
>> idmap, and I can't do that here.
>>
> Hi Mark,
>
> Not sure if I am understanding here, can you please add more info.
>
Hi Mark,

 From Documentation/devicetree/bindings.. , I could get below info about simple-bus
- "simple-bus" compatible value (to ensure creation of the children)
	compatible = "simple-bus";

>
>> Thanks,
>> Mark.
>>
>>>
>>>>
>>>>> +            reg = <0x4a002e00 0x7c>;
>>>>> +            #address-cells = <1>;
>>>>> +            #size-cells = <1>;
>>>>> +            ranges;
>>>>> +            pbias_regulator: pbias_regulator {
>>>>> +                compatible = "ti,pbias-omap";
>>>>> +                reg = <0 0x4>;
>>>>> +                pbias_mmc_reg: pbias_mmc_omap5 {
>>>>> +                    regulator-name = "pbias_mmc_omap5";
>>>>> +                    regulator-min-microvolt = <1800000>;
>>>>> +                    regulator-max-microvolt = <3000000>;
>>>>> +                };
>>>>> +            };
>>>>> +        };
>>>>> +
>>>>
>>>> Thanks,
>>>> Mark.
>>>>
>>>
>

--
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
Mark Rutland Jan. 10, 2014, 11:32 a.m. UTC | #7
On Wed, Jan 08, 2014 at 02:51:46PM +0000, Balaji T K wrote:
> On Tuesday 07 January 2014 05:53 PM, Balaji T K wrote:
> > On Tuesday 07 January 2014 04:27 PM, Mark Rutland wrote:
> >> On Tue, Jan 07, 2014 at 10:18:15AM +0000, Balaji T K wrote:
> >>> On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
> >>>> On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
> >>>>> Add pbias regulator node as a child of system control
> >>>>> module - syscon.
> >>>>>
> >>>>> Signed-off-by: Balaji T K <balajitk@ti.com>
> >>>>> ---
> >>>>>    arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
> >>>>>    5 files changed, 90 insertions(+), 0 deletions(-)
> >>>>>
> >>>>> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
> >>>>> index d0df4c4..4e68df1 100644
> >>>>> --- a/arch/arm/boot/dts/dra7.dtsi
> >>>>> +++ b/arch/arm/boot/dts/dra7.dtsi
> >>>>> @@ -110,6 +110,23 @@
> >>>>>                ti,hwmods = "counter_32k";
> >>>>>            };
> >>>>>
> >>>>> +        dra7_ctrl_general: tisyscon@4a002e00 {
> >>>>> +            compatible = "ti,control-syscon", "syscon", "simple-bus";
> >>>>
> >>>> Please, don't use simple-bus like that. The components below this node
> >>>> depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
> >>>> driver probe it's children.
> >>>
> >>> Hi Mark,
> >>>
> >>> Actually ti,control-syscon driver does not exist, so I can remove it,
> >>> and simple-bus is needed for child creation.
> >>
> >> This still shows up as a syscon node, with a reg property, and syscon is
> >> not an extension of simple-bus.
> >>
> >> There are properties in the parent node that children depend on, and
> >> that makes me wary of describing it as a simple bus. I'd expect to be
> >> able to move child nodes out of a simple-bus if ranges provided an
> >> idmap, and I can't do that here.
> >>
> > Hi Mark,
> >
> > Not sure if I am understanding here, can you please add more info.

A node's compatible string list describes the set of devices (or rather
descriptions of devices) with which it is compatible. The list goes from
most specific to least specific. The idea is that an OS reads through
the list until it finds a string it knows how to handle, then treats the
node as that.

Ignoring "ti,control-syscon", the node has both "syscon" and
"simple-bus". Given you expect the OS to recognise "syscon", you should
_not_ expect it to also treat the node as "simple-bus". Doing so is an
abuse of the property and current Linux implementation details.

The "syscon" binding is not a more specific version of "simple-bus".
They imply completely different things.

Either make a ti,control-syscon driver that probes the child nodes, or
move the child nodes out and give them a phandle to the
dra7_ctrl_general node that they can parse. I'd prefer the latter as
relies on fewer topology details, is as easy to implement as your
current parent node parsing, and is easier to extend in future.

> >
> Hi Mark,
> 
>  From Documentation/devicetree/bindings.. , I could get below info about simple-bus
> - "simple-bus" compatible value (to ensure creation of the children)
> 	compatible = "simple-bus";

That's from the vexpress binding description of the smb node?

In that case, the smb node _is_ a simple-bus. It has no nonstandard
properties, and the child nodes aren't reading arbitrary properties out
of the smb node.

There the simple-bus is used to remap addresses of child nodes via
ranges. It does represent a simple bus, and that's all the OS is
expected to know.

Thanks,
Mark.
--
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
Balaji T K Jan. 10, 2014, 5 p.m. UTC | #8
On Friday 10 January 2014 05:02 PM, Mark Rutland wrote:
> On Wed, Jan 08, 2014 at 02:51:46PM +0000, Balaji T K wrote:
>> On Tuesday 07 January 2014 05:53 PM, Balaji T K wrote:
>>> On Tuesday 07 January 2014 04:27 PM, Mark Rutland wrote:
>>>> On Tue, Jan 07, 2014 at 10:18:15AM +0000, Balaji T K wrote:
>>>>> On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
>>>>>> On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
>>>>>>> Add pbias regulator node as a child of system control
>>>>>>> module - syscon.
>>>>>>>
>>>>>>> Signed-off-by: Balaji T K <balajitk@ti.com>
>>>>>>> ---
>>>>>>>     arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
>>>>>>>     arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
>>>>>>>     arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
>>>>>>>     arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
>>>>>>>     arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
>>>>>>>     5 files changed, 90 insertions(+), 0 deletions(-)
>>>>>>>
>>>>>>> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
>>>>>>> index d0df4c4..4e68df1 100644
>>>>>>> --- a/arch/arm/boot/dts/dra7.dtsi
>>>>>>> +++ b/arch/arm/boot/dts/dra7.dtsi
>>>>>>> @@ -110,6 +110,23 @@
>>>>>>>                 ti,hwmods = "counter_32k";
>>>>>>>             };
>>>>>>>
>>>>>>> +        dra7_ctrl_general: tisyscon@4a002e00 {
>>>>>>> +            compatible = "ti,control-syscon", "syscon", "simple-bus";
>>>>>>
>>>>>> Please, don't use simple-bus like that. The components below this node
>>>>>> depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
>>>>>> driver probe it's children.
>>>>>
>>>>> Hi Mark,
>>>>>
>>>>> Actually ti,control-syscon driver does not exist, so I can remove it,
>>>>> and simple-bus is needed for child creation.
>>>>
>>>> This still shows up as a syscon node, with a reg property, and syscon is
>>>> not an extension of simple-bus.
>>>>
>>>> There are properties in the parent node that children depend on, and
>>>> that makes me wary of describing it as a simple bus. I'd expect to be
>>>> able to move child nodes out of a simple-bus if ranges provided an
>>>> idmap, and I can't do that here.
>>>>
>>> Hi Mark,
>>>
>>> Not sure if I am understanding here, can you please add more info.
>
> A node's compatible string list describes the set of devices (or rather
> descriptions of devices) with which it is compatible. The list goes from
> most specific to least specific. The idea is that an OS reads through
> the list until it finds a string it knows how to handle, then treats the
> node as that.
>
> Ignoring "ti,control-syscon", the node has both "syscon" and
> "simple-bus". Given you expect the OS to recognise "syscon", you should
> _not_ expect it to also treat the node as "simple-bus". Doing so is an
> abuse of the property and current Linux implementation details.
>
> The "syscon" binding is not a more specific version of "simple-bus".
> They imply completely different things.
>
> Either make a ti,control-syscon driver that probes the child nodes, or
> move the child nodes out and give them a phandle to the
> dra7_ctrl_general node that they can parse. I'd prefer the latter as
> relies on fewer topology details, is as easy to implement as your
> current parent node parsing, and is easier to extend in future.
>

Thanks Mark,
phandle to syscon is fine for me.

--
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/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index d0df4c4..4e68df1 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -110,6 +110,23 @@ 
 			ti,hwmods = "counter_32k";
 		};
 
+		dra7_ctrl_general: tisyscon@4a002e00 {
+			compatible = "ti,control-syscon", "syscon", "simple-bus";
+			reg = <0x4a002e00 0x7c>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+			pbias_regulator: pbias_regulator {
+				compatible = "ti,pbias-omap";
+				reg = <0 0x4>;
+				pbias_mmc_reg: pbias_mmc_omap5 {
+					regulator-name = "pbias_mmc_omap5";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+				};
+			};
+		};
+
 		dra7_pmx_core: pinmux@4a003400 {
 			compatible = "pinctrl-single";
 			reg = <0x4a003400 0x0464>;
@@ -485,6 +502,7 @@ 
 			dmas = <&sdma 61>, <&sdma 62>;
 			dma-names = "tx", "rx";
 			status = "disabled";
+			pbias-supply = <&pbias_mmc_reg>;
 		};
 
 		mmc2: mmc@480b4000 {
diff --git a/arch/arm/boot/dts/omap2430.dtsi b/arch/arm/boot/dts/omap2430.dtsi
index d624345..142de17 100644
--- a/arch/arm/boot/dts/omap2430.dtsi
+++ b/arch/arm/boot/dts/omap2430.dtsi
@@ -29,6 +29,23 @@ 
 			pinctrl-single,function-mask = <0x3f>;
 		};
 
+		omap2_scm_general: tisyscon@49002270 {
+			compatible = "ti,control-syscon", "syscon", "simple-bus";
+			reg = <0x49002270 0x240>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+			pbias_regulator: pbias_regulator {
+				compatible = "ti,pbias-omap";
+				reg = <0x230 0x4>;
+				pbias_mmc_reg: pbias_mmc_omap2430 {
+					regulator-name = "pbias_mmc_omap2430";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+				};
+			};
+		};
+
 		gpio1: gpio@4900c000 {
 			compatible = "ti,omap2-gpio";
 			reg = <0x4900c000 0x200>;
@@ -183,6 +200,7 @@ 
 			ti,dual-volt;
 			dmas = <&sdma 61>, <&sdma 62>;
 			dma-names = "tx", "rx";
+			pbias-supply = <&pbias_mmc_reg>;
 		};
 
 		mmc2: mmc@480b4000 {
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index daabf99..ba796e9 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -137,6 +137,23 @@ 
 			pinctrl-single,function-mask = <0xff1f>;
 		};
 
+		omap3_scm_general: tisyscon@48002270 {
+			compatible = "ti,control-syscon", "syscon", "simple-bus";
+			reg = <0x48002270 0x2f0>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+			pbias_regulator: pbias_regulator {
+				compatible = "ti,pbias-omap";
+				reg = <0x2b0 0x4>;
+				pbias_mmc_reg: pbias_mmc_omap2430 {
+					regulator-name = "pbias_mmc_omap2430";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+				};
+			};
+		};
+
 		gpio1: gpio@48310000 {
 			compatible = "ti,omap3-gpio";
 			reg = <0x48310000 0x200>;
@@ -351,6 +368,7 @@ 
 			ti,dual-volt;
 			dmas = <&sdma 61>, <&sdma 62>;
 			dma-names = "tx", "rx";
+			pbias-supply = <&pbias_mmc_reg>;
 		};
 
 		mmc2: mmc@480b4000 {
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index a1e0585..a05ea2c 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -134,6 +134,23 @@ 
 			pinctrl-single,function-mask = <0x7fff>;
 		};
 
+		omap4_padconf_global: tisyscon@4a1005a0 {
+			compatible = "ti,control-syscon", "syscon", "simple-bus";
+			reg = <0x4a1005a0 0x170>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+			pbias_regulator: pbias_regulator {
+				compatible = "ti,pbias-omap";
+				reg = <0x60 0x4>;
+				pbias_mmc_reg: pbias_mmc_omap4 {
+					regulator-name = "pbias_mmc_omap4";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+				};
+			};
+		};
+
 		sdma: dma-controller@4a056000 {
 			compatible = "ti,omap4430-sdma";
 			reg = <0x4a056000 0x1000>;
@@ -367,6 +384,7 @@ 
 			ti,needs-special-reset;
 			dmas = <&sdma 61>, <&sdma 62>;
 			dma-names = "tx", "rx";
+			pbias-supply = <&pbias_mmc_reg>;
 		};
 
 		mmc2: mmc@480b4000 {
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index fc3fad5..1d14f0d 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -130,6 +130,23 @@ 
 			pinctrl-single,function-mask = <0x7fff>;
 		};
 
+		omap5_padconf_global: tisyscon@4a002da0 {
+			compatible = "ti,control-syscon", "syscon", "simple-bus";
+			reg = <0x4A002da0 0xec>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+			pbias_regulator: pbias_regulator {
+				compatible = "ti,pbias-omap";
+				reg = <0x60 0x4>;
+				pbias_mmc_reg: pbias_mmc_omap5 {
+					regulator-name = "pbias_mmc_omap5";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+				};
+			};
+		};
+
 		sdma: dma-controller@4a056000 {
 			compatible = "ti,omap4430-sdma";
 			reg = <0x4a056000 0x1000>;
@@ -409,6 +426,7 @@ 
 			ti,needs-special-reset;
 			dmas = <&sdma 61>, <&sdma 62>;
 			dma-names = "tx", "rx";
+			pbias-supply = <&pbias_mmc_reg>;
 		};
 
 		mmc2: mmc@480b4000 {