All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhiyong Tao <zhiyong.tao@mediatek.com>
To: robh+dt@kernel.org, linus.walleij@linaro.org,
	mark.rutland@arm.com, matthias.bgg@gmail.com
Cc: srv_heupstream@mediatek.com, liguo.zhang@mediatek.com,
	yingjoe.chen@mediatek.com, hongkun.cao@mediatek.com,
	biao.huang@mediatek.com, yt.shen@mediatek.com,
	hongzhou.yang@mediatek.com, erin.lo@mediatek.com,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-gpio@vger.kernel.org,
	Zhiyong Tao <zhiyong.tao@mediatek.com>
Subject: [PATCH v3 4/4] pintcrl: support bias-disable of generic and special pins simultaneously
Date: Mon, 5 Mar 2018 19:35:45 +0800	[thread overview]
Message-ID: <1520249745-6757-5-git-send-email-zhiyong.tao@mediatek.com> (raw)
In-Reply-To: <1520249745-6757-1-git-send-email-zhiyong.tao@mediatek.com>

For generic pins, parameter "arg" is 0 or 1.
For special pins, bias-disable is set by R0R1,
so we need transmited "00" to set bias-disable
When we set "bias-disable" as high-z property,
the parameter should be "MTK_PUPD_SET_R1R0_00".

Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 3cf384f..f991ff3 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -293,7 +293,7 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl,
 		unsigned int pin, bool enable, bool isup, unsigned int arg)
 {
 	unsigned int bit;
-	unsigned int reg_pullen, reg_pullsel;
+	unsigned int reg_pullen, reg_pullsel, r1r0;
 	int ret;
 
 	/* Some pins' pull setting are very different,
@@ -301,8 +301,12 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl,
 	 * resistor bit, so we need this special handle.
 	 */
 	if (pctl->devdata->spec_pull_set) {
+		/* For special pins, bias-disable is set by R1R0,
+		 * the parameter should be "MTK_PUPD_SET_R1R0_00".
+		 */
+		r1r0 = enable ? arg : MTK_PUPD_SET_R1R0_00;
 		ret = pctl->devdata->spec_pull_set(mtk_get_regmap(pctl, pin),
-			pin, pctl->devdata->port_align, isup, arg);
+			pin, pctl->devdata->port_align, isup, r1r0);
 		if (!ret)
 			return 0;
 	}
-- 
1.9.1

WARNING: multiple messages have this Message-ID (diff)
From: Zhiyong Tao <zhiyong.tao@mediatek.com>
To: <robh+dt@kernel.org>, <linus.walleij@linaro.org>,
	<mark.rutland@arm.com>, <matthias.bgg@gmail.com>
Cc: <srv_heupstream@mediatek.com>, <liguo.zhang@mediatek.com>,
	<yingjoe.chen@mediatek.com>, <hongkun.cao@mediatek.com>,
	<biao.huang@mediatek.com>, <yt.shen@mediatek.com>,
	<hongzhou.yang@mediatek.com>, <erin.lo@mediatek.com>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	<linux-gpio@vger.kernel.org>,
	Zhiyong Tao <zhiyong.tao@mediatek.com>
Subject: [PATCH v3 4/4] pintcrl: support bias-disable of generic and special pins simultaneously
Date: Mon, 5 Mar 2018 19:35:45 +0800	[thread overview]
Message-ID: <1520249745-6757-5-git-send-email-zhiyong.tao@mediatek.com> (raw)
In-Reply-To: <1520249745-6757-1-git-send-email-zhiyong.tao@mediatek.com>

For generic pins, parameter "arg" is 0 or 1.
For special pins, bias-disable is set by R0R1,
so we need transmited "00" to set bias-disable
When we set "bias-disable" as high-z property,
the parameter should be "MTK_PUPD_SET_R1R0_00".

Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 3cf384f..f991ff3 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -293,7 +293,7 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl,
 		unsigned int pin, bool enable, bool isup, unsigned int arg)
 {
 	unsigned int bit;
-	unsigned int reg_pullen, reg_pullsel;
+	unsigned int reg_pullen, reg_pullsel, r1r0;
 	int ret;
 
 	/* Some pins' pull setting are very different,
@@ -301,8 +301,12 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl,
 	 * resistor bit, so we need this special handle.
 	 */
 	if (pctl->devdata->spec_pull_set) {
+		/* For special pins, bias-disable is set by R1R0,
+		 * the parameter should be "MTK_PUPD_SET_R1R0_00".
+		 */
+		r1r0 = enable ? arg : MTK_PUPD_SET_R1R0_00;
 		ret = pctl->devdata->spec_pull_set(mtk_get_regmap(pctl, pin),
-			pin, pctl->devdata->port_align, isup, arg);
+			pin, pctl->devdata->port_align, isup, r1r0);
 		if (!ret)
 			return 0;
 	}
