Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp831336ybg; Fri, 12 Jun 2020 16:22:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtRXzm01Mavhhj78k2rhvYQbt9sKmo63+1KYEpUd+EKRHPV/GFGg5Ey44M9ORlJeeNqGpH X-Received: by 2002:a17:906:148b:: with SMTP id x11mr16125922ejc.282.1592004128397; Fri, 12 Jun 2020 16:22:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592004128; cv=none; d=google.com; s=arc-20160816; b=AvMQimH/ACz3sSKTSWzd5bIfnnMNm26AL7DWz5wQk5IjxeBqh3xGtZPJomduzLe/lh I5RvlLr6rOybVC5MSy2lvqcFrm3BPoyaxtSD9wniqNFP8qnmcHabu7fxIm7PDPGBtWNn +A5JNEQjZyi3L9+CHNBe0KN8Voz++3GEszohXTZwRDlYpiepf3WrfJvfUbZa291k5MQA 6h86u8Tv8WyOMX0YMsHqOQfe4z6Fsw82JrO/RBMsf/Q9UdkPjiSqeus/LIAqKR0BObFI eo6eR+KQ9ktWd9A8o319FEF6ByZZGYZpcc97uq2VmiAAWOwZhK9cIULHPo4PQukNyUJX lAVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dmarc-filter:dkim-signature; bh=fE3heu7IHyIgsQESfgZjPzMFAyntiQh36ilt5hn1fXk=; b=fF5CfkPey2z9N4tq2Cirffm1f5x5BJ+Ubktl1EzRjNLdjgi+10+vqQVqZXFetFbCob Va0Zpq6Wj+Zwf8EC0RaONnZtQxEFSMkBtCZgXDpEh+5UdzHUywTpt8tkZum8kLh8YVk0 j835L0lPDX0WSo+yp0FoaY+ZCJ04qlNyaDmbkGCL2Ln7syw6soRyHFjWkMbmLV9as0+y vioHPolbzJzykQStPsN/H9HohxkUvTwdP3rDhX1xxOsyXnZOWdOJXbbRhRg1alIsO+q0 JAipa2F4lXB7bPX2w7DQHzdYkl8J5dbtQ7APNRW++XsXJiuuSbdmMhSc6Q6y086RQnXD aYvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=S4mKUHGn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u7si4727056ejn.279.2020.06.12.16.21.46; Fri, 12 Jun 2020 16:22:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=S4mKUHGn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726523AbgFLXTx (ORCPT + 99 others); Fri, 12 Jun 2020 19:19:53 -0400 Received: from mail27.static.mailgun.info ([104.130.122.27]:10683 "EHLO mail27.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726485AbgFLXTm (ORCPT ); Fri, 12 Jun 2020 19:19:42 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1592003982; h=Content-Transfer-Encoding: MIME-Version: Message-Id: Date: Subject: Cc: To: From: Sender; bh=fE3heu7IHyIgsQESfgZjPzMFAyntiQh36ilt5hn1fXk=; b=S4mKUHGnqUiW1CA6DoWGi6re8eKHqtVLQ19EZAz4/aeu/qIIV8j+pcyT59RM63PwVWxerJGV VacNsRSnjyZJKU0lP7uX0AKcZJp/iBSf3SoGcevMHBvuHAAwkz1vfDhxBPGfr+eb14Bto7vX ofsoQb1rRzLvc1NmrRhScKR3q0U= X-Mailgun-Sending-Ip: 104.130.122.27 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n12.prod.us-west-2.postgun.com with SMTP id 5ee40d7c3a8a8b20b84d91a3 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 12 Jun 2020 23:19:24 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 66020C433A0; Fri, 12 Jun 2020 23:19:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.0 Received: from wcheng-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: wcheng) by smtp.codeaurora.org (Postfix) with ESMTPSA id ECE73C433C8; Fri, 12 Jun 2020 23:19:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org ECE73C433C8 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=wcheng@codeaurora.org From: Wesley Cheng To: robh+dt@kernel.org, heikki.krogerus@linux.intel.com, gregkh@linuxfoundation.org, mark.rutland@arm.com, broonie@kernel.org, lgirdwood@gmail.com, agross@kernel.org, bjorn.andersson@linaro.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, lijun.kernel@gmail.com, rdunlap@infradead.org, jackp@codeaurora.org, bryan.odonoghue@linaro.org, Wesley Cheng Subject: [PATCH v2 0/6] Introduce PMIC based USB type C detection Date: Fri, 12 Jun 2020 16:19:12 -0700 Message-Id: <20200612231918.8001-1-wcheng@codeaurora.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes in v2: - Use devm_kzalloc() in qcom_pmic_typec_probe() - Add checks to make sure return value of typec_find_port_power_role() is valid - Added a VBUS output regulator driver, which will be used by the PMIC USB type c driver to enable/disable the source - Added logic to control vbus source from the PMIC type c driver when UFP/DFP is detected - Added dt-binding for this new regulator driver - Fixed Kconfig typec notation to match others - Leave type C block disabled until enabled by a platform DTS Add the required drivers for implementing type C orientation and role detection using the Qualcomm PMIC. Currently, PMICs such as the PM8150B have an integrated type C block, which can be utilized for this. This series adds the dt-binding, PMIC type C driver, and DTS nodes. The PMIC type C driver will register itself as a type C port w/ a registered type C switch for orientation, and will fetch a USB role switch handle for the role notifications. It will also have the ability to enable the VBUS output to any connected devices based on if the device is behaving as a UFP or DFP. Wesley Cheng (6): usb: typec: Add QCOM PMIC typec detection driver dt-bindings: usb: Add Qualcomm PMIC type C controller dt-binding arm64: boot: dts: qcom: pm8150b: Add node for USB type C block regulator: Add support for QCOM PMIC VBUS booster dt-bindings: regulator: Add dt-binding for QCOM PMIC VBUS output regulator arm64: boot: dts: qcom: pm8150b: Add DTS node for PMIC VBUS booster .../regulator/qcom,usb-vbus-regulator.yaml | 41 +++ .../bindings/usb/qcom,pmic-typec.yaml | 117 ++++++++ arch/arm64/boot/dts/qcom/pm8150b.dtsi | 13 + arch/arm64/boot/dts/qcom/sm8150-mtp.dts | 7 + drivers/regulator/Kconfig | 10 + drivers/regulator/Makefile | 1 + drivers/regulator/qcom_usb_vbus-regulator.c | 147 ++++++++++ drivers/usb/typec/Kconfig | 12 + drivers/usb/typec/Makefile | 1 + drivers/usb/typec/qcom-pmic-typec.c | 275 ++++++++++++++++++ 10 files changed, 624 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/qcom,usb-vbus-regulator.yaml create mode 100644 Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml create mode 100644 drivers/regulator/qcom_usb_vbus-regulator.c create mode 100644 drivers/usb/typec/qcom-pmic-typec.c -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project