From patchwork Tue Oct 20 09:36:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Badhri Jagan Sridharan X-Patchwork-Id: 1384749 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20161025 header.b=RMCsqbTg; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4CFpSS2k5pz9sSC for ; Tue, 20 Oct 2020 20:37:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392930AbgJTJgh (ORCPT ); Tue, 20 Oct 2020 05:36:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392927AbgJTJgg (ORCPT ); Tue, 20 Oct 2020 05:36:36 -0400 Received: from mail-pf1-x44a.google.com (mail-pf1-x44a.google.com [IPv6:2607:f8b0:4864:20::44a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BC03C061755 for ; Tue, 20 Oct 2020 02:36:35 -0700 (PDT) Received: by mail-pf1-x44a.google.com with SMTP id x24so780189pfi.18 for ; Tue, 20 Oct 2020 02:36:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:in-reply-to:message-id:mime-version:references:subject :from:to:cc; bh=gF6Pjoh1f+yIZcYu0T3DSXgXFFwPaCjBFuOcvKV2l2A=; b=RMCsqbTgRC3IaVo+F4Ocj30Rry4PPr0GFX2zM9cMCd2Xdg/eFtEQpg6sDDD/Vxo5SN 3Jb1lzCCurBn0eaJ0fxM69P3po8kSUD1LOA3WKs84YRnILL48vYwq9zQRppcwbaT1P6/ jE7+kg8MoJ1PF830XyjbkJAvsEvPLNcbgQCukDfINVaLhc2Bc1tkThVSHjQGPBozzfos 8S6MAUnWZnEXUrL4knHtWX641/rzr+rp1nDaIS54BbN+JMY38lNm8HU9md74zCx+x0Eq j/Hj0vZ0T6JLby51cxLXn+hJl5uM6TctO+X7QB5b0EJcvTmJ4EYAXl8hXLilhtMQGeVp cpiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=gF6Pjoh1f+yIZcYu0T3DSXgXFFwPaCjBFuOcvKV2l2A=; b=du8xlDWZlVAwaYZ0U3QeJGLe5TY6q1XFhAnvFoWRnNFbJNlNUvbHzGjzAnC/zQ2u7r ss69qNywYgqsakhcvmTEEY1lYDlILlpIIs6PorSBT2J8DOfmy91CT9D2ito/kNHsKx7l 503R9S+kNA+Vhi2UvHSM/WKPW0h36yJcBpwiu4QucV+FG+zpgu52BonvAzIgYQ+MZ8oU EaqkuZy8gdaJTsr2k1qBKUCR6ax9/w4APcNSdaXXeTFQhHvy2Kb3zlTdXjs3TDu2JXZf 0ax5DTflPckMaOSAEzYysY+yOocwtUVXwTVrtZS2sgQRb/5RxHKRJ6uE2MzZN+U1yTSW UR5A== X-Gm-Message-State: AOAM530K1hEfRgg3Lohp8k1mj5m2Eue6xiP98DpGep3YEFk0dnt4Om/g 6QwvVg417WA8Hy8NIl8Dk8ZxwJEFpio= X-Google-Smtp-Source: ABdhPJx8El60a/7IQDv7c1OW4HwS6slfJE4mGfil10iJwpB5G/6zPfgFDQDzP+BreXnkkwJIwo0RJfoSjko= Sender: "badhri via sendgmr" X-Received: from badhri.mtv.corp.google.com ([2620:15c:211:1:f292:1cff:fee0:66cf]) (user=badhri job=sendgmr) by 2002:a17:90a:c7c4:: with SMTP id gf4mr2090483pjb.154.1603186594893; Tue, 20 Oct 2020 02:36:34 -0700 (PDT) Date: Tue, 20 Oct 2020 02:36:18 -0700 In-Reply-To: <20201020093627.256885-1-badhri@google.com> Message-Id: <20201020093627.256885-2-badhri@google.com> Mime-Version: 1.0 References: <20201020093627.256885-1-badhri@google.com> X-Mailer: git-send-email 2.29.0.rc1.297.gfa9743e501-goog Subject: [PATCH v11 01/10] dt-bindings: connector: Add property to set initial current cap for FRS From: Badhri Jagan Sridharan To: Guenter Roeck , Heikki Krogerus , Greg Kroah-Hartman , Rob Herring , Lee Jones , Mark Brown , Maxime Ripard , Alexandre Belloni , Thierry Reding , Prashant Malani , Badhri Jagan Sridharan Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This change adds frs-typec-current which allows setting the initial current capability of the new source when vSafe5V is applied during PD3.0 sink Fast Role Swap. Signed-off-by: Badhri Jagan Sridharan Reviewed-by: Rob Herring --- Changes since v1: - Changing patch version to v6 to fix version number confusion. Changes since v6: - Removed the redundant usb-connector.txt that I created by mistake. - Moved to yaml. Changes since v7: - Rebase Changes since v8: - Redefine new-source-frs-typec-current as string enums to address Rob Herring's comment. Changes since v9: - Removed FRS constants from usb bindings. Changes since v10: - Suggestions from Rob Herring: - Going back to u32 for new-source-frs-typec-current - Removed the definition for "not-supported" - Bringing back FRS constants for usb pd binding. --- .../bindings/connector/usb-connector.yaml | 19 +++++++++++++++++++ include/dt-bindings/usb/pd.h | 8 ++++++++ 2 files changed, 27 insertions(+) diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml index 728f82db073d..62781518aefc 100644 --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml @@ -147,6 +147,25 @@ properties: required: - port@0 + new-source-frs-typec-current: + description: Initial current capability of the new source when vSafe5V + is applied during PD3.0 Fast Role Swap. "Table 6-14 Fixed Supply PDO - Sink" + of "USB Power Delivery Specification Revision 3.0, Version 1.2" provides the + different power levels and "6.4.1.3.1.6 Fast Role Swap USB Type-C Current" + provides a detailed description of the field. The sink PDO from current source + reflects the current source's(i.e. transmitter of the FRS signal) power + requirement during fr swap. The current sink (i.e. receiver of the FRS signal), + a.k.a new source, should check if it will be able to satisfy the current source's, + new sink's, requirement during frswap before enabling the frs signal reception. + This property refers to maximum current capability that the current sink can + satisfy. During FRS, VBUS voltage is at 5V, as the partners are in implicit + contract, hence, the power level is only a function of the current capability. + "1" refers to default USB power level as described by "Table 6-14 Fixed Supply PDO - Sink". + "2" refers to 1.5A@5V. + "3" refers to 3.0A@5V. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [1, 2, 3] + required: - compatible diff --git a/include/dt-bindings/usb/pd.h b/include/dt-bindings/usb/pd.h index 985f2bbd4d24..0352893697f0 100644 --- a/include/dt-bindings/usb/pd.h +++ b/include/dt-bindings/usb/pd.h @@ -85,4 +85,12 @@ PDO_PPS_APDO_MIN_VOLT(min_mv) | PDO_PPS_APDO_MAX_VOLT(max_mv) | \ PDO_PPS_APDO_MAX_CURR(max_ma)) + /* + * Based on "Table 6-14 Fixed Supply PDO - Sink" of "USB Power Delivery Specification Revision 3.0, + * Version 1.2" + * Initial current capability of the new source when vSafe5V is applied. + */ +#define FRS_DEFAULT_POWER 1 +#define FRS_5V_1P5A 2 +#define FRS_5V_3A 3 #endif /* __DT_POWER_DELIVERY_H */