[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55d175fe-863e-7fb5-073a-d18f62e59038@roeck-us.net>
Date: Tue, 26 Jan 2021 07:15:59 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Kyle Tso <kyletso@...gle.com>, heikki.krogerus@...ux.intel.com,
gregkh@...uxfoundation.org, robh+dt@...nel.org,
hdegoede@...hat.com, badhri@...gle.com
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH 2/3] dt-bindings: connector: Add SVDM VDO properties
On 1/26/21 12:45 AM, Kyle Tso wrote:
> Add bindings of VDO properties of USB PD SVDM so that they can be
> defined in device tree.
>
> Signed-off-by: Kyle Tso <kyletso@...gle.com>
Are you also going to update
Documentation/devicetree/bindings/connector/usb-connector.yaml ?
Thanks,
Guenter
> ---
> include/dt-bindings/usb/pd.h | 53 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 52 insertions(+), 1 deletion(-)
>
> diff --git a/include/dt-bindings/usb/pd.h b/include/dt-bindings/usb/pd.h
> index 0352893697f0..b99cb4a0cd12 100644
> --- a/include/dt-bindings/usb/pd.h
> +++ b/include/dt-bindings/usb/pd.h
> @@ -93,4 +93,55 @@
> #define FRS_DEFAULT_POWER 1
> #define FRS_5V_1P5A 2
> #define FRS_5V_3A 3
> - #endif /* __DT_POWER_DELIVERY_H */
> +
> +/*
> + * SVDM Identity Header
> + * --------------------
> + * <31> :: data capable as a USB host
> + * <30> :: data capable as a USB device
> + * <29:27> :: product type (UFP / Cable / VPD)
> + * <26> :: modal operation supported (1b == yes)
> + * <25:23> :: product type (DFP) (SVDM version 2.0+ only; set to zero in version 1.0)
> + * <22:21> :: connector type (SVDM version 2.0+ only; set to zero in version 1.0)
> + * <20:16> :: Reserved, Shall be set to zero
> + * <15:0> :: USB-IF assigned VID for this cable vendor
> + */
> +/* SOP Product Type (UFP) */
> +#define IDH_PTYPE_NOT_UFP 0
> +#define IDH_PTYPE_HUB 1
> +#define IDH_PTYPE_PERIPH 2
> +#define IDH_PTYPE_PSD 3
> +#define IDH_PTYPE_AMA 5
> +
> +/* SOP' Product Type (Cable Plug / VPD) */
> +#define IDH_PTYPE_NOT_CABLE 0
> +#define IDH_PTYPE_PCABLE 3
> +#define IDH_PTYPE_ACABLE 4
> +#define IDH_PTYPE_VPD 6
> +
> +/* SOP Product Type (DFP) */
> +#define IDH_PTYPE_NOT_DFP 0
> +#define IDH_PTYPE_DFP_HUB 1
> +#define IDH_PTYPE_DFP_HOST 2
> +#define IDH_PTYPE_DFP_PB 3
> +
> +#define VDO_IDH(usbh, usbd, ufp_cable, is_modal, dfp, conn, vid) \
> + ((usbh) << 31 | (usbd) << 30 | ((ufp_cable) & 0x7) << 27 \
> + | (is_modal) << 26 | ((dfp) & 0x7) << 23 | ((conn) & 0x3) << 21 \
> + | ((vid) & 0xffff))
> +
> +/*
> + * Cert Stat VDO
> + * -------------
> + * <31:0> : USB-IF assigned XID for this cable
> + */
> +#define VDO_CERT(xid) ((xid) & 0xffffffff)
> +
> +/*
> + * Product VDO
> + * -----------
> + * <31:16> : USB Product ID
> + * <15:0> : USB bcdDevice
> + */
> +#define VDO_PRODUCT(pid, bcd) (((pid) & 0xffff) << 16 | ((bcd) & 0xffff))
> +#endif /* __DT_POWER_DELIVERY_H */
>
Powered by blists - more mailing lists