Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: missing timer in dts: how to deal ?



Hi Manuel --

The fp_bootstrap callback for i.mx6sx should be able to deal with this. Either make a fake device_t + softc and call the attach function directly (no need for this to be an actual device), or create a node programatically describing the device and add it to the fdt using libfdt.h.

Try to make the code smart enough to only do this if a device with that compatible string does not already exist in the device tree, in case it is added in the future.

HTH,
Jared



On Fri, 5 May 2023, Manuel Bouyer wrote:

Hello,
the i.mx6sx SoC I got working recently includes a single-core cortex A9 CPU.
As I understand it, all A9 CPUs have the TWD timer, and this is what we
use for delay and hardclock(). But the imx6sx.dtsi file is missing the
TWD node ("arm,cortex-a9-twd-timer"), while the imx6qdl.dtsi includes it.

How can we deal with this ?
- add the twd node to our copy of the device tree (this is what I did
 in my tree but didn't commit it). But this patches a file in sys/external
- fake a node in the in-memory fdt early in boot (but is there a way to do
 this ? I couldn't find anything related to fake nodes in dev/fdt/ or
 dev/ofw/)
- add a non-fdt attachement for TWD (and need to find where and when to
 attach it - maybe as a child of
 cpus0 at simplebus0

Any though from port-arm experts ?

--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
    NetBSD: 26 ans d'experience feront toujours la difference
--




Home | Main Index | Thread Index | Old Index