On 4/18/25 5:12 PM, Praveen Talari wrote:Thank you for the update and for sharing the snapshot of your work. The improvements you're working on sound promising, especially the abstraction of power controls into a single place.
The Qualcomm automotive SA8255p SoC relies on firmware to configureSo I recently started working on abstracting away power controls from
platform resources, including clocks, interconnects and TLMM. The device
drivers request resources operations over SCMI using power and
performance protocols.
The SCMI power protocol enables or disables resources like clocks,
interconnect paths, and TLMM (GPIOs) using runtime PM framework APIs,
such as resume/suspend, to control power states(on/off).
The SCMI performance protocol manages UART baud rates, with each baud
rate represented by a performance level. Drivers use the
dev_pm_opp_set_level() API to request the desired baud rate by
specifying the performance level.
The QUP drivers are SCMI clients, with clocks, interconnects, pinctrl
and power-domains abstracted by a SCMI server.
the SE protocol drivers into a single place, among other improvements
A snapshot of this work is available here
https://github.com/quic-kdybcio/linux/commits/topic/single_node_genise/
(not yet 100% ready..)
I think it'd make sense to get it done first, so that we can condense
most of your changes in the common driver, where we'd swap out the clock
handling for perf level setting instead
Konrad