-- 
1.9.1

WARNING: multiple messages have this Message-ID (diff)
From: zhiyong.tao@mediatek.com (Zhiyong Tao)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 4/4] pintcrl: support bias-disable of generic and special pins simultaneously
Date: Mon, 5 Mar 2018 19:35:45 +0800	[thread overview]
Message-ID: <1520249745-6757-5-git-send-email-zhiyong.tao@mediatek.com> (raw)
In-Reply-To: <1520249745-6757-1-git-send-email-zhiyong.tao@mediatek.com>

For generic pins, parameter "arg" is 0 or 1.
For special pins, bias-disable is set by R0R1,
so we need transmited "00" to set bias-disable
When we set "bias-disable" as high-z property,
the parameter should be "MTK_PUPD_SET_R1R0_00".

Signed-off-by: Zhiyong Tao <zhiyong.tao@mediatek.com>
---
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 3cf384f..f991ff3 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -293,7 +293,7 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl,
 		unsigned int pin, bool enable, bool isup, unsigned int arg)
 {
 	unsigned int bit;
-	unsigned int reg_pullen, reg_pullsel;
+	unsigned int reg_pullen, reg_pullsel, r1r0;
 	int ret;
 
 	/* Some pins' pull setting are very different,
@@ -301,8 +301,12 @@ static int mtk_pconf_set_pull_select(struct mtk_pinctrl *pctl,
 	 * resistor bit, so we need this special handle.
 	 */
 	if (pctl->devdata->spec_pull_set) {
+		/* For special pins, bias-disable is set by R1R0,
+		 * the parameter should be "MTK_PUPD_SET_R1R0_00".
+		 */
+		r1r0 = enable ? arg : MTK_PUPD_SET_R1R0_00;
 		ret = pctl->devdata->spec_pull_set(mtk_get_regmap(pctl, pin),
-			pin, pctl->devdata->port_align, isup, arg);
+			pin, pctl->devdata->port_align, isup, r1r0);
 		if (!ret)
 			return 0;
 	}
-- 
1.9.1

  parent reply	other threads:[~2018-03-05 11:35 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-05 11:35 [PATCH v3 0/4] PINCTRL: Mediatek pinctrl driver for mt2712 Zhiyong Tao
2018-03-05 11:35 ` Zhiyong Tao
2018-03-05 11:35 ` Zhiyong Tao
2018-03-05 11:35 ` [PATCH v3 1/4] arm64: dts: mt2712: add pintcrl file Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
2018-03-07 22:28   ` Rob Herring
2018-03-07 22:28     ` Rob Herring
2018-03-05 11:35 ` [PATCH v3 2/4] arm64: dts: mt2712: add pintcrl device node Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
2018-03-05 11:35 ` [PATCH v3 3/4] pinctrl: add mt2712 pinctrl driver Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
2018-03-05 11:35 ` Zhiyong Tao [this message]
2018-03-05 11:35   ` [PATCH v3 4/4] pintcrl: support bias-disable of generic and special pins simultaneously Zhiyong Tao
2018-03-05 11:35   ` Zhiyong Tao
     [not found] ` <1520249745-6757-1-git-send-email-zhiyong.tao-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2018-03-08  3:08   ` [PATCH v3 0/4] PINCTRL: Mediatek pinctrl driver for mt2712 Sean Wang
2018-03-08  3:08     ` Sean Wang
2018-03-08  3:08     ` Sean Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1520249745-6757-5-git-send-email-zhiyong.tao@mediatek.com \
    --to=zhiyong.tao@mediatek.com \
    --cc=biao.huang@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=erin.lo@mediatek.com \
    --cc=hongkun.cao@mediatek.com \
    --cc=hongzhou.yang@mediatek.com \
    --cc=liguo.zhang@mediatek.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=srv_heupstream@mediatek.com \
    --cc=yingjoe.chen@mediatek.com \
    --cc=yt.shen@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.