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.
- goog,port-type:	Should be set to one of following bindings:
			<TYPEC_PORT_DFP>
			<TYPEC_PORT_UFP>
			<TYPEC_PORT_DRP>

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.
- goog,src-pdo: 	Required when goog,port-type is set to <TYPEC_PORT_DFP>
			or <TYPEC_PORT_DRP>.
			A set of 32-bit unsigned integer cells represents the
			Source Capabilities of the board. The number of the
			cells should be multiple of 4, at least 4 cells, and at
			most 28 cells. Every group of 4-tuple-cell represents
			one Capability.

			Format of each 4-tuple:
			< pdo_type power_attr1 power_attr2 power_attr3 >
			where pdo_type should be set to one of the following:
			1. PDO_TYPE_FIXED
			2. PDO_TYPE_BATT
			3. PDO_TYPE_VAR
			And power_attrX varies from pdo_type

			When pdo_type is PDO_TYPE_FIXED:
			power_attr1 is Voltage (mv)
			power_attr2 is Maximum Current (ma)
			power_attr3 should be set to 0

			When pdo_type is PDO_TYPE_BATT:
			power_attr1 is Minimum Voltage (mv)
			power_attr2 is Maximum Voltage (mv)
			power_attr3 is Maximum Allowable Power (mw)

			When pdo_type is PDO_TYPE_VAR:
			power_attr1 is Minimum Voltage (mv)
			power_attr2 is Maximum Voltage (mv)
			power_attr3 is Maximum Current (ma)

- goog,snk-pdo: 	Required when goog,port-type is set to <TYPEC_PORT_UFP>
			or <TYPEC_PORT_DRP>.
			It represents the Sink Capabilities of the board with
			the same format as that of goog,src-pdo
- goog,max-snk-mv:	Maximum acceptable sinking voltage when selecting PDO in
			power negotiation
- goog,max-snk-ma:	Maximum acceptable sinking current when selecting PDO in
			power negotiation
- goog,max-snk-mw:	Maximum acceptable power limit when specifying available
			current in power negotiation
- goog,op-snk-mw:	Required when goog,port-type is set to <TYPEC_PORT_UFP>
			or <TYPEC_PORT_DRP>.
			Minimum operating power
			Capability Mismatch flag will be set if this value is
			bigger than the calculated power in selected PDO.
- goog,default-role:	Specifying Type-C try role
			This value should be set to one of the following:
			<TYPEC_SINK>
			<TYPEC_SOURCE>
- goog,try-role-hw:	Set this property if try.{src,snk} is implemented in
			hardware.

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 */

		goog,src-pdo = <PDO_TYPE_FIXED 5000 900 0>;	/* 5V @ 0.9A */
		goog,snk-pdo = <PDO_TYPE_FIXED 5000 3000 0>,	/* 5V @ 3A */
			       <PDO_TYPE_FIXED 9000 3000 0>;	/* 9V @ 3A */
		goog,max-snk-mv = <9000>;
		goog,max-snk-ma = <3000>;
		goog,max-snk-mw = <27000>;
		goog,op-snk-mw = <7600>;
		goog,port-type = <TYPEC_PORT_DRP>;
		goog,default-role = <TYPEC_SINK>;
		goog,try-role-hw;
	};
