From nobody Tue Apr 7 04:46:05 2026 Received: from mail-dl1-f73.google.com (mail-dl1-f73.google.com [74.125.82.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41AD139281B for ; Mon, 16 Mar 2026 15:03:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773673389; cv=none; b=t06uvaJoABns4t/COt1/uUlRN1Mgyl8ji39tgKMHndZxdcnCGpG8gfN5QgJPOEaBbWDX71h2wO3dqZCHq1u2vNN2YGP4rgKsT9C+V3OjmcpNr/5CzKAPQhUUNk+FJqmzHffuRhp9a/hCC79blojzZMYb3rTJ6TESym8xHZKZsnM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773673389; c=relaxed/simple; bh=4emKMQpGnwxg+WazHqPYVUn+OWaTGfYXDzRjRzw8P5w=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=JBmKfesMn/Vy/kD+xA8mlX3NfQw+yIR00fHsQaxQU8DT6RJcSHTsgjsumeZ3KaaQ2z1NAMWaJAujxe2bgEIV2l/9HM6xwXM5fp+ji+E96hd4cdRVt/q7MFu13COoCQwXzCfC1VD82n4Gwn6b0c1/Te4xMa0Z8ivyVtzNt+ItmD8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--badhri.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=pSEAciOq; arc=none smtp.client-ip=74.125.82.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--badhri.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pSEAciOq" Received: by mail-dl1-f73.google.com with SMTP id a92af1059eb24-128edc72e5bso3747250c88.1 for ; Mon, 16 Mar 2026 08:03:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1773673386; x=1774278186; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=w9RHSlwF1VNunYEv1VCERKRFyFUXQhzCOoRBUszxeFM=; b=pSEAciOqEB1zlJHZ1KvByjGM51kZmmniv2fzN/FhEQhYNmw2RWcGUu6H7R/SPQvG0H Yd7299Ra52hm8hWIHwikjYud55/rm2u0goyW3S3XGPra6dGbb4uFoV+rlw05vTLPHxyW v1X9l5+VDQJRCSWZEwRVTOkNOdJt3YP4YaAMSDSGFHJJ35nD2hnCDioUhblZ1NbqDkeV 4MhyqwczS41gHW9jk2VwkDxTm6fpcSLsP2byC9zArpy1ZU5rd/mtfTnxSwjCTxNBS33J oZH5yr3z4B1FJSs93dHOXMzQxI8SF3QRi0/Sast1keftI9h77nPXmAw4K1yxg1Jk0Hj8 lQBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773673386; x=1774278186; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=w9RHSlwF1VNunYEv1VCERKRFyFUXQhzCOoRBUszxeFM=; b=ZBI40yVvbvdWZy+ocLaSn2Z3Q1sbQyIyUstKOgPj3nB6s5+xAgEvBitx1bkSqRImMX wI4z8a0a4mlB+BpWPx6qi1bNVEgXMGiQ22zFH2RciG2Mp2cwD8HTZIQPD3cWojVOrRwi PycpmRA/zJ0EgDEnfHc4SrMDyN8Cz7f7vzXrcbEiN/bV1uxhdHhMBK35ESYCeKG4kC+M lCvsX8mqFxLGmnkxOGU8rpOdQCciIJfWJ2g+tRhaiQVB4yH9EQeACLYeUE69tsxfZYA+ yKeyRgqe5p/1IYMDin0ay3+B3L5FAaNNJYMOU9/iaFRvtC9MQeiL7ecE4maDFZjTtXap b2wQ== X-Forwarded-Encrypted: i=1; AJvYcCXhQ6E872ELWt9vcXlNk6x9QH7nMCM9zdXnH5ijfmMMU+7NUx2114VRpoQAEzfoC9W5XLUDhp3pvffPbIE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8gaQ/sHtkh4CLJHS3l0rQuLMvOsKtR7N33e3rfo5aTxxl+biZ HwbeVbLQrpZ98qN3pP+It9ZpSwCDAq4ToeReFVp/bBh9rTV9wpdI2yrOZaNIK29LO+EXmmoDaPQ tErxWdg== X-Received: from dlbvv17.prod.google.com ([2002:a05:7022:5f11:b0:128:d41f:2c06]) (user=badhri job=prod-delivery.src-stubby-dispatcher) by 2002:a05:7022:628b:b0:128:cf5c:5357 with SMTP id a92af1059eb24-128f3d0dce2mr6738893c88.2.1773673386080; Mon, 16 Mar 2026 08:03:06 -0700 (PDT) Date: Mon, 16 Mar 2026 15:02:59 +0000 In-Reply-To: <20260316150301.3892223-1-badhri@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260316150301.3892223-1-badhri@google.com> X-Mailer: git-send-email 2.53.0.851.ga537e3e6e9-goog Message-ID: <20260316150301.3892223-2-badhri@google.com> Subject: [PATCH v2 1/3] dt-bindings: connector: Add SPR AVS Sink APDO definitions From: Badhri Jagan Sridharan To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Sebastian Reichel , Badhri Jagan Sridharan , Heikki Krogerus , Greg Kroah-Hartman , Amit Sunil Dhamne Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-usb@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" USB Power Delivery 3.2 introduces a new power supply type SPR AVS. Add macro definitions for the USB Power Delivery (PD) Standard Power Range (SPR) Adjustable Voltage Supply (AVS) as a Sink Augmented Power Data Object (APDO) in the device tree bindings. Signed-off-by: Badhri Jagan Sridharan Acked-by: Rob Herring (Arm) --- .../bindings/connector/usb-connector.yaml | 5 +++-- include/dt-bindings/usb/pd.h | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml= b/Documentation/devicetree/bindings/connector/usb-connector.yaml index 901986de3e2b..a00b239960a3 100644 --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml @@ -364,8 +364,9 @@ $defs: "Universal Serial Bus Power Delivery Specification" chapter 6.4.= 1.3 Sink Capabilities Message, the order of each entry(PDO) should f= ollow the PD spec chapter 6.4.1. Required for power sink and power dual ro= le. User - can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO()= defined - in dt-bindings/usb/pd.h. + can specify the sink PDO array via + PDO_FIXED/BATT/VAR/PPS_APDO/SPR_AVS_SNK_APDO() defined in + dt-bindings/usb/pd.h. minItems: 1 maxItems: 7 $ref: /schemas/types.yaml#/definitions/uint32-array diff --git a/include/dt-bindings/usb/pd.h b/include/dt-bindings/usb/pd.h index 6cff2339bda3..1e64a1f563f9 100644 --- a/include/dt-bindings/usb/pd.h +++ b/include/dt-bindings/usb/pd.h @@ -60,6 +60,7 @@ PDO_VAR_MAX_VOLT(max_mv) | PDO_VAR_MAX_CURR(max_ma)) =20 #define APDO_TYPE_PPS 0 +#define APDO_TYPE_SPR_AVS 2 =20 #define PDO_APDO_TYPE_SHIFT 28 /* Only valid value currently is 0x0 - PPS = */ #define PDO_APDO_TYPE_MASK 0x3 @@ -85,6 +86,23 @@ PDO_PPS_APDO_MIN_VOLT(min_mv) | PDO_PPS_APDO_MAX_VOLT(max_mv) | \ PDO_PPS_APDO_MAX_CURR(max_ma)) =20 +#define PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR_SHIFT 10 /* 10mA units */ +#define PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR_SHIFT 0 /* 10mA units */ +#define PDO_SPR_AVS_APDO_MAX_CURR_MASK 0x3ff + +#define PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR(max_cur_9v_to_15v_ma) \ + ((((max_cur_9v_to_15v_ma) / 10) & PDO_SPR_AVS_APDO_MAX_CURR_MASK) << \ + PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR_SHIFT) + +#define PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR(max_cur_15v_to_20v_ma) \ + ((((max_cur_15v_to_20v_ma) / 10) & PDO_SPR_AVS_APDO_MAX_CURR_MASK) << \ + PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR_SHIFT) + +#define PDO_SPR_AVS_SNK_APDO(max_cur_9v_to_15v_ma, max_cur_15v_to_20v_ma) \ + (PDO_TYPE(PDO_TYPE_APDO) | PDO_APDO_TYPE(APDO_TYPE_SPR_AVS) | \ + PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR(max_cur_9v_to_15v_ma) | \ + PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR(max_cur_15v_to_20v_ma)) + /* * Based on "Table 6-14 Fixed Supply PDO - Sink" of "USB Power Delivery S= pecification Revision 3.0, * Version 1.2" --=20 2.53.0.851.ga537e3e6e9-goog