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)
Tue, Nov 4, 4:31 PM
Unknown Object (File)
Sun, Oct 26, 11:59 AM
Unknown Object (File)
Fri, Oct 24, 6:37 PM
Unknown Object (File)
Thu, Oct 16, 3:21 PM
Unknown Object (File)
Oct 10 2025, 10:37 AM
Unknown Object (File)
Oct 7 2025, 6:52 AM
Unknown Object (File)
Sep 25 2025, 12:16 AM
Unknown Object (File)
Sep 18 2025, 3:14 AM
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 ...