schemas: wakeup-source: Possibility for power states #150
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
wakeup-source in its current form ignores power states. But with modern SoCs there are many powerstates that have a different set of devices enabled. Also there are more complex wakeup mechanisms available.
As an example TI's am62 SoC has a power state called 'Partial-IO' in which most of the SoC is powered off and only a small device logic is present for a few select devices that can still wakeup the SoC. But most devices that are usually able to wakeup the SoC are not capable to do it in Partial-IO.
In order to properly describe the wakeup-source property depending on the power state, this patch extends the definition to be either boolean or a list of power state names in which this device is capable of wakeup.
This is the Linux Kernel series that adds support for Partial-IO:
https://lore.kernel.org/all/20241219-topic-am62-partialio-v6-12-b4-v4-0-1cb8eabd407e@baylibre.com/
This is was my previous patch adding this binding before realizing the wakeup-source property is defined in this schema repository:
https://lore.kernel.org/all/20241219-topic-mcan-wakeup-source-v6-12-v6-1-1356c7f7cfda@baylibre.com/