On 12/8/20 3:02 AM, Philipp Zabel wrote: > Hi Rafał, > > On Thu, 2020-11-19 at 13:56 +0100, Rafał Miłecki wrote: >> From: Rafał Miłecki <rafal@xxxxxxxxxx> >> >> PMB can be found on BCM4908 and many other chipsets (e.g. BCM63138). >> It's needed to power on and off SoC blocks like PCIe, SATA, USB. > > This sentence, the register names, and > the brcm_pmb_power_on/off_device/zone functions below make me worry that > this should be a power domain controller (pm_genpd in drivers/soc) > instead. > Does PM in PMB stand for power management by chance? It does, PMB stands for Power Management Bus. > > If this actually cuts power to the USB and PCIe cores instead of just > controlling reset lines, it would be better to implement this > differently. What is tricky is this is a combined reset/clock/power zones controller. You rarely turn off/assert one of those without also turning off/asserting the others. -- Florian