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)
Oct 10 2023, 6:16 PM
Unknown Object (File)
Sep 30 2023, 10:16 PM
Unknown Object (File)
Sep 26 2023, 12:24 PM
Unknown Object (File)
Sep 20 2023, 9:19 PM
Unknown Object (File)
Sep 6 2023, 2:22 AM
Unknown Object (File)
Aug 14 2023, 7:55 AM
Unknown Object (File)
Jul 7 2023, 3:19 PM
Unknown Object (File)
May 21 2023, 2:11 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 ...