Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94ad5821 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: pd: add snapshot of qpnp-pdphy and policy_engine drivers"

parents 0a45953b 3f62e043
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. QPNP PD PHY - USB Power Delivery Physical layer

Required properties:
- compatible:		Must be "qcom,qpnp-pdphy"
- reg:			The base address for this peripheral
- vdd-pdphy-supply:	phandle to the VDD supply regulator node
- interrupts:		Specifies the interrupt associated with the peripheral.
- interrupt-names:	Specifies the interrupt names for the peripheral. Every
			available interrupt needs to have an associated name
			with it to indentify its purpose.

			The following interrupts are required:

			0: sig-tx
				Triggers when a signal (HardReset or CableReset)
				has been sent.
			1: sig-rx
				Triggers when a signal has been received.
			2: msg-tx
				Triggers when a message has been sent and the
				related GoodCRC has been received.
			3: msg-rx
				Triggers when a message has been received and
				the related GoodCRC was sent successfully.
			4: msg-tx-failed
				Triggers when a message failed all its
				transmission attempts, either due to a non-idle
				bus or missing GoodCRC reply.
			5: msg-tx-discarded
				Triggers when a message is received while a
				transmission request was in place. The request
				itself is discarded.
			6: msg-rx-discarded
				Triggers when a message was received but had to
				be discarded due to the RX buffer still in use
				by SW.

Optional properties:
- vbus-supply:		Regulator that enables VBUS source output
- vconn-supply:		Regulator that enables VCONN source output. This will
			be supplied on the USB CC line that is not used for
			communication when Ra resistance is detected.
- qcom,vconn-uses-external-source: Indicates whether VCONN supply is sourced
			from an external regulator. If omitted, then it is
			assumed it is connected to VBUS.
- qcom,default-sink-caps: List of 32-bit values representing the nominal sink
			capabilities in voltage (millivolts) and current
			(milliamps) pairs.

Example:
	qcom,qpnp-pdphy@1700 {
		compatible = "qcom,qpnp-pdphy";
		reg = <0x1700 0x100>;
		vdd-pdphy-supply = <&pm8998_l24>;
		interrupts = <0x2 0x17 0x0 IRQ_TYPE_EDGE_RISING>,
			     <0x2 0x17 0x1 IRQ_TYPE_EDGE_RISING>,
			     <0x2 0x17 0x2 IRQ_TYPE_EDGE_RISING>,
			     <0x2 0x17 0x3 IRQ_TYPE_EDGE_RISING>,
			     <0x2 0x17 0x4 IRQ_TYPE_EDGE_RISING>,
			     <0x2 0x17 0x5 IRQ_TYPE_EDGE_RISING>,
			     <0x2 0x17 0x6 IRQ_TYPE_EDGE_RISING>;

		interrupt-names = "sig-tx",
				  "sig-rx",
				  "msg-tx",
				  "msg-rx",
				  "msg-tx-failed",
				  "msg-tx-discarded",
				  "msg-rx-discarded";

		qcom,default-sink-caps = <5000 3000>, /* 5V @ 3A */
					 <9000 3000>, /* 9V @ 3A */
					 <12000 2250>; /* 12V @ 2.25A */
	};
+2 −0
Original line number Diff line number Diff line
@@ -173,6 +173,8 @@ source "drivers/usb/typec/Kconfig"

source "drivers/usb/roles/Kconfig"

source "drivers/usb/pd/Kconfig"

config USB_LED_TRIG
	bool "USB LED Triggers"
	depends on LEDS_CLASS && LEDS_TRIGGERS
+2 −0
Original line number Diff line number Diff line
@@ -67,3 +67,5 @@ obj-$(CONFIG_USBIP_CORE) += usbip/
obj-$(CONFIG_TYPEC)		+= typec/

obj-$(CONFIG_USB_ROLE_SWITCH)	+= roles/

obj-$(CONFIG_USB_PD)		+=pd/

drivers/usb/pd/Kconfig

0 → 100644
+31 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# USB Power Delivery driver configuration
#
menu "USB Power Delivery"

config USB_PD
	def_bool n

config USB_PD_POLICY
	tristate "USB Power Delivery Protocol and Policy Engine"
	depends on EXTCON
	depends on DUAL_ROLE_USB_INTF
	select USB_PD
	help
          Say Y here to enable USB PD protocol and policy engine.
	  This driver provides a class that implements the upper
	  layers of the USB Power Delivery stack. It requires a
	  PD PHY driver in order to transmit and receive PD
	  messages on its behalf.

config QPNP_USB_PDPHY
	tristate "QPNP USB Power Delivery PHY"
	depends on SPMI
	help
          Say Y here to enable QPNP USB PD PHY peripheral driver
	  which communicates over the SPMI bus.
	  The is used to handle the PHY layer communication of the
	  Power Delivery stack.

endmenu
+7 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for USB Power Delivery drivers
#

obj-$(CONFIG_USB_PD_POLICY)	+= policy_engine.o
obj-$(CONFIG_QPNP_USB_PDPHY)	+= qpnp-pdphy.o
Loading