mbox series

[PATCHv5,00/10] soc: ti: add OMAP PRM driver (for reset)

Message ID 20190912113916.20093-1-t-kristo@ti.com
Headers show
Series soc: ti: add OMAP PRM driver (for reset) | expand

Message

Tero Kristo Sept. 12, 2019, 11:39 a.m. UTC
Hi,

V5 of the series, re-sent the whole series as one patch was dropped.
Changes compared to v3/v4:

- removed dependency towards clock driver (patch #5 was completely
  dropped compared to v3/v4)
- dropped clocks property from dt binding
- re-added the pdata patch which was accidentally dropped out (it has
  dependency towards this series.)

The new implementation (without clock driver dependency) relies on the
bus driver to sequence events properly, otherwise some timeouts will
occur either at clock driver or reset driver end.

-Tero


--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

Comments

Tony Lindgren Sept. 12, 2019, 5:09 p.m. UTC | #1
* 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
Tero Kristo Sept. 12, 2019, 8:09 p.m. UTC | #2
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
Tony Lindgren Sept. 20, 2019, 2:26 p.m. UTC | #3
* Tero Kristo <t-kristo@ti.com> [190919 12:33]:
> 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>
> ---
> v6: replaced platform specific compatibles with a single common
>     compatible check

Thanks looks good to me:

Acked-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren Sept. 20, 2019, 2:28 p.m. UTC | #4
* Tero Kristo <t-kristo@ti.com> [190912 04:39]:
> Hi,
> 
> V5 of the series, re-sent the whole series as one patch was dropped.
> Changes compared to v3/v4:
> 
> - removed dependency towards clock driver (patch #5 was completely
>   dropped compared to v3/v4)
> - dropped clocks property from dt binding
> - re-added the pdata patch which was accidentally dropped out (it has
>   dependency towards this series.)
> 
> The new implementation (without clock driver dependency) relies on the
> bus driver to sequence events properly, otherwise some timeouts will
> occur either at clock driver or reset driver end.

With the two updated patches seems like we're done with this
series?

If so, I suggest either Santosh or me sets up an immutable
branch against v5.3 or v5.4-rc1 that we all can merge in.
I will need it for the related dts changes at least.

Regards,

Tony
Santosh Shilimkar Sept. 20, 2019, 7:19 p.m. UTC | #5
On 9/20/19 7:28 AM, Tony Lindgren wrote:
> * Tero Kristo <t-kristo@ti.com> [190912 04:39]:
>> Hi,
>>
>> V5 of the series, re-sent the whole series as one patch was dropped.
>> Changes compared to v3/v4:
>>
>> - removed dependency towards clock driver (patch #5 was completely
>>    dropped compared to v3/v4)
>> - dropped clocks property from dt binding
>> - re-added the pdata patch which was accidentally dropped out (it has
>>    dependency towards this series.)
>>
>> The new implementation (without clock driver dependency) relies on the
>> bus driver to sequence events properly, otherwise some timeouts will
>> occur either at clock driver or reset driver end.
> 
> With the two updated patches seems like we're done with this
> series?
> 
> If so, I suggest either Santosh or me sets up an immutable
> branch against v5.3 or v5.4-rc1 that we all can merge in.
> I will need it for the related dts changes at least.
> 
I will pick this up Tony and apply it once v5.4-rc1 is out.

Regards,
Santosh
Tony Lindgren Sept. 23, 2019, 5:47 p.m. UTC | #6
* santosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com> [190920 19:20]:
> On 9/20/19 7:28 AM, Tony Lindgren wrote:
> > * Tero Kristo <t-kristo@ti.com> [190912 04:39]:
> > > Hi,
> > > 
> > > V5 of the series, re-sent the whole series as one patch was dropped.
> > > Changes compared to v3/v4:
> > > 
> > > - removed dependency towards clock driver (patch #5 was completely
> > >    dropped compared to v3/v4)
> > > - dropped clocks property from dt binding
> > > - re-added the pdata patch which was accidentally dropped out (it has
> > >    dependency towards this series.)
> > > 
> > > The new implementation (without clock driver dependency) relies on the
> > > bus driver to sequence events properly, otherwise some timeouts will
> > > occur either at clock driver or reset driver end.
> > 
> > With the two updated patches seems like we're done with this
> > series?
> > 
> > If so, I suggest either Santosh or me sets up an immutable
> > branch against v5.3 or v5.4-rc1 that we all can merge in.
> > I will need it for the related dts changes at least.
> > 
> I will pick this up Tony and apply it once v5.4-rc1 is out.

OK thanks.

Tony