[PATCH v2 1/2] arm64: dts: ti: k3-am65: disable optional peripherals by default

Tony Lindgren tony at atomide.com
Wed Mar 9 06:03:29 PST 2022


* Matthias Schiffer <matthias.schiffer at ew.tq-group.com> [220309 11:09]:
> while I agree that it would be great if drivers could just detect when
> hardware is not available, this is simply not how most drivers work -
> when you instantiate the driver via a non-disabled(/reserved/...) DT
> node, the driver expects a usable device.
> 
> Especially for busses like I2C, there is no way for a driver to
> reliably detect whether the bus is usable or not. (There are several
> states that can't really be distinguished: Is pinmuxing missing, or
> does the device not need any muxing? Is a line low because it is not
> actually connected to anything, or is there another master currently
> using the bus, or is the bus stuck due to a faulty device?)

Well how about set only the problem devices with status = "disabled"
with a proper comment in the SoC dtsi file?

See for example what has been done in arch/arm64/boot/dts/apple that
has been pretty widely reviewed and done with a good taste :)

Not sure what can be done to idle the unused devices in the disabled
case though, maybe some firmware call to disable all unclaimed devices
could be done if it does not exist already. The firmware may not have
the capability to idle devices that need firmware loaded to idle them
for example though.

Regards,

Tony



More information about the linux-arm-kernel mailing list