From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B3AEC433E0 for ; Tue, 19 Jan 2021 07:44:03 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EDED623131 for ; Tue, 19 Jan 2021 07:44:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EDED623131 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=uDUHq20EuDb54v5wH8afdotIOZxECbd015DdslL071w=; b=m878cw+tt5DZgWfuyFMHH5cYc PNssl3JVkkbWs5X3AnEPWcZrqrsrP+OTh3R7p3Ir40cbhCeyrZ/kwoMotb+7HPoLh87LTxkKOIxn/ CoYhYxAo8DubyMcjQ2fLysf8WOtMOPBGneVOAfBOGsVTm2jVdjx3VUjvV47Mq7Fg9xANNz+fJ+//v SkeF6FCxMezz79wYW5AtndOsYuGyv9UjsjkVP9Bl75NQpzlJKzqrFCX166ialPUnsh5KzdYNiFfcp E8tA3di/Pu4P58L7b1ck7qL+HZ3Qb9j8sFL2FqjfWgmQCYz67VYFBY3yilBMU6P6nQt77wMxA4dwC JLTJbgcrg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l1lg0-00055V-V9; Tue, 19 Jan 2021 07:43:45 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l1lfy-000544-MP; Tue, 19 Jan 2021 07:43:43 +0000 X-UUID: 4b7356199eba4a46adac2a06017c9a65-20210118 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=ozSZxzeJfhdjy2ScWm8VmcjVBqWPRVRu2nraPSlGiUk=; b=GdHdxpLGzdPF8aKZs7EAtd6Fa6nHk3A47YIa1kxpdgXJ8v+3PGwyh4OALpNZ1qjEQFENEZIJ8TAVbnT68B25gXJlwIiJI+zpMFj5D8naYdU3yKqLR/EAYAnIMYqGJ6AVFsW13ZwkIuVF+p+Yl7v5zmcZv4uSrkkubPtMcp6oHNk=; X-UUID: 4b7356199eba4a46adac2a06017c9a65-20210118 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 130330222; Mon, 18 Jan 2021 23:43:40 -0800 Received: from MTKMBS33N2.mediatek.inc (172.27.4.76) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 18 Jan 2021 23:33:37 -0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS33N2.mediatek.inc (172.27.4.76) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 19 Jan 2021 15:33:33 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 19 Jan 2021 15:33:32 +0800 Message-ID: <1611041612.12761.9.camel@mhfsdcap03> Subject: Re: [PATCH 1/2] usb typec: tcpci: mt6360: Add vsafe0v support and external vbus supply control From: Chunfeng Yun To: Guenter Roeck Date: Tue, 19 Jan 2021 15:33:32 +0800 In-Reply-To: <3a4a88a9-f0e3-2b65-9df4-6c1d4e3f1c14@roeck-us.net> References: <1610720001-15300-1-git-send-email-u0084500@gmail.com> <3a4a88a9-f0e3-2b65-9df4-6c1d4e3f1c14@roeck-us.net> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 583FC9A2C187E83C1BC85024308FDD8A9E0CF797AFAB7AE22F1756187A572C6B2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210119_024342_920228_80A60C0B X-CRM114-Status: GOOD ( 29.06 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: gene_chen@richtek.com, devicetree@vger.kernel.org, heikki.krogerus@linux.intel.com, cy_huang , gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, cy_huang@richtek.com, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Sun, 2021-01-17 at 09:43 -0800, Guenter Roeck wrote: > On 1/15/21 6:13 AM, cy_huang wrote: > > From: ChiYuan Huang > > > > MT6360 not support for TCPC command to control source and sink. > > does not > > > Uses external 5V vbus regulator as the vbus source control. > > > Use > > > Also adds the capability to report vsafe0v. > > > add > > So far this driver works without regulator. Unless I am missing something, > this patch makes regulator support mandatory, meaning existing code will fail. If don't provide vbus-supply in DTS, regulator framework will provide a dummy regulator, so the code will not fail. > I am not sure if that is appropriate/acceptable. Can we be sure that this will > work for existing users of this driver ? > > Thanks, > Guenter > > > Signed-off-by: ChiYuan Huang > > --- > > drivers/usb/typec/tcpm/tcpci_mt6360.c | 29 +++++++++++++++++++++++++++++ > > 1 file changed, 29 insertions(+) > > > > diff --git a/drivers/usb/typec/tcpm/tcpci_mt6360.c b/drivers/usb/typec/tcpm/tcpci_mt6360.c > > index f1bd9e0..0edf4b6 100644 > > --- a/drivers/usb/typec/tcpm/tcpci_mt6360.c > > +++ b/drivers/usb/typec/tcpm/tcpci_mt6360.c > > @@ -11,6 +11,7 @@ > > #include > > #include > > #include > > +#include > > #include > > > > #include "tcpci.h" > > @@ -36,6 +37,7 @@ struct mt6360_tcpc_info { > > struct tcpci_data tdata; > > struct tcpci *tcpci; > > struct device *dev; > > + struct regulator *vbus; > > int irq; > > }; > > > > @@ -51,6 +53,27 @@ static inline int mt6360_tcpc_write16(struct regmap *regmap, > > return regmap_raw_write(regmap, reg, &val, sizeof(u16)); > > } > > > > +static int mt6360_tcpc_set_vbus(struct tcpci *tcpci, struct tcpci_data *data, bool src, bool snk) > > +{ > > + struct mt6360_tcpc_info *mti = container_of(data, struct mt6360_tcpc_info, tdata); > > + int ret; > > + > > + /* To correctly handle the already enabled vbus and disable its supply first */ > > + if (regulator_is_enabled(mti->vbus)) { > > + ret = regulator_disable(mti->vbus); > > + if (ret) > > + return ret; > > + } > > Is it really a good idea to disable vbus if it happens to be already enabled > and there is (another ?) request to enable it ? > > > + > > + if (src) { > > + ret = regulator_enable(mti->vbus); > > + if (ret) > > + return ret; > > + } > > + > > + return 0; > > +} > > + > > static int mt6360_tcpc_init(struct tcpci *tcpci, struct tcpci_data *tdata) > > { > > struct regmap *regmap = tdata->regmap; > > @@ -138,7 +161,13 @@ static int mt6360_tcpc_probe(struct platform_device *pdev) > > if (mti->irq < 0) > > return mti->irq; > > > > + mti->vbus = devm_regulator_get(&pdev->dev, "vbus"); > > + if (IS_ERR(mti->vbus)) > > + return PTR_ERR(mti->vbus); > > + > > mti->tdata.init = mt6360_tcpc_init; > > + mti->tdata.set_vbus = mt6360_tcpc_set_vbus; > > + mti->tdata.vbus_vsafe0v = 1; > > mti->tcpci = tcpci_register_port(&pdev->dev, &mti->tdata); > > if (IS_ERR(mti->tcpci)) { > > dev_err(&pdev->dev, "Failed to register tcpci port\n"); > > > _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0FF9DC433E0 for ; Tue, 19 Jan 2021 07:36:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B86D522241 for ; Tue, 19 Jan 2021 07:36:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729339AbhASHfS (ORCPT ); Tue, 19 Jan 2021 02:35:18 -0500 Received: from Mailgw01.mediatek.com ([1.203.163.78]:53635 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1730001AbhASHek (ORCPT ); Tue, 19 Jan 2021 02:34:40 -0500 X-UUID: 408a52bca56c41948f86ab33c965aefb-20210119 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=ozSZxzeJfhdjy2ScWm8VmcjVBqWPRVRu2nraPSlGiUk=; b=GdHdxpLGzdPF8aKZs7EAtd6Fa6nHk3A47YIa1kxpdgXJ8v+3PGwyh4OALpNZ1qjEQFENEZIJ8TAVbnT68B25gXJlwIiJI+zpMFj5D8naYdU3yKqLR/EAYAnIMYqGJ6AVFsW13ZwkIuVF+p+Yl7v5zmcZv4uSrkkubPtMcp6oHNk=; X-UUID: 408a52bca56c41948f86ab33c965aefb-20210119 Received: from mtkcas35.mediatek.inc [(172.27.4.253)] by mailgw01.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 861298066; Tue, 19 Jan 2021 15:33:37 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS33N2.mediatek.inc (172.27.4.76) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 19 Jan 2021 15:33:33 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 19 Jan 2021 15:33:32 +0800 Message-ID: <1611041612.12761.9.camel@mhfsdcap03> Subject: Re: [PATCH 1/2] usb typec: tcpci: mt6360: Add vsafe0v support and external vbus supply control From: Chunfeng Yun To: Guenter Roeck CC: cy_huang , , , , , , , , , , , Date: Tue, 19 Jan 2021 15:33:32 +0800 In-Reply-To: <3a4a88a9-f0e3-2b65-9df4-6c1d4e3f1c14@roeck-us.net> References: <1610720001-15300-1-git-send-email-u0084500@gmail.com> <3a4a88a9-f0e3-2b65-9df4-6c1d4e3f1c14@roeck-us.net> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 583FC9A2C187E83C1BC85024308FDD8A9E0CF797AFAB7AE22F1756187A572C6B2000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org T24gU3VuLCAyMDIxLTAxLTE3IGF0IDA5OjQzIC0wODAwLCBHdWVudGVyIFJvZWNrIHdyb3RlOg0K PiBPbiAxLzE1LzIxIDY6MTMgQU0sIGN5X2h1YW5nIHdyb3RlOg0KPiA+IEZyb206IENoaVl1YW4g SHVhbmcgPGN5X2h1YW5nQHJpY2h0ZWsuY29tPg0KPiA+IA0KPiA+IE1UNjM2MCBub3Qgc3VwcG9y dCBmb3IgVENQQyBjb21tYW5kIHRvIGNvbnRyb2wgc291cmNlIGFuZCBzaW5rLg0KPiANCj4gZG9l cyBub3QNCj4gDQo+ID4gVXNlcyBleHRlcm5hbCA1ViB2YnVzIHJlZ3VsYXRvciBhcyB0aGUgdmJ1 cyBzb3VyY2UgY29udHJvbC4NCj4gPiANCj4gVXNlDQo+IA0KPiA+IEFsc28gYWRkcyB0aGUgY2Fw YWJpbGl0eSB0byByZXBvcnQgdnNhZmUwdi4NCj4gPiANCj4gYWRkDQo+IA0KPiBTbyBmYXIgdGhp cyBkcml2ZXIgd29ya3Mgd2l0aG91dCByZWd1bGF0b3IuIFVubGVzcyBJIGFtIG1pc3Npbmcgc29t ZXRoaW5nLA0KPiB0aGlzIHBhdGNoIG1ha2VzIHJlZ3VsYXRvciBzdXBwb3J0IG1hbmRhdG9yeSwg bWVhbmluZyBleGlzdGluZyBjb2RlIHdpbGwgZmFpbC4NCklmIGRvbid0IHByb3ZpZGUgdmJ1cy1z dXBwbHkgaW4gRFRTLCByZWd1bGF0b3IgZnJhbWV3b3JrIHdpbGwgcHJvdmlkZSBhDQpkdW1teSBy ZWd1bGF0b3IsIHNvIHRoZSBjb2RlIHdpbGwgbm90IGZhaWwuDQo+IEkgYW0gbm90IHN1cmUgaWYg dGhhdCBpcyBhcHByb3ByaWF0ZS9hY2NlcHRhYmxlLiBDYW4gd2UgYmUgc3VyZSB0aGF0IHRoaXMg d2lsbA0KPiB3b3JrIGZvciBleGlzdGluZyB1c2VycyBvZiB0aGlzIGRyaXZlciA/DQoNCj4gDQo+ IFRoYW5rcywNCj4gR3VlbnRlcg0KPiANCj4gPiBTaWduZWQtb2ZmLWJ5OiBDaGlZdWFuIEh1YW5n IDxjeV9odWFuZ0ByaWNodGVrLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy91c2IvdHlwZWMv dGNwbS90Y3BjaV9tdDYzNjAuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ ID4gIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspDQo+ID4gDQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwY2lfbXQ2MzYwLmMgYi9kcml2ZXJzL3VzYi90 eXBlYy90Y3BtL3RjcGNpX210NjM2MC5jDQo+ID4gaW5kZXggZjFiZDllMC4uMGVkZjRiNiAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3VzYi90eXBlYy90Y3BtL3RjcGNpX210NjM2MC5jDQo+ID4g KysrIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BjaV9tdDYzNjAuYw0KPiA+IEBAIC0xMSw2 ICsxMSw3IEBADQo+ID4gICNpbmNsdWRlIDxsaW51eC9vZi5oPg0KPiA+ICAjaW5jbHVkZSA8bGlu dXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4NCj4g PiArI2luY2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9jb25zdW1lci5oPg0KPiA+ICAjaW5jbHVkZSA8 bGludXgvdXNiL3RjcG0uaD4NCj4gPiAgDQo+ID4gICNpbmNsdWRlICJ0Y3BjaS5oIg0KPiA+IEBA IC0zNiw2ICszNyw3IEBAIHN0cnVjdCBtdDYzNjBfdGNwY19pbmZvIHsNCj4gPiAgCXN0cnVjdCB0 Y3BjaV9kYXRhIHRkYXRhOw0KPiA+ICAJc3RydWN0IHRjcGNpICp0Y3BjaTsNCj4gPiAgCXN0cnVj dCBkZXZpY2UgKmRldjsNCj4gPiArCXN0cnVjdCByZWd1bGF0b3IgKnZidXM7DQo+ID4gIAlpbnQg aXJxOw0KPiA+ICB9Ow0KPiA+ICANCj4gPiBAQCAtNTEsNiArNTMsMjcgQEAgc3RhdGljIGlubGlu ZSBpbnQgbXQ2MzYwX3RjcGNfd3JpdGUxNihzdHJ1Y3QgcmVnbWFwICpyZWdtYXAsDQo+ID4gIAly ZXR1cm4gcmVnbWFwX3Jhd193cml0ZShyZWdtYXAsIHJlZywgJnZhbCwgc2l6ZW9mKHUxNikpOw0K PiA+ICB9DQo+ID4gIA0KPiA+ICtzdGF0aWMgaW50IG10NjM2MF90Y3BjX3NldF92YnVzKHN0cnVj dCB0Y3BjaSAqdGNwY2ksIHN0cnVjdCB0Y3BjaV9kYXRhICpkYXRhLCBib29sIHNyYywgYm9vbCBz bmspDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBtdDYzNjBfdGNwY19pbmZvICptdGkgPSBjb250YWlu ZXJfb2YoZGF0YSwgc3RydWN0IG10NjM2MF90Y3BjX2luZm8sIHRkYXRhKTsNCj4gPiArCWludCBy ZXQ7DQo+ID4gKw0KPiA+ICsJLyogVG8gY29ycmVjdGx5IGhhbmRsZSB0aGUgYWxyZWFkeSBlbmFi bGVkIHZidXMgYW5kIGRpc2FibGUgaXRzIHN1cHBseSBmaXJzdCAqLw0KPiA+ICsJaWYgKHJlZ3Vs YXRvcl9pc19lbmFibGVkKG10aS0+dmJ1cykpIHsNCj4gPiArCQlyZXQgPSByZWd1bGF0b3JfZGlz YWJsZShtdGktPnZidXMpOw0KPiA+ICsJCWlmIChyZXQpDQo+ID4gKwkJCXJldHVybiByZXQ7DQo+ ID4gKwl9DQo+IA0KPiBJcyBpdCByZWFsbHkgYSBnb29kIGlkZWEgdG8gZGlzYWJsZSB2YnVzIGlm IGl0IGhhcHBlbnMgdG8gYmUgYWxyZWFkeSBlbmFibGVkDQo+IGFuZCB0aGVyZSBpcyAoYW5vdGhl ciA/KSByZXF1ZXN0IHRvIGVuYWJsZSBpdCA/DQo+IA0KPiA+ICsNCj4gPiArCWlmIChzcmMpIHsN Cj4gPiArCQlyZXQgPSByZWd1bGF0b3JfZW5hYmxlKG10aS0+dmJ1cyk7DQo+ID4gKwkJaWYgKHJl dCkNCj4gPiArCQkJcmV0dXJuIHJldDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsN Cj4gPiArfQ0KPiA+ICsNCj4gPiAgc3RhdGljIGludCBtdDYzNjBfdGNwY19pbml0KHN0cnVjdCB0 Y3BjaSAqdGNwY2ksIHN0cnVjdCB0Y3BjaV9kYXRhICp0ZGF0YSkNCj4gPiAgew0KPiA+ICAJc3Ry dWN0IHJlZ21hcCAqcmVnbWFwID0gdGRhdGEtPnJlZ21hcDsNCj4gPiBAQCAtMTM4LDcgKzE2MSwx MyBAQCBzdGF0aWMgaW50IG10NjM2MF90Y3BjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpDQo+ID4gIAlpZiAobXRpLT5pcnEgPCAwKQ0KPiA+ICAJCXJldHVybiBtdGktPmlycTsN Cj4gPiAgDQo+ID4gKwltdGktPnZidXMgPSBkZXZtX3JlZ3VsYXRvcl9nZXQoJnBkZXYtPmRldiwg InZidXMiKTsNCj4gPiArCWlmIChJU19FUlIobXRpLT52YnVzKSkNCj4gPiArCQlyZXR1cm4gUFRS X0VSUihtdGktPnZidXMpOw0KPiA+ICsNCj4gPiAgCW10aS0+dGRhdGEuaW5pdCA9IG10NjM2MF90 Y3BjX2luaXQ7DQo+ID4gKwltdGktPnRkYXRhLnNldF92YnVzID0gbXQ2MzYwX3RjcGNfc2V0X3Zi dXM7DQo+ID4gKwltdGktPnRkYXRhLnZidXNfdnNhZmUwdiA9IDE7DQo+ID4gIAltdGktPnRjcGNp ID0gdGNwY2lfcmVnaXN0ZXJfcG9ydCgmcGRldi0+ZGV2LCAmbXRpLT50ZGF0YSk7DQo+ID4gIAlp ZiAoSVNfRVJSKG10aS0+dGNwY2kpKSB7DQo+ID4gIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFp bGVkIHRvIHJlZ2lzdGVyIHRjcGNpIHBvcnRcbiIpOw0KPiA+IA0KPiANCg0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 516E6C433DB for ; Tue, 19 Jan 2021 07:45:39 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E3D212312D for ; Tue, 19 Jan 2021 07:45:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E3D212312D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=lBRMWZrpxAjhQ/X1m2yqMTz6mmreV1xxwWjd5CbFCE0=; b=jWBAfyncTEbiZgWxK+4bP/kBN uUAlLkYPUgVPi08zYgETLAdcPjuh7Ao1wckaRvmRuY/u9d984Ut/xlKP6B/3JVDLkX7nyMYrPm3BW iIWNgO7Zw9HUeijuIQlQ03M4zfKbQK8GFSbEAbJxFl5I5abEZPrumXlcLW/u+RImnwibRy12Q9TbK GJPFySezFuP2H6Fj1GVuNrZiM/dicESVqAMVlFfsgOnA8SuPBzkJTq2mBwRAPvVlX7cymJ/1hXBUM KcVp6BvLqZdHSAle4HZu5wLW+lVEf2IxacnUMOk/mmipHAYKhMXB7FZFXNjeFksjY1RN4ZSD1p/5K qD1LcMeww==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l1lg1-00055f-QX; Tue, 19 Jan 2021 07:43:45 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l1lfy-000544-MP; Tue, 19 Jan 2021 07:43:43 +0000 X-UUID: 4b7356199eba4a46adac2a06017c9a65-20210118 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=ozSZxzeJfhdjy2ScWm8VmcjVBqWPRVRu2nraPSlGiUk=; b=GdHdxpLGzdPF8aKZs7EAtd6Fa6nHk3A47YIa1kxpdgXJ8v+3PGwyh4OALpNZ1qjEQFENEZIJ8TAVbnT68B25gXJlwIiJI+zpMFj5D8naYdU3yKqLR/EAYAnIMYqGJ6AVFsW13ZwkIuVF+p+Yl7v5zmcZv4uSrkkubPtMcp6oHNk=; X-UUID: 4b7356199eba4a46adac2a06017c9a65-20210118 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 130330222; Mon, 18 Jan 2021 23:43:40 -0800 Received: from MTKMBS33N2.mediatek.inc (172.27.4.76) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 18 Jan 2021 23:33:37 -0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS33N2.mediatek.inc (172.27.4.76) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 19 Jan 2021 15:33:33 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 19 Jan 2021 15:33:32 +0800 Message-ID: <1611041612.12761.9.camel@mhfsdcap03> Subject: Re: [PATCH 1/2] usb typec: tcpci: mt6360: Add vsafe0v support and external vbus supply control From: Chunfeng Yun To: Guenter Roeck Date: Tue, 19 Jan 2021 15:33:32 +0800 In-Reply-To: <3a4a88a9-f0e3-2b65-9df4-6c1d4e3f1c14@roeck-us.net> References: <1610720001-15300-1-git-send-email-u0084500@gmail.com> <3a4a88a9-f0e3-2b65-9df4-6c1d4e3f1c14@roeck-us.net> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 583FC9A2C187E83C1BC85024308FDD8A9E0CF797AFAB7AE22F1756187A572C6B2000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210119_024342_920228_80A60C0B X-CRM114-Status: GOOD ( 29.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: gene_chen@richtek.com, devicetree@vger.kernel.org, heikki.krogerus@linux.intel.com, cy_huang , gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, cy_huang@richtek.com, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, matthias.bgg@gmail.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sun, 2021-01-17 at 09:43 -0800, Guenter Roeck wrote: > On 1/15/21 6:13 AM, cy_huang wrote: > > From: ChiYuan Huang > > > > MT6360 not support for TCPC command to control source and sink. > > does not > > > Uses external 5V vbus regulator as the vbus source control. > > > Use > > > Also adds the capability to report vsafe0v. > > > add > > So far this driver works without regulator. Unless I am missing something, > this patch makes regulator support mandatory, meaning existing code will fail. If don't provide vbus-supply in DTS, regulator framework will provide a dummy regulator, so the code will not fail. > I am not sure if that is appropriate/acceptable. Can we be sure that this will > work for existing users of this driver ? > > Thanks, > Guenter > > > Signed-off-by: ChiYuan Huang > > --- > > drivers/usb/typec/tcpm/tcpci_mt6360.c | 29 +++++++++++++++++++++++++++++ > > 1 file changed, 29 insertions(+) > > > > diff --git a/drivers/usb/typec/tcpm/tcpci_mt6360.c b/drivers/usb/typec/tcpm/tcpci_mt6360.c > > index f1bd9e0..0edf4b6 100644 > > --- a/drivers/usb/typec/tcpm/tcpci_mt6360.c > > +++ b/drivers/usb/typec/tcpm/tcpci_mt6360.c > > @@ -11,6 +11,7 @@ > > #include > > #include > > #include > > +#include > > #include > > > > #include "tcpci.h" > > @@ -36,6 +37,7 @@ struct mt6360_tcpc_info { > > struct tcpci_data tdata; > > struct tcpci *tcpci; > > struct device *dev; > > + struct regulator *vbus; > > int irq; > > }; > > > > @@ -51,6 +53,27 @@ static inline int mt6360_tcpc_write16(struct regmap *regmap, > > return regmap_raw_write(regmap, reg, &val, sizeof(u16)); > > } > > > > +static int mt6360_tcpc_set_vbus(struct tcpci *tcpci, struct tcpci_data *data, bool src, bool snk) > > +{ > > + struct mt6360_tcpc_info *mti = container_of(data, struct mt6360_tcpc_info, tdata); > > + int ret; > > + > > + /* To correctly handle the already enabled vbus and disable its supply first */ > > + if (regulator_is_enabled(mti->vbus)) { > > + ret = regulator_disable(mti->vbus); > > + if (ret) > > + return ret; > > + } > > Is it really a good idea to disable vbus if it happens to be already enabled > and there is (another ?) request to enable it ? > > > + > > + if (src) { > > + ret = regulator_enable(mti->vbus); > > + if (ret) > > + return ret; > > + } > > + > > + return 0; > > +} > > + > > static int mt6360_tcpc_init(struct tcpci *tcpci, struct tcpci_data *tdata) > > { > > struct regmap *regmap = tdata->regmap; > > @@ -138,7 +161,13 @@ static int mt6360_tcpc_probe(struct platform_device *pdev) > > if (mti->irq < 0) > > return mti->irq; > > > > + mti->vbus = devm_regulator_get(&pdev->dev, "vbus"); > > + if (IS_ERR(mti->vbus)) > > + return PTR_ERR(mti->vbus); > > + > > mti->tdata.init = mt6360_tcpc_init; > > + mti->tdata.set_vbus = mt6360_tcpc_set_vbus; > > + mti->tdata.vbus_vsafe0v = 1; > > mti->tcpci = tcpci_register_port(&pdev->dev, &mti->tdata); > > if (IS_ERR(mti->tcpci)) { > > dev_err(&pdev->dev, "Failed to register tcpci port\n"); > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel