diff mbox series

[v2,1/2] rtc: pcf2127: properly set flag WD_CD for rtc chips(pcf2129, pca2129)

Message ID 20201202031840.15582-1-biwen.li@oss.nxp.com
State Accepted
Headers show
Series [v2,1/2] rtc: pcf2127: properly set flag WD_CD for rtc chips(pcf2129, pca2129) | expand

Commit Message

Biwen Li Dec. 2, 2020, 3:18 a.m. UTC
From: Biwen Li <biwen.li@nxp.com>

Properly set flag WD_CD for rtc chips(pcf2129, pca2129)

Signed-off-by: Biwen Li <biwen.li@nxp.com>
---
Change in v2:
	- set flag WD_CD according to compatible

 drivers/rtc/rtc-pcf2127.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Biwen Li Dec. 23, 2020, 7:06 a.m. UTC | #1
Hi Alexandre,

Any comments?

Regards,
Biwen Li
> -----Original Message-----
> From: Biwen Li <biwen.li@oss.nxp.com>
> Sent: 2020年12月2日 11:19
> To: Leo Li <leoyang.li@nxp.com>; alexandre.belloni@bootlin.com; Anson
> Huang <anson.huang@nxp.com>; Aisheng Dong <aisheng.dong@nxp.com>
> Cc: linux-kernel@vger.kernel.org; Jiafei Pan <jiafei.pan@nxp.com>;
> linux-rtc@vger.kernel.org; Biwen Li <biwen.li@nxp.com>
> Subject: [v2 1/2] rtc: pcf2127: properly set flag WD_CD for rtc chips(pcf2129,
> pca2129)
> 
> From: Biwen Li <biwen.li@nxp.com>
> 
> Properly set flag WD_CD for rtc chips(pcf2129, pca2129)
> 
> Signed-off-by: Biwen Li <biwen.li@nxp.com>
> ---
> Change in v2:
> 	- set flag WD_CD according to compatible
> 
>  drivers/rtc/rtc-pcf2127.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c index
> 03c9cb6b0b6e..a5418b657c50 100644
> --- a/drivers/rtc/rtc-pcf2127.c
> +++ b/drivers/rtc/rtc-pcf2127.c
> @@ -620,6 +620,10 @@ static int pcf2127_probe(struct device *dev, struct
> regmap *regmap,
>  	 * Watchdog timer enabled and reset pin /RST activated when timed out.
>  	 * Select 1Hz clock source for watchdog timer.
>  	 * Note: Countdown timer disabled and not available.
> +	 * For pca2129, pcf2129, only bit[7] is for Symbol WD_CD
> +	 * of register watchdg_tim_ctl. The bit[6] is labeled
> +	 * as T. Bits labeled as T must always be written with
> +	 * logic 0.
>  	 */
>  	ret = regmap_update_bits(pcf2127->regmap, PCF2127_REG_WD_CTL,
>  				 PCF2127_BIT_WD_CTL_CD1 |
> @@ -627,7 +631,8 @@ static int pcf2127_probe(struct device *dev, struct
> regmap *regmap,
>  				 PCF2127_BIT_WD_CTL_TF1 |
>  				 PCF2127_BIT_WD_CTL_TF0,
>  				 PCF2127_BIT_WD_CTL_CD1 |
> -				 PCF2127_BIT_WD_CTL_CD0 |
> +				 (device_property_match_string(dev, "compatible",
> "nxp,pcf2127")
> +				  ? (PCF2127_BIT_WD_CTL_CD0) : (0)) |
>  				 PCF2127_BIT_WD_CTL_TF1);
>  	if (ret) {
>  		dev_err(dev, "%s: watchdog config (wd_ctl) failed\n", __func__);
> --
> 2.17.1
Alexandre Belloni Feb. 13, 2021, 9:40 p.m. UTC | #2
On Wed, 2 Dec 2020 11:18:39 +0800, Biwen Li wrote:
> Properly set flag WD_CD for rtc chips(pcf2129, pca2129)

Applied, thanks!

[1/2] rtc: pcf2127: properly set flag WD_CD for rtc chips(pcf2129, pca2129)
      commit: 2843d565dd78fd9117b9a18567cf68ac37a5dd1e

Finally, I did revert back to your first version, after renaming has_nvmem.

Best regards,
diff mbox series

Patch

diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
index 03c9cb6b0b6e..a5418b657c50 100644
--- a/drivers/rtc/rtc-pcf2127.c
+++ b/drivers/rtc/rtc-pcf2127.c
@@ -620,6 +620,10 @@  static int pcf2127_probe(struct device *dev, struct regmap *regmap,
 	 * Watchdog timer enabled and reset pin /RST activated when timed out.
 	 * Select 1Hz clock source for watchdog timer.
 	 * Note: Countdown timer disabled and not available.
+	 * For pca2129, pcf2129, only bit[7] is for Symbol WD_CD
+	 * of register watchdg_tim_ctl. The bit[6] is labeled
+	 * as T. Bits labeled as T must always be written with
+	 * logic 0.
 	 */
 	ret = regmap_update_bits(pcf2127->regmap, PCF2127_REG_WD_CTL,
 				 PCF2127_BIT_WD_CTL_CD1 |
@@ -627,7 +631,8 @@  static int pcf2127_probe(struct device *dev, struct regmap *regmap,
 				 PCF2127_BIT_WD_CTL_TF1 |
 				 PCF2127_BIT_WD_CTL_TF0,
 				 PCF2127_BIT_WD_CTL_CD1 |
-				 PCF2127_BIT_WD_CTL_CD0 |
+				 (device_property_match_string(dev, "compatible", "nxp,pcf2127")
+				  ? (PCF2127_BIT_WD_CTL_CD0) : (0)) |
 				 PCF2127_BIT_WD_CTL_TF1);
 	if (ret) {
 		dev_err(dev, "%s: watchdog config (wd_ctl) failed\n", __func__);