Re: [PATCH v7 2/2] soc/imx: Add GPCv2 power gating driver
From: Lucas Stach
Date: Thu Mar 23 2017 - 10:36:05 EST
Hi Dong,
Am Freitag, den 24.03.2017, 14:24 +0800 schrieb Dong Aisheng:
[...]
> > +static struct platform_driver imx7_pgc_domain_driver = {
> > + .driver = {
> > + .name = "imx7-pgc",
> > + },
> > + .probe = imx7_pgc_domain_probe,
> > + .remove = imx7_pgc_domain_remove,
> > + .id_table = imx7_pgc_domain_id,
> > +};
> > +builtin_platform_driver(imx7_pgc_domain_driver)
>
> Again, i have a fundamental question about this patch implementation
> that why we choose above way to register the power domain?
>
> I'm sorry that i did not know too much history.
> Would you guys please help share some information?
>
> Because AFAIK this way will register each domain as a power domain
> provider which is a bit violate the real HW and current power domain
> framework design. And it is a bit more complicated to use than before.
>
> IMHO i would rather prefer the old traditional and simpler way that one
> provider (GPC) supplies multiple domains (PCIE/MIPI/HSIC PHY domain)
> than this patch does.
>
> However, i might be wrong. Please help to clear.
This way we can properly describe each power domain with the regulator
supplying the domain and the clocks of the devices inside the domain in
the device tree.
This is needed as for the upstream version we are controlling the
regulator from the GPC driver, as opposed to the downstream version,
where each device has to implement the regulator handling and power
up/down sequencing.
See the rationale in the commits adding the multidomain support to the
i.MX6 GPC.
Regards,
Lucas