From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-db5eur01on0067.outbound.protection.outlook.com ([104.47.2.67]:46304 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752918AbeBZMFQ (ORCPT ); Mon, 26 Feb 2018 07:05:16 -0500 From: Li Jun Subject: [PATCH v2 08/12] staging: typec: tcpci: keep the uncontact cc line open Date: Mon, 26 Feb 2018 19:49:15 +0800 Message-Id: <1519645759-12701-9-git-send-email-jun.li@nxp.com> In-Reply-To: <1519645759-12701-1-git-send-email-jun.li@nxp.com> References: <1519645759-12701-1-git-send-email-jun.li@nxp.com> MIME-Version: 1.0 Content-Type: text/plain Sender: devicetree-owner@vger.kernel.org To: gregkh@linuxfoundation.org, robh+dt@kernel.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net Cc: a.hajda@samsung.com, mark.rutland@arm.com, jun.li@nxp.com, yueyao@google.com, peter.chen@nxp.com, garsilva@embeddedor.com, o_leveque@orange.fr, shufan_lee@richtek.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: While set polarity, we should keep the disconnected cc line to be open when attached. Signed-off-by: Li Jun --- Change for v2: - Set the uncontact cc line to be open when set polarity, this way, we don't need change set_cc api. drivers/staging/typec/tcpci.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/staging/typec/tcpci.c b/drivers/staging/typec/tcpci.c index 530a5d7..7145771 100644 --- a/drivers/staging/typec/tcpci.c +++ b/drivers/staging/typec/tcpci.c @@ -184,6 +184,7 @@ static int tcpci_set_polarity(struct tcpc_dev *tcpc, enum typec_cc_polarity polarity) { struct tcpci *tcpci = tcpc_to_tcpci(tcpc); + unsigned int reg; int ret; ret = regmap_write(tcpci->regmap, TCPC_TCPC_CTRL, @@ -192,6 +193,20 @@ static int tcpci_set_polarity(struct tcpc_dev *tcpc, if (ret < 0) return ret; + ret = regmap_read(tcpci->regmap, TCPC_ROLE_CTRL, ®); + if (ret < 0) + return ret; + + if (polarity == TYPEC_POLARITY_CC2) + ret = TCPC_ROLE_CTRL_CC1_SHIFT; + else + ret = TCPC_ROLE_CTRL_CC2_SHIFT; + reg |= TCPC_ROLE_CTRL_CC_OPEN << ret; + reg &= ~TCPC_ROLE_CTRL_DRP; + ret = regmap_write(tcpci->regmap, TCPC_ROLE_CTRL, reg); + if (ret < 0) + return ret; + return 0; } -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,08/12] staging: typec: tcpci: keep the uncontact cc line open From: Jun Li Message-Id: <1519645759-12701-9-git-send-email-jun.li@nxp.com> Date: Mon, 26 Feb 2018 19:49:15 +0800 To: gregkh@linuxfoundation.org, robh+dt@kernel.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net Cc: a.hajda@samsung.com, mark.rutland@arm.com, jun.li@nxp.com, yueyao@google.com, peter.chen@nxp.com, garsilva@embeddedor.com, o_leveque@orange.fr, shufan_lee@richtek.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: V2hpbGUgc2V0IHBvbGFyaXR5LCB3ZSBzaG91bGQga2VlcCB0aGUgZGlzY29ubmVjdGVkIGNjIGxp bmUgdG8gYmUKb3BlbiB3aGVuIGF0dGFjaGVkLgoKU2lnbmVkLW9mZi1ieTogTGkgSnVuIDxqdW4u bGlAbnhwLmNvbT4KLS0tCkNoYW5nZSBmb3IgdjI6Ci0gU2V0IHRoZSB1bmNvbnRhY3QgY2MgbGlu ZSB0byBiZSBvcGVuIHdoZW4gc2V0IHBvbGFyaXR5LCB0aGlzIHdheSwKICB3ZSBkb24ndCBuZWVk IGNoYW5nZSBzZXRfY2MgYXBpLgoKIGRyaXZlcnMvc3RhZ2luZy90eXBlYy90Y3BjaS5jIHwgMTUg KysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvc3RhZ2luZy90eXBlYy90Y3BjaS5jIGIvZHJpdmVycy9zdGFnaW5nL3R5 cGVjL3RjcGNpLmMKaW5kZXggNTMwYTVkNy4uNzE0NTc3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9z dGFnaW5nL3R5cGVjL3RjcGNpLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL3R5cGVjL3RjcGNpLmMK QEAgLTE4NCw2ICsxODQsNyBAQCBzdGF0aWMgaW50IHRjcGNpX3NldF9wb2xhcml0eShzdHJ1Y3Qg dGNwY19kZXYgKnRjcGMsCiAJCQkgICAgICBlbnVtIHR5cGVjX2NjX3BvbGFyaXR5IHBvbGFyaXR5 KQogewogCXN0cnVjdCB0Y3BjaSAqdGNwY2kgPSB0Y3BjX3RvX3RjcGNpKHRjcGMpOworCXVuc2ln bmVkIGludCByZWc7CiAJaW50IHJldDsKIAogCXJldCA9IHJlZ21hcF93cml0ZSh0Y3BjaS0+cmVn bWFwLCBUQ1BDX1RDUENfQ1RSTCwKQEAgLTE5Miw2ICsxOTMsMjAgQEAgc3RhdGljIGludCB0Y3Bj aV9zZXRfcG9sYXJpdHkoc3RydWN0IHRjcGNfZGV2ICp0Y3BjLAogCWlmIChyZXQgPCAwKQogCQly ZXR1cm4gcmV0OwogCisJcmV0ID0gcmVnbWFwX3JlYWQodGNwY2ktPnJlZ21hcCwgVENQQ19ST0xF X0NUUkwsICZyZWcpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJaWYgKHBvbGFy aXR5ID09IFRZUEVDX1BPTEFSSVRZX0NDMikKKwkJcmV0ID0gVENQQ19ST0xFX0NUUkxfQ0MxX1NI SUZUOworCWVsc2UKKwkJcmV0ID0gVENQQ19ST0xFX0NUUkxfQ0MyX1NISUZUOworCXJlZyB8PSBU Q1BDX1JPTEVfQ1RSTF9DQ19PUEVOIDw8IHJldDsKKwlyZWcgJj0gflRDUENfUk9MRV9DVFJMX0RS UDsKKwlyZXQgPSByZWdtYXBfd3JpdGUodGNwY2ktPnJlZ21hcCwgVENQQ19ST0xFX0NUUkwsIHJl Zyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKIAlyZXR1cm4gMDsKIH0KIAo=