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)
Wed, Dec 11, 10:38 PM
Unknown Object (File)
Sun, Dec 8, 6:57 PM
Unknown Object (File)
Sat, Dec 7, 8:59 AM
Unknown Object (File)
Wed, Nov 27, 2:03 AM
Unknown Object (File)
Nov 11 2024, 4:34 AM
Unknown Object (File)
Nov 6 2024, 4:36 AM
Unknown Object (File)
Oct 25 2024, 10:39 AM
Unknown Object (File)
Oct 19 2024, 6:45 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 ...