Page MenuHomeFreeBSD

simple-pm-bus driver
Needs ReviewPublic

Authored by oskar.holmlund_ohdata.se on Jul 26 2021, 6:53 PM.
Tags
Referenced Files
Unknown Object (File)
Mon, Apr 21, 3:26 AM
Unknown Object (File)
Sun, Apr 20, 12:53 PM
Unknown Object (File)
Sun, Apr 20, 9:04 AM
Unknown Object (File)
Mar 20 2025, 12:07 PM
Unknown Object (File)
Mar 18 2025, 11:06 AM
Unknown Object (File)
Mar 17 2025, 4:24 PM
Unknown Object (File)
Mar 3 2025, 6:14 AM
Unknown Object (File)
Feb 25 2025, 10:27 PM
Subscribers

Details

Reviewers
manu
mmel
Group Reviewers
ARM
arm64
Summary

Add a simple-pm-bus driver to get AM335x to boot.
If the DTS node contains a clock it will be enabled later in the boot process.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

oskar.holmlund_ohdata.se created this revision.

D27889 are required to get AM335x to boot.

Any reason the clock are enabled after interrupts ? I suspect that some stuff will rely on the clock being activated at attach.
The bindings have this comment :

Hence, the bus controller's PM domain and/or
clock must be enabled for child devices connected to the bus (either
on-SoC or externally) to function.

It also seems that some TI nodes doesn't respect the bindings as they have no clocks or power-domain property, are we relying on u-boot for those to work ?

sys/dev/fdt/simplepmbus.c
105

Doesn't seems to be true, I think we can have multiple clocks.

sys/dev/fdt/simplepmbus.c
113

I've missed that the first time, any reason we don't enable the clock directly ?

So, apparently the goal of simple-pm-bus is only to enable runtime pm in the Linux kernel for the whole child tree, while simple-bus doesn't do that.
Apparently the bindings are wrong suggesting that either power-domain or clock is required and the Linux code seems to indicate this ...