[PATCH v2 08/13] mfd: Versatile Express system registers driver
Pawel Moll
pawel.moll at arm.com
Wed Sep 19 06:53:29 EDT 2012
On Tue, 2012-09-18 at 16:24 +0100, Arnd Bergmann wrote:
> On Tuesday 18 September 2012, Pawel Moll wrote:
> > +The node describing a config device must refer to the sysreg node via
> > +"arm,vexpress,config-bridge" phandle (can be also defined in the node's
> > +parent) and relies on the board topology properties - see main vexpress
> > +node documentation for more details. It must must also define the
> > +following property:
> > +- arm,vexpress-sysreg,func : must contain two cells:
> > + - first cell defines function number (eg. 1 for clock generator,
> > + 2 for voltage regulators etc.)
> > + - device number (eg. osc 0, osc 1 etc.)
> > +
> > +Example:
> > + mcc {
> > + arm,vexpress,config-bridge = <&v2m_sysreg>;
> > +
> > + osc at 0 {
> > + compatible = "arm,vexpress-osc";
> > + arm,vexpress-sysreg,func = <1 0>;
> > + };
> > + };
>
> Why are you using a nonstandard property for the address?
> AFAICT, the same can be expressed normally doing
>
> mcc {
> #address-cells = <2>;
> #size-cells = <0>;
> arm,vexpress,config-bridge = <&v2m_sysreg>;
>
> osc at 0 {
> compatible = "arm,vexpress-osc";
> reg = <1 0>;
> };
> };
>
> which is more in line with how we represent e.g. i2c buses.
Yes, but I2C devices are created by of_i2c_register_devices() which
knows how to interpret the reg property. And here, as these are normal
platform devices now (as you suggested), the of_platform_bus_create()
will treat it as a normal address, translate it via ranges and create
IORESOURCE_MEM out of it... And that's what I wanted to avoid. Maybe
unnecessarily?
Pawel
More information about the linux-arm-kernel
mailing list