diff mbox series

[PATCHv5,10/10] ARM: OMAP2+: pdata-quirks: add PRM data for reset support

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

Commit Message

Tero Kristo Sept. 12, 2019, 11:39 a.m. UTC
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(+)

-- 
2.17.1

--
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
diff mbox series

Patch

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 */ },
 };