[PATCH v9 0/7] Add Qualcomm PMIC TPCM support

From: Bryan O'Donoghue
Date: Wed Aug 16 2023 - 07:52:45 EST


V9:

- Reuses glink ports {} definitions and locations per Bjorn's request
- Adds additional port @ 2 to 8250.dtsi as a result - Bjorn
- Drops logic in previous patch
"dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add input and output ports"
No longer required
- I've amended the names of the endpoints to match sc8280xp too - bod

Bootable tree
Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/usb-next-23-08-15-pm8150b-typec

V8:
- Makes pm8150b_typec::status = disabled by default - bod
- Greg merged the TCPM description and driver to usb-next so two patches less now.
I've rebased this series on to usb-next using "--base=auto"
All of the kernel robot dts/yaml checks should now pass against usb-next / a4422ff221429c600c3dc5d0394fb3738b89d040

V7:
- Adds R/B to "dt-bindings: phy: qcom,sc7180-qmp-usb3-dp-phy: Add input and output ports" - Krzysztof
- Fixes indicated, adds R/B to "dt-bindings: usb: Add Qualcomm PMIC Type-C" - Krzysztof
- Fixes indicated, adds R/B to "usb: typec: qcom: Add Qualcomm PMIC Type-C driver" - Guenter
- Fixes indicated, adds R/B to "usb: typec: qcom: Add Qualcomm PMIC Type-C driver" - Caleb
- Adds R/B to "arm64: dts: qcom: sm8250: Define ports for qmpphy orientation-switching" - Konrad
- Adds R/B to "arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost" - Konrad
- Fixes indicated, adds R/B to "arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM" - Jianhua, Konrad
- Connector ports/endpoints left inside of connector
Documentation/devicetree/bindings/connector/usb-connector.yaml - Jianhua
- dwc3_role_switch_in -> usb_1_dwc3_role_switch_in
qmpphy_typec_mux_in -> usb_1_qmpphy_typec_mux_in
Both ports/endpoints defined inside of pm8150b dtsi - Konrad

I modified the name of both so that the port/endpoint would be directly
adjacent to the containing node in the dtsi file for code locality/readbility - bod

- Fixes newline indicated "arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for usb_1" - Jianhua, Konrad
- Fixes newline indicated "arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy" - Jianhua, Konrad

- connector
I have left the connector defintion and its ports/endpoints in the platform dts

The reason for this
a) Prior art e.g. arch/arm64/boot/dts/qcom/sc8280xp*
b) The connector is really a non-SoC/PMIC component its something that is defined
for your platform.

I'm open to further debate on this topic:
Link: https://imgflip.com/i/7kw6ck

- port@1 -> port@1 "arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for usb_1_qmpphy" - Jianhua

- OF: graph: no port node found in /soc@0/spmi@c440000/pmic@2/typec@1500

I left this as-is since the DT model we want is to connect the connector directly to
the PHY for orientation or controller for data-role switching

I similarly didn't put this hack in place to remove the warning but "it would work"

V6:
- I'm dropping the previous V1-V6 log because the text is getting too long
here's a link to the previous cover letter instead
Link: https://lore.kernel.org/linux-arm-msm/20230501121111.1058190-1-bryan.odonoghue@xxxxxxxxxx/

Bryan O'Donoghue (7):
dt-bindings: mfd: qcom,spmi-pmic: Add typec to SPMI device types
arm64: dts: qcom: sm8250: Define ports for qmpphy
orientation-switching
arm64: dts: qcom: pm8150b: Add a TCPM description
arm64: dts: qcom: qrb5165-rb5: Switch on Type-C VBUS boost
arm64: dts: qcom: qrb5165-rb5: Switch on basic TCPM
arm64: dts: qcom: qrb5165-rb5: Switch on TCPM usb-role-switching for
usb_1
arm64: dts: qcom: qrb5165-rb5: Switch on TCPM orientation-switch for
usb_1_qmpphy

.../bindings/mfd/qcom,spmi-pmic.yaml | 4 ++
arch/arm64/boot/dts/qcom/pm8150b.dtsi | 40 +++++++++++++
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 56 ++++++++++++++++++-
arch/arm64/boot/dts/qcom/sm8250.dtsi | 22 ++++++++
4 files changed, 121 insertions(+), 1 deletion(-)

--
2.41.0