[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdX3XBA25sUMF2SpfbH7XX5-UpPFj-0nHuwDOv49YWQn+A@mail.gmail.com>
Date: Thu, 7 Oct 2021 15:26:44 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Tony Lindgren <tony@...mide.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
"open list:TI ETHERNET SWITCH DRIVER (CPSW)"
<linux-omap@...r.kernel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Rob Herring <robh@...nel.org>,
Simon Horman <horms+renesas@...ge.net.au>,
Suman Anna <s-anna@...com>
Subject: Re: [PATCH 1/3] dt-bindings: bus: simple-pm-bus: Make clocks and
power-domains optional
Hi Tony,
Thanks for your patch!
On Thu, Oct 7, 2021 at 2:49 PM Tony Lindgren <tony@...mide.com> wrote:
> Clocks and power domains are not required by the simple-pm-bus driver.
> There are buses with read-only registers for clocks and power domains
> that are always on.
The presence of clocks or power-domains properties is the only
distinguishing factor between simple-pm-bus and simple-bus, from a
DT point of view. So if there has to be a distinguishment, the
properties should be required
If you don't have clocks and power-domains, you should use simple-bus.
> Even without clocks and power domains configured, simple-pm-bus is still
> different from simple-bus as simple-pm-bus enables runtime PM for the bus
> driver.
Which you need to have working Runtime PM for child devices, right? ;-)
This is not specific to DT, but to Linux.
One more reason to let Linux treat simple-pm-bus and simple-bus exactly
the same. Linux handles the clocks and power-domains (if present)
transparently anyway, through PM Domains
> Let's update the binding accordingly as this remove the related warnings
> for dt_binding_check for omaps.
>
> Cc: Geert Uytterhoeven <geert+renesas@...der.be>
> Cc: Rob Herring <robh@...nel.org>
> Cc: Simon Horman <horms+renesas@...ge.net.au>
> Cc: Suman Anna <s-anna@...com>
> Signed-off-by: Tony Lindgren <tony@...mide.com>
> --- a/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
> +++ b/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
> @@ -13,10 +13,9 @@ description: |
> A Simple Power-Managed Bus is a transparent bus that doesn't need a real
> driver, as it's typically initialized by the boot loader.
>
> - However, its bus controller is part of a PM domain, or under the control
> - of a functional clock. Hence, the bus controller's PM domain and/or
> - clock must be enabled for child devices connected to the bus (either
> - on-SoC or externally) to function.
> + However, its bus controller is typically part of a PM domain, or under
> + the control of a functional clock. Without PM domain or functional clock,
> + it still enables runtime PM for the bus driver unlike "simple-bus".
>
> While "simple-pm-bus" follows the "simple-bus" set of properties, as
> specified in the Devicetree Specification, it is not an extension of
> @@ -43,10 +42,10 @@ properties:
>
> clocks: true
> # Functional clocks
> - # Required if power-domains is absent, optional otherwise
> + # Typically used if power-domains is absent
>
> power-domains:
> - # Required if clocks is absent, optional otherwise
> + # Typically used if clocks is absent
> minItems: 1
>
> required:
> @@ -55,12 +54,6 @@ required:
> - '#size-cells'
> - ranges
>
> -anyOf:
> - - required:
> - - clocks
> - - required:
> - - power-domains
> -
> additionalProperties: true
>
> examples:
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists