Re: [PATCH v2 1/2] arm64: dts: ti: k3-am65: disable optional peripherals by default
From: Tony Lindgren
Date: Mon Feb 07 2022 - 02:18:24 EST
Hi,
* Nishanth Menon <nm@xxxxxx> [220204 14:30]:
> Rob, Tony, Arnd, SoC maintainers,
>
> On 15:02-20220203, Matthias Schiffer wrote:
> > All peripherals that require pinmuxing or other configuration to work
> > should be disabled by default. Dependent DTS are adjusted accordingly.
Disabling SoC internal devices by default is not a good policy. The
devices are available even if not pinned out. Disabling device by default
causes runtime PM to not work as the kernel will completely ignore the
disabled devices. And this means you add a dependency to some certain
version of a bootloader for PM to work.
Additionally tagging devices as disabled by default (and then again
re-enabling them in the board specific dts files) is just pointless
churn and bloat. See for example commit 12afc0cf8121 ("ARM: dts: Drop
pointless status changing for am3 musb") :)
If you really want to disable some devices for memory usage or other
reasons, do it in the board specific dts files.
> https://lore.kernel.org/linux-arm-kernel/20201112183538.6805-1-nm@xxxxxx/
> reversal all over again.
>
> Is there a specific pattern we are intending to use here? Because, if we
> are going down this path (which would be a major churn across multiple
> downstream trees as well) - I'd rather have this as a documented
> standard and not just a TI approach and will need to be done across all
> K3 devices.
>
> Are you aware of such a documented guideline, rather than "word of
> mouth"? Maybe I have'nt looked deep enough, but checking..
For SoCs that don't implement runtime PM the policy can be different
without causing any harm. But for any SoCs implementing runtime PM, an
unknown state from the bootloader is not going to work.
Regards,
Tony