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)
Sun, Apr 21, 10:14 AM
Unknown Object (File)
Thu, Apr 4, 11:30 PM
Unknown Object (File)
Mar 18 2024, 8:08 PM
Unknown Object (File)
Mar 1 2024, 6:01 PM
Unknown Object (File)
Jan 29 2024, 1:32 AM
Unknown Object (File)
Dec 20 2023, 5:18 AM
Unknown Object (File)
Dec 15 2023, 8:01 PM
Unknown Object (File)
Dec 13 2023, 7:37 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 ...