Thread (49 messages) 49 messages, 6 authors, 2021-02-10

Re: [PATCH 18/18] arm64: apple: Add initial Mac Mini 2020 (M1) devicetree

From: Tony Lindgren <tony@atomide.com>
Date: 2021-02-10 11:37:10
Also in: linux-arm-kernel, lkml

* Hector Martin [off-list ref] [210210 11:14]:
On 10/02/2021 19.19, Tony Lindgren wrote:
quoted
* Hector Martin 'marcan' [off-list ref] [210208 12:05]:
quoted
On 08/02/2021 20.04, Krzysztof Kozlowski wrote:
...
quoted
quoted
quoted
+	clk24: clk24 {
Just "clock". Node names should be generic.
Really? Almost every other device device tree uses unique clock node names.
Yeah please just use generic node name "clock". FYI, we're still hurting
because of this for the TI clock node names years after because the drivers
got a chance to rely on the clock node name..

Using "clock" means your clock driver code won't get a chance to wrongly
use the node name and you avoid similar issues.
That means it'll end up like this (so that we can have more than one
fixed-clock):

clocks {
    #address-cells = <1>;
    #size-cells = <0>;

    clk123: clock@0 {
        ...
        reg = <0>
    }

    clk456: clock@1 {
        ...
        reg = <1>
    }
}

Correct?
Yeah, just don't use an imaginary dummy index for the reg. Use a real
register offset from a clock controller instance base, and a register
bit offset too if needed.

That way if you discover a new clock inbetween somewhere, you don't have
renumber any imaginary lists in the driver or device tree. So try to
follow sort of what the standard interrupts binding is doing only
describing the hardware.
Incidentally, there is just one example in the kernel tree of doing this
right (in arch/arm/boot/dts/imx6qdl-tx6.dtsi). All the others that use
non-mmio clocks called `clock`, including the various tegra devicetrees,
violate the DT spec by not including a dummy reg property matching the
unit-address.
Doing it right will save you tons of time later on ;)

FYI, for the TI clocks, we ended up redoing most of the clocks as
documented in Documentation/devicetree/bindings/clock/ti-clkctrl.txt.

Regards,

Tony
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help