-
Notifications
You must be signed in to change notification settings - Fork 380
Open
Description
This issue tracks the state of the clock tree rework.
- Proof of concept: Clock tree rework: ESP32 #4501
- Model clock trees of other chips
- Model all peripheral clock sources
- Expose new clock config options unstably #4660
- Model missing options in clock trees:
- ESP32:
- XTAL32K external oscillator option
- Configurable CK8M (RC_FAST_CLK)
- LOW_POWER_CLK
- ...
- ESP32:
- Detect XTL frequency on demand to support clocking CPU from RC_FAST_CLK
- Optimize away unnecessary reference counts
- Mark which clock nodes may be manually requested. Peripheral clocks should be, but out of system clocks probably only CPU.
- Optimize away refcounts where clock node has a single user #4512
- ...?
- Add a bitmap that tracks active clocks (this can be postponed for upcoming low power rework)
- Ensure code generator orders the initial configuration properly - Sort config calls in topological order #4536
- Resolve Clock speed sometimes incorrect #4440
- Decide whether caching the configuration is necessary or we can restore from hardware
- Decide whether we should cache active frequencies, or calculating them from the configurations is good enough
- We should likely cache, but we need to implement this in a way that does not require a critical section to read current frequencies. Since we expect a clock to not be running when configured, maybe that is enough to remain consistent?
- Implement equation-based PLL configuration (for ESP32 APLL)
- Remove
ESP_HAL_CONFIG_XTAL_FREQUENCY- Redo ESP32-C2 clocktree, removeESP_HAL_CONFIG_XTAL_FREQUENCY#4517 - Retain clock tree state between CPU-only resets
- Make configuration of always_on clocks and their dependencies mandatory
- Generate code directly into esp-hal, auto-update the list of handwritten functions
- Allow hand-written doc comments on clock nodes. Some types/config options need more explanation.
- Auto-generate
on_changedcallbacks - Refactor TIMG source clocks #4665
- Refactor (LP_)UART clock sources #4667
- Improve clock node request/release API - Clean up MCPWM clock sources #4647 (comment)
- Add the ability to iterate over a mux's variants - 1e1388d#diff-f4823be2299dcbe2eea9219ec3ce12b28541a53c0f91e7c80428813abed2b309R183-R185
MabezDev and chrissuozzo