Re: [PATCH 4.19 107/191] ARM: dts: s5pv210: move PMU node out of clock controller

From: Krzysztof Kozlowski
Date: Fri Nov 06 2020 - 16:10:45 EST


On Fri, Nov 06, 2020 at 09:12:45PM +0100, Krzysztof Kozlowski wrote:
> On Thu, Nov 05, 2020 at 08:55:08PM +0100, Pavel Machek wrote:
> > Hi!
> >
> > > > > The Power Management Unit (PMU) is a separate device which has little
> > > > > common with clock controller. Moving it to one level up (from clock
> > > > > controller child to SoC) allows to remove fake simple-bus compatible and
> > > > > dtbs_check warnings like:
> > > > >
> > > > > clock-controller@e0100000: $nodename:0:
> > > > > 'clock-controller@e0100000' does not match '^([a-z][a-z0-9\\-]+-bus|bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
> > > >
> > > > > +++ b/arch/arm/boot/dts/s5pv210.dtsi
> > > > > @@ -98,19 +98,16 @@
> > > > > };
> > > > >
> > > > > clocks: clock-controller@e0100000 {
> > > > > - compatible = "samsung,s5pv210-clock", "simple-bus";
> > > > > + compatible = "samsung,s5pv210-clock";
> > > > > reg = <0xe0100000 0x10000>;
> > > > ...
> > > > > + pmu_syscon: syscon@e0108000 {
> > > > > + compatible = "samsung-s5pv210-pmu", "syscon";
> > > > > + reg = <0xe0108000 0x8000>;
> > > > > };
> > > >
> > > > Should clock-controller@e0100000's reg be shortened to 0x8000 so that
> > > > the ranges do not overlap?
> > > >
> > > > Signed-off-by: Pavel Machek (CIP) <pavel@xxxxxxx>
> > >
> > > I don't think this commit should be backported to stable. It is simple
> > > dtbs_check - checking whether Devicetree source matches device tree
> > > schema. Neither the schema nor the warning existed in v4.19. I think
> > > dtbs_check fixes should not be backported, unless a real issue is
> > > pointed out.
> >
> > I agree with you about the backporting. Hopefully Greg drops the
> > commit.
> >
> > But the other issue is: should mainline be fixed so that ranges do not overlap?
>
> Yes, it should be. This should fail on mapping resources...
>
> I'll take a look, thanks for the report.

+Cc Paweł and Marek,

The IO memory mappings overlap unfortunately on purpose. Most of the
clock driver registers are in the first range of 0x3000 but it also uses
two registers at offset 0xe000.

The samsung-s5pv210-pmu is used only as a syscon by phy-s5pv210-usb2.c
which wants to play with 0x680c.

The solution could be to split the mapping into two parts but I don't
want to do this. I don't have the hardware so there is a chance I will
break things.

However if Paweł, Jonathan or Marek want to improve it - patches are
welcomed. :)

Best regards,
Krzysztof