Re: [PATCH v2 2/2] ARM: dts: am33xx: Move wkup_m3 node to soc node and add ranges

From: Tony Lindgren
Date: Thu Mar 05 2015 - 12:02:57 EST


* Suman Anna <s-anna@xxxxxx> [150305 08:47]:
> On 03/05/2015 09:40 AM, Tony Lindgren wrote:
> > * Dave Gerlach <d-gerlach@xxxxxx> [150304 20:14]:
> Dave,
>
> Looks like the commit message disappeared during your patch preparation.
>
> >> Signed-off-by: Suman Anna <s-anna@xxxxxx>
> >> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx>
> >> ---
> >> arch/arm/boot/dts/am33xx.dtsi | 21 +++++++++++++--------
> >> 1 file changed, 13 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
> >> index acd3705..086415c 100644
> >> --- a/arch/arm/boot/dts/am33xx.dtsi
> >> +++ b/arch/arm/boot/dts/am33xx.dtsi
> >> @@ -77,10 +77,23 @@
> >> */
> >> soc {
> >> compatible = "ti,omap-infra";
> >> + #address-cells = <1>;
> >> + #size-cells = <1>;
> >> + ranges = <0x0 0x44d00000 0x4000>,
> >> + <0x80000 0x44d80000 0x2000>;
> >> +
> >
> > I think putting the ranges here will cause issues for adding
> > ranges for anything else.
> >
> > How about do something like this instead (untested):
> >
> > ocp {
> > l4_wkup: l4_wkup@44c00000 {
> > compatible = "am335-l4-wkup", "simple-bus";
> > ranges = <0 0x44c00000 0x3fffff>;
> >
> > wkup_m3: wkup_m3@44d00000 {
> > compatible = "ti,am3353-wkup-m3";
> > reg = <0x1000000 0x4000>, /* M3 UMEM */
> > <0x180000 0x2000>; /* M3 DMEM */
> > ti,hwmods = "wkup_m3";
> > ti,pm-firmware = "am335x-pm-firmware.elf";
> > };
> >
> > ...
> > };
> > };
> >
> > That way we can start moving also the other l4_wkup components there
> > eventuallly without having to redo the ranges again for wkup_m3.
> >
> > You can also look at how the scm_conf was done for dm816x.dtsi for an
> > example, and the recent large set of patches posted by Tero.
> >
> Tony,
>
> Thanks, I will take a look at this. I initially tried adding to ocp node
> directly, but obviously it had issues.
>
> But in general, you are ok with the ranges approach right, rather than
> having to define another property with virtual addresses. These devices
> are not on a separate bus like PCI, so I placed them in the soc node,
> and expect only special devices like processors to kinda go under that node.

Yes ranges + simple-bus will allow using standard Linux modules no
matter where the components move. And then getting the IO resources
will behave properly for the drivers without any extra code to
deal with the children.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/