From patchwork Wed Oct 18 09:28:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 116255 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp5848271qgn; Wed, 18 Oct 2017 02:29:11 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBpH92amSxS/CquA4uPYkHXkTYnPjJjQnAJNNVfasyFerYafrc6GTeI9rEoT6m/irqYdWu3 X-Received: by 10.98.51.198 with SMTP id z189mr14299306pfz.198.1508318951168; Wed, 18 Oct 2017 02:29:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508318951; cv=none; d=google.com; s=arc-20160816; b=Y+luK8pkDqANDl4x5otQYDV8y1jnsrV3JyVouP0vv1RC5a/znBY4jNaaR0EIWXKMQV 7Q7stTvNpbye/wZ1btMM66DY7G/8je0K4PZWyktQjCOdRaa6b/ZEH+6VtcBLXVNGhr2G xkML7gcu13wOctRzb275izXCstidtNvn9n/0TLzb/bQsBeV3DzygLdLfdNIY+nql1bTr rr9hpboY7qMAcgLMNYoXnPqh08QCLLwxKHzqwtdJD0CnITSGf7dFeFZ+cd6/553/qOb9 MUeUyKtaiGipzttf3OOjKNn1X/Z4ehNOuR/4TIDn5TU6/6rb/2ZXhZ22gQafhnriS9dN XO8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:cms-type:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=4r8VHQCaxHLgKbbNf1S6fuDce0efaCplkFYCEw+wvt4=; b=t+YYPWq4uPhgdSoBl7T52rl/YTkH6L9TeE3a9MXEAvm9wMsziOF2N1/nt7WEOAeJbU kT0WW6bs5vdowCyUskqnIiROcLof6jB8IhlDzI1GyG9AlbjQvAHKypC8IwkK+0ZeOvDy VC2+n8na0XeYJOd/6n1RioXSrfW7o55WvV1wuKgsZaqM2YRCVM1c6KX1lzOi6yIwEA2R rAy6DTpG/eV74ZQ3ZccOEol4MNJr32k2VXkuBv7qKJdtAWD3JbHgVg/era7TZf9PuxN7 IJdg876w607n72ee2pZPmlwatp9AezngCAaffoqzO0XkcjnILae3OMYLAMp2aai+VIKn euSg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t25si7134608pfj.353.2017.10.18.02.29.10; Wed, 18 Oct 2017 02:29:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967207AbdJRJ3D (ORCPT + 4 others); Wed, 18 Oct 2017 05:29:03 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:40481 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965409AbdJRJ2M (ORCPT ); Wed, 18 Oct 2017 05:28:12 -0400 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20171018092809euoutp01dce2ca4a3ccbf37c8d89c441564339fe~uoAnkTuUo0476804768euoutp01-; Wed, 18 Oct 2017 09:28:09 +0000 (GMT) Received: from eusmges3.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20171018092808eucas1p2145a77cb6899de2869afc9576255d447~uoAm5lgm63032830328eucas1p2V; Wed, 18 Oct 2017 09:28:08 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3.samsung.com (EUCPMTA) with SMTP id 7F.0C.12867.8AE17E95; Wed, 18 Oct 2017 10:28:08 +0100 (BST) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20171018092808eucas1p28a1a35b47d26687997798f68315d2a1f~uoAmMbpYA2603726037eucas1p2l; Wed, 18 Oct 2017 09:28:08 +0000 (GMT) X-AuditID: cbfec7f2-f793b6d000003243-95-59e71ea8235d Received: from eusync4.samsung.com ( [203.254.199.214]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 72.72.20118.8AE17E95; Wed, 18 Oct 2017 10:28:08 +0100 (BST) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OY000B2EIASYJ70@eusync4.samsung.com>; Wed, 18 Oct 2017 10:28:08 +0100 (BST) From: Marek Szyprowski To: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: Marek Szyprowski , MyungJoo Ham , Chanwoo Choi , Lee Jones , Bartlomiej Zolnierkiewicz Subject: [PATCH 1/2] extcon: max88743: Add OTG power control to the MUIC driver Date: Wed, 18 Oct 2017 11:28:01 +0200 Message-id: <20171018092802.25390-2-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.14.2 In-reply-to: <20171018092802.25390-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrCIsWRmVeSWpSXmKPExsWy7djPc7or5J5HGlw6qmyxccZ6VovrX56z Wtz/epTR4vKuOWwWM87vY7JYe+Quu8XtxhVsDuwed67tYfPo27KK0ePzJrkA5igum5TUnMyy 1CJ9uwSujL6eZ6wFC0UreidXNDD+F+xi5OSQEDCRWLt0IyuELSZx4d56ti5GLg4hgaWMEut+ nGGFcD4zSvxtOcwG07Hm+gyoqmWMEj82vIFyGpgkft9uAKtiEzCU6HrbBWaLCDhL3P7wjQWk iFngFqNE74mZzCAJYYFAiVU/3jGB2CwCqhLPrl5kB7F5BWwl1nS/Y4dYJy/xfsF9RhCbU8BO 4vDuT8wggyQE/rJK3N26HeomF4m5H/qhGoQlXh3fAmXLSFye3M0CYfczSjS1akPYMxglzr3l hbCtJQ4fvwgOAWYBPolJ26YDLeAAivNKdLQJQZR4SPydsw5qpKPEkT/t7BAfT2SU2NrTxD6B UXoBI8MqRpHU0uLc9NRiY73ixNzi0rx0veT83E2MwLg8/e/4px2MX09YHWIU4GBU4uENUHkW KcSaWFZcmXuIUYKDWUmEl/kjUIg3JbGyKrUoP76oNCe1+BCjNAeLkjivbVRbpJBAemJJanZq akFqEUyWiYNTqoGRZXeNcU7cg3NRTaslrfatKNr/PfyNpZdKJUsV4+1LWU5C5alymtt6toew Xgnc/efdBclbv3+rP3c//rpDur7r/vPjTq6Hs/xWhsT8ebuZ77yVt/3OzN8rX/5/2LE+K/Dh ZM3NV5dNYp+Ut1nW7e3N+26mpVfEXvrtZY5pOWy16/v3wpWPrz36rMRSnJFoqMVcVJwIAIsK 6DDHAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupgluLIzCtJLcpLzFFi42I5/e/4Nd0Vcs8jDVb+YbbYOGM9q8X1L89Z Le5/PcpocXnXHDaLGef3MVmsPXKX3eJ24wo2B3aPO9f2sHn0bVnF6PF5k1wAcxSXTUpqTmZZ apG+XQJXRl/PM9aChaIVvZMrGhj/C3YxcnJICJhIrLk+gw3CFpO4cG89kM3FISSwhFFi4bfV zCAJIYEmJomWBeIgNpuAoUTX2y6wBhEBZ4nbH76xgDQwC9xhlPjetI0RJCEs4C9x/MwPJhCb RUBV4tnVi+wgNq+ArcSa7nfsENvkJd4vuA9WzylgJ3F49yeoZbYSjXcbWScw8i5gZFjFKJJa WpybnltspFecmFtcmpeul5yfu4kRGD7bjv3csoOx613wIUYBDkYlHt4AlWeRQqyJZcWVuYcY JTiYlUR4mT8ChXhTEiurUovy44tKc1KLDzFKc7AoifP27lkdKSSQnliSmp2aWpBaBJNl4uCU amDM5r9tWP7K5ciE1HfJCyNOL4iefDFRQD9I8tMiHael04webz4tM3/e+ivJ20/9LYmRSJo8 9cvBb04TJ966475p0ooNL16sFLaewOgZNYfpTFAzi23Cb3unx/Z6miudU44HHUj2NhS9KT1D 9NexEsM2nXNP2K8sOP7rnpKg64T2/7Of7Nq7NvaPqBJLcUaioRZzUXEiAFuVCr4bAgAA X-CMS-MailID: 20171018092808eucas1p28a1a35b47d26687997798f68315d2a1f X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1BSam?= =?utf-8?q?sung_Electronics=1BSenior_Software_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?= CMS-TYPE: 201P X-CMS-RootMailID: 20171018092808eucas1p28a1a35b47d26687997798f68315d2a1f X-RootMTR: 20171018092808eucas1p28a1a35b47d26687997798f68315d2a1f References: <20171018092802.25390-1-m.szyprowski@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org Enabling power on VBUS micro-usb pin is required only when passive OTG cable is connected. Initially OTG VBUS power control was planned to be done in charger driver. However such information is not really available from the extcon notifications, so VBUS power control has to be done directly in MUIC driver, which has all information about the attached accessory. For example SmartDock is externally powered accessory, provides OTG (USB HOST) functionality and use VBUS pin for charging a device battery, so the VBUS charging pump should be disabled in such case. Signed-off-by: Marek Szyprowski --- drivers/extcon/extcon-max77843.c | 16 ++++++++++++++++ include/linux/mfd/max77843-private.h | 3 +++ 2 files changed, 19 insertions(+) -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Acked-by: Chanwoo Choi diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c index 6e722d552cf1..217c743405f8 100644 --- a/drivers/extcon/extcon-max77843.c +++ b/drivers/extcon/extcon-max77843.c @@ -240,6 +240,21 @@ static int max77843_muic_set_path(struct max77843_muic_info *info, return 0; } +static void max77843_charger_set_otg_vbus(struct max77843_muic_info *info, + bool on) +{ + struct max77693_dev *max77843 = info->max77843; + unsigned int cnfg00; + + if (on) + cnfg00 = MAX77843_CHG_OTG_MASK | MAX77843_CHG_BOOST_MASK; + else + cnfg00 = MAX77843_CHG_ENABLE | MAX77843_CHG_BUCK_MASK; + + regmap_update_bits(max77843->regmap_chg, MAX77843_CHG_REG_CHG_CNFG_00, + MAX77843_CHG_MODE_MASK, cnfg00); +} + static int max77843_muic_get_cable_type(struct max77843_muic_info *info, enum max77843_muic_cable_group group, bool *attached) { @@ -355,6 +370,7 @@ static int max77843_muic_adc_gnd_handler(struct max77843_muic_info *info) return ret; extcon_set_state_sync(info->edev, EXTCON_USB_HOST, attached); + max77843_charger_set_otg_vbus(info, attached); break; case MAX77843_MUIC_GND_MHL_VB: case MAX77843_MUIC_GND_MHL: diff --git a/include/linux/mfd/max77843-private.h b/include/linux/mfd/max77843-private.h index c19303b0ccfd..0223cd5941c8 100644 --- a/include/linux/mfd/max77843-private.h +++ b/include/linux/mfd/max77843-private.h @@ -245,10 +245,13 @@ enum max77843_irq_muic { #define MAX77843_CHG_OVER_CURRENT_BAT (0x06 << 4) /* MAX77843 CHG_CNFG_00 register */ +#define MAX77843_CHG_MODE_MASK 0x0f #define MAX77843_CHG_DISABLE 0x00 #define MAX77843_CHG_ENABLE 0x05 #define MAX77843_CHG_MASK 0x01 +#define MAX77843_CHG_OTG_MASK 0x02 #define MAX77843_CHG_BUCK_MASK 0x04 +#define MAX77843_CHG_BOOST_MASK 0x08 /* MAX77843 CHG_CNFG_01 register */ #define MAX77843_CHG_RESTART_THRESHOLD_100 0x00