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