Message ID | 20250407072134.1044797-2-parvathi@couthit.com |
---|---|
State | New |
Headers | show |
Series | Adds support for OCP master port configuration of PRU-ICSS | expand |
Am Mon, 7 Apr 2025 12:51:34 +0530 schrieb Parvathi Pudi <parvathi@couthit.com>: > Updates OCP master port configuration to enable memory access outside > of the PRU-ICSS subsystem. > > This set of changes configures PRUSS_SYSCFG.STANDBY_INIT bit to enable > the OCP master ports during resume sequence and disables the OCP master > ports during suspend sequence (applicable only on SoCs using OCP > interconnect like the OMAP family). > > Signed-off-by: Parvathi Pudi <parvathi@couthit.com> mirrors what is done on module disable, so it looks sane. Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
Hi, > Am Mon, 7 Apr 2025 12:51:34 +0530 > schrieb Parvathi Pudi <parvathi@couthit.com>: > >> Updates OCP master port configuration to enable memory access outside >> of the PRU-ICSS subsystem. >> >> This set of changes configures PRUSS_SYSCFG.STANDBY_INIT bit to enable >> the OCP master ports during resume sequence and disables the OCP master >> ports during suspend sequence (applicable only on SoCs using OCP >> interconnect like the OMAP family). >> >> Signed-off-by: Parvathi Pudi <parvathi@couthit.com> > > mirrors what is done on module disable, so it looks sane. > Yes. > Reviewed-by: Andreas Kemnade <andreas@kemnade.info> Thanks for review. Thanks and Regards, Parvathi.
Parvathi Pudi <parvathi@couthit.com> writes: > Updates OCP master port configuration to enable memory access outside > of the PRU-ICSS subsystem. > > This set of changes configures PRUSS_SYSCFG.STANDBY_INIT bit to enable > the OCP master ports during resume sequence and disables the OCP master > ports during suspend sequence (applicable only on SoCs using OCP > interconnect like the OMAP family). > > Signed-off-by: Parvathi Pudi <parvathi@couthit.com> > --- > drivers/bus/ti-sysc.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c > index f67b927ae4ca..51caae611acf 100644 > --- a/drivers/bus/ti-sysc.c > +++ b/drivers/bus/ti-sysc.c > @@ -2036,6 +2036,19 @@ static void sysc_module_disable_quirk_pruss(struct sysc *ddata) > sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); > } > > +static void sysc_module_enable_quirk_pruss(struct sysc *ddata) > +{ > + u32 reg; > + > + reg = sysc_read(ddata, ddata->offsets[SYSC_SYSCONFIG]); > + /* Clearing the SYSC_PRUSS_STANDBY_INIT bit - Updates OCP master > + * port configuration to enable memory access outside of the > + * PRU-ICSS subsystem. > + */ minor nit: incorrect multi-line comment style (first /* should be on line of its own) But I fixed this up locally before applying. Kevin
On Mon, 07 Apr 2025 12:51:34 +0530, Parvathi Pudi wrote: > Updates OCP master port configuration to enable memory access outside > of the PRU-ICSS subsystem. > > This set of changes configures PRUSS_SYSCFG.STANDBY_INIT bit to enable > the OCP master ports during resume sequence and disables the OCP master > ports during suspend sequence (applicable only on SoCs using OCP > interconnect like the OMAP family). > > [...] Applied, thanks! [1/1] bus: ti-sysc: PRUSS OCP configuration commit: 7d25c4e23763298f46f1ac955bf9b0a872662316 Best regards,
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index f67b927ae4ca..51caae611acf 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -2036,6 +2036,19 @@ static void sysc_module_disable_quirk_pruss(struct sysc *ddata) sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); } +static void sysc_module_enable_quirk_pruss(struct sysc *ddata) +{ + u32 reg; + + reg = sysc_read(ddata, ddata->offsets[SYSC_SYSCONFIG]); + /* Clearing the SYSC_PRUSS_STANDBY_INIT bit - Updates OCP master + * port configuration to enable memory access outside of the + * PRU-ICSS subsystem. + */ + reg &= (~SYSC_PRUSS_STANDBY_INIT); + sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); +} + static void sysc_init_module_quirks(struct sysc *ddata) { if (ddata->legacy_mode || !ddata->name) @@ -2088,8 +2101,10 @@ static void sysc_init_module_quirks(struct sysc *ddata) ddata->module_disable_quirk = sysc_reset_done_quirk_wdt; } - if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_PRUSS) + if (ddata->cfg.quirks & SYSC_MODULE_QUIRK_PRUSS) { + ddata->module_enable_quirk = sysc_module_enable_quirk_pruss; ddata->module_disable_quirk = sysc_module_disable_quirk_pruss; + } } static int sysc_clockdomain_init(struct sysc *ddata)
Updates OCP master port configuration to enable memory access outside of the PRU-ICSS subsystem. This set of changes configures PRUSS_SYSCFG.STANDBY_INIT bit to enable the OCP master ports during resume sequence and disables the OCP master ports during suspend sequence (applicable only on SoCs using OCP interconnect like the OMAP family). Signed-off-by: Parvathi Pudi <parvathi@couthit.com> --- drivers/bus/ti-sysc.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-)