Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: connector: Add SPR AVS Sink APDO definitions

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 <badhri@google.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260316150301.3892223-2-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Badhri Jagan Sridharan and committed by
Greg Kroah-Hartman
9270102a f8a5f693

+21 -2
+3 -2
Documentation/devicetree/bindings/connector/usb-connector.yaml
··· 364 364 "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3 365 365 Sink Capabilities Message, the order of each entry(PDO) should follow the 366 366 PD spec chapter 6.4.1. Required for power sink and power dual role. User 367 - can specify the sink PDO array via PDO_FIXED/BATT/VAR/PPS_APDO() defined 368 - in dt-bindings/usb/pd.h. 367 + can specify the sink PDO array via 368 + PDO_FIXED/BATT/VAR/PPS_APDO/SPR_AVS_SNK_APDO() defined in 369 + dt-bindings/usb/pd.h. 369 370 minItems: 1 370 371 maxItems: 7 371 372 $ref: /schemas/types.yaml#/definitions/uint32-array
+18
include/dt-bindings/usb/pd.h
··· 60 60 PDO_VAR_MAX_VOLT(max_mv) | PDO_VAR_MAX_CURR(max_ma)) 61 61 62 62 #define APDO_TYPE_PPS 0 63 + #define APDO_TYPE_SPR_AVS 2 63 64 64 65 #define PDO_APDO_TYPE_SHIFT 28 /* Only valid value currently is 0x0 - PPS */ 65 66 #define PDO_APDO_TYPE_MASK 0x3 ··· 85 84 (PDO_TYPE(PDO_TYPE_APDO) | PDO_APDO_TYPE(APDO_TYPE_PPS) | \ 86 85 PDO_PPS_APDO_MIN_VOLT(min_mv) | PDO_PPS_APDO_MAX_VOLT(max_mv) | \ 87 86 PDO_PPS_APDO_MAX_CURR(max_ma)) 87 + 88 + #define PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR_SHIFT 10 /* 10mA units */ 89 + #define PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR_SHIFT 0 /* 10mA units */ 90 + #define PDO_SPR_AVS_APDO_MAX_CURR_MASK 0x3ff 91 + 92 + #define PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR(max_cur_9v_to_15v_ma) \ 93 + ((((max_cur_9v_to_15v_ma) / 10) & PDO_SPR_AVS_APDO_MAX_CURR_MASK) << \ 94 + PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR_SHIFT) 95 + 96 + #define PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR(max_cur_15v_to_20v_ma) \ 97 + ((((max_cur_15v_to_20v_ma) / 10) & PDO_SPR_AVS_APDO_MAX_CURR_MASK) << \ 98 + PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR_SHIFT) 99 + 100 + #define PDO_SPR_AVS_SNK_APDO(max_cur_9v_to_15v_ma, max_cur_15v_to_20v_ma) \ 101 + (PDO_TYPE(PDO_TYPE_APDO) | PDO_APDO_TYPE(APDO_TYPE_SPR_AVS) | \ 102 + PDO_SPR_AVS_APDO_9V_TO_15V_MAX_CURR(max_cur_9v_to_15v_ma) | \ 103 + PDO_SPR_AVS_APDO_15V_TO_20V_MAX_CURR(max_cur_15v_to_20v_ma)) 88 104 89 105 /* 90 106 * Based on "Table 6-14 Fixed Supply PDO - Sink" of "USB Power Delivery Specification Revision 3.0,