Message ID | 20190912113916.20093-11-t-kristo@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | soc: ti: add OMAP PRM driver (for reset) | expand |
* Tero Kristo <t-kristo@ti.com> [190912 11:40]: > @@ -565,6 +566,12 @@ void omap_pcs_legacy_init(int irq, void (*rearm)(void)) > pcs_pdata.rearm = rearm; > } > > +static struct ti_prm_platform_data ti_prm_pdata = { > + .clkdm_deny_idle = clkdm_deny_idle, > + .clkdm_allow_idle = clkdm_allow_idle, > + .clkdm_lookup = clkdm_lookup, > +}; > + > /* > * GPIOs for TWL are initialized by the I2C bus and need custom > * handing until DSS has device tree bindings. > @@ -664,6 +671,11 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = { > /* Common auxdata */ > OF_DEV_AUXDATA("ti,sysc", 0, NULL, &ti_sysc_pdata), > OF_DEV_AUXDATA("pinctrl-single", 0, NULL, &pcs_pdata), > + OF_DEV_AUXDATA("ti,omap4-prm-inst", 0, NULL, &ti_prm_pdata), > + OF_DEV_AUXDATA("ti,omap5-prm-inst", 0, NULL, &ti_prm_pdata), > + OF_DEV_AUXDATA("ti,dra7-prm-inst", 0, NULL, &ti_prm_pdata), > + OF_DEV_AUXDATA("ti,am3-prm-inst", 0, NULL, &ti_prm_pdata), > + OF_DEV_AUXDATA("ti,am4-prm-inst", 0, NULL, &ti_prm_pdata), > { /* sentinel */ }, > }; Hmm I think I already commented on this.. Just one entry please: OF_DEV_AUXDATA("ti,omap-prm-inst", 0, NULL, &ti_prm_pdata), As the auxdata is the same for all of them. Note that all the dts files need to have also the generic compatible "ti,omap-prm-inst" after the SoC specific one. Regards, Tony
On 12/09/2019 20:09, Tony Lindgren wrote: > * Tero Kristo <t-kristo@ti.com> [190912 11:40]: >> @@ -565,6 +566,12 @@ void omap_pcs_legacy_init(int irq, void (*rearm)(void)) >> pcs_pdata.rearm = rearm; >> } >> >> +static struct ti_prm_platform_data ti_prm_pdata = { >> + .clkdm_deny_idle = clkdm_deny_idle, >> + .clkdm_allow_idle = clkdm_allow_idle, >> + .clkdm_lookup = clkdm_lookup, >> +}; >> + >> /* >> * GPIOs for TWL are initialized by the I2C bus and need custom >> * handing until DSS has device tree bindings. >> @@ -664,6 +671,11 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = { >> /* Common auxdata */ >> OF_DEV_AUXDATA("ti,sysc", 0, NULL, &ti_sysc_pdata), >> OF_DEV_AUXDATA("pinctrl-single", 0, NULL, &pcs_pdata), >> + OF_DEV_AUXDATA("ti,omap4-prm-inst", 0, NULL, &ti_prm_pdata), >> + OF_DEV_AUXDATA("ti,omap5-prm-inst", 0, NULL, &ti_prm_pdata), >> + OF_DEV_AUXDATA("ti,dra7-prm-inst", 0, NULL, &ti_prm_pdata), >> + OF_DEV_AUXDATA("ti,am3-prm-inst", 0, NULL, &ti_prm_pdata), >> + OF_DEV_AUXDATA("ti,am4-prm-inst", 0, NULL, &ti_prm_pdata), >> { /* sentinel */ }, >> }; > > Hmm I think I already commented on this.. Just one entry please: > > OF_DEV_AUXDATA("ti,omap-prm-inst", 0, NULL, &ti_prm_pdata), > > As the auxdata is the same for all of them. Note that all the > dts files need to have also the generic compatible > "ti,omap-prm-inst" after the SoC specific one. Ok that should be fine, sorry for missing it out. I can update this in the next rev, just need to update the dt binding also. -Tero -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index 6c6f8fce854e..4730f8c0cb0e 100644 --- a/arch/arm/mach-omap2/pdata-quirks.c +++ b/arch/arm/mach-omap2/pdata-quirks.c @@ -25,6 +25,7 @@ #include <linux/platform_data/ti-sysc.h> #include <linux/platform_data/wkup_m3.h> #include <linux/platform_data/asoc-ti-mcbsp.h> +#include <linux/platform_data/ti-prm.h> #include "clockdomain.h" #include "common.h" @@ -565,6 +566,12 @@ void omap_pcs_legacy_init(int irq, void (*rearm)(void)) pcs_pdata.rearm = rearm; } +static struct ti_prm_platform_data ti_prm_pdata = { + .clkdm_deny_idle = clkdm_deny_idle, + .clkdm_allow_idle = clkdm_allow_idle, + .clkdm_lookup = clkdm_lookup, +}; + /* * GPIOs for TWL are initialized by the I2C bus and need custom * handing until DSS has device tree bindings. @@ -664,6 +671,11 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = { /* Common auxdata */ OF_DEV_AUXDATA("ti,sysc", 0, NULL, &ti_sysc_pdata), OF_DEV_AUXDATA("pinctrl-single", 0, NULL, &pcs_pdata), + OF_DEV_AUXDATA("ti,omap4-prm-inst", 0, NULL, &ti_prm_pdata), + OF_DEV_AUXDATA("ti,omap5-prm-inst", 0, NULL, &ti_prm_pdata), + OF_DEV_AUXDATA("ti,dra7-prm-inst", 0, NULL, &ti_prm_pdata), + OF_DEV_AUXDATA("ti,am3-prm-inst", 0, NULL, &ti_prm_pdata), + OF_DEV_AUXDATA("ti,am4-prm-inst", 0, NULL, &ti_prm_pdata), { /* sentinel */ }, };
The parent clockdomain for reset must be in force wakeup mode, otherwise the reset may never complete. Add pdata quirks for this purpose for PRM driver. Signed-off-by: Tero Kristo <t-kristo@ti.com> --- arch/arm/mach-omap2/pdata-quirks.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)