patch "usb: typec: tcpci_mt6360: Update for BMC PHY setting" added to usb-linus
Subsystems (4)
This is a note to let you know that I've just added the patch titled
usb: typec: tcpci_mt6360: Update for BMC PHY setting
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 191e3b73f7ff5f3e6262e15477b68a0876ad63fa Mon Sep 17 00:00:00 2001
From: ChiYuan Huang <[email protected]>
Date: Tue, 10 May 2022 13:13:00 +0800
Subject: usb: typec: tcpci_mt6360: Update for BMC PHY setting
Update MT6360 BMC PHY Tx/Rx setting for the compatibility.
Macpaul reported this CtoDP cable attention message cannot be received from MT6360 TCPC. But actually, attention message really sent from UFP_D device.
After RD's comment, there may be BMC PHY Tx/Rx setting causes this issue.
Below's the detailed TCPM log and DP attention message didn't received from 6360 TCPCI.
[ 1206.367775] Identity: 0000:0000.0000 [ 1206.416570] Alternate mode 0: SVID 0xff01, VDO 1: 0x00000405 [ 1206.447378] AMS DFP_TO_UFP_ENTER_MODE start [ 1206.447383] PD TX, header: 0x1d6f [ 1206.449393] PD TX complete, status: 0 [ 1206.454110] PD RX, header: 0x184f [1] [ 1206.456867] Rx VDM cmd 0xff018144 type 1 cmd 4 len 1 [ 1206.456872] AMS DFP_TO_UFP_ENTER_MODE finished [ 1206.456873] cc:=4 [ 1206.473100] AMS STRUCTURED_VDMS start [ 1206.473103] PD TX, header: 0x2f6f [ 1206.475397] PD TX complete, status: 0 [ 1206.480442] PD RX, header: 0x2a4f [1] [ 1206.483145] Rx VDM cmd 0xff018150 type 1 cmd 16 len 2 [ 1206.483150] AMS STRUCTURED_VDMS finished [ 1206.483151] cc:=4 [ 1206.505643] AMS STRUCTURED_VDMS start [ 1206.505646] PD TX, header: 0x216f [ 1206.507933] PD TX complete, status: 0 [ 1206.512664] PD RX, header: 0x1c4f [1] [ 1206.515456] Rx VDM cmd 0xff018151 type 1 cmd 17 len 1 [ 1206.515460] AMS STRUCTURED_VDMS finished [ 1206.515461] cc:=4
--- drivers/usb/typec/tcpm/tcpci_mt6360.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
drivers/usb/typec/tcpm/tcpci_mt6360.c +26 -0
@@ -15,6 +15,9 @@#include "tcpci.h" +#define MT6360_REG_PHYCTRL1 0x80 +#define MT6360_REG_PHYCTRL3 0x82 +#define MT6360_REG_PHYCTRL7 0x86#define MT6360_REG_VCONNCTRL1 0x8C#define MT6360_REG_MODECTRL2 0x8F#define MT6360_REG_SWRESET 0xA0
@@ -22,6 +25,8 @@#define MT6360_REG_DRPCTRL1 0xA2#define MT6360_REG_DRPCTRL2 0xA3#define MT6360_REG_I2CTORST 0xBF +#define MT6360_REG_PHYCTRL11 0xCA +#define MT6360_REG_RXCTRL1 0xCE#define MT6360_REG_RXCTRL2 0xCF#define MT6360_REG_CTDCTRL2 0xEC
@@ -106,6 +111,27 @@ static int mt6360_tcpc_init(struct tcpci *tcpci, struct tcpci_data *tdata)if (ret)return ret; +/* BMC PHY */ + ret =mt6360_tcpc_write16 (regmap,MT6360_REG_PHYCTRL1 ,0x3A70 ); +if (ret) +return ret; + + ret =regmap_write (regmap,MT6360_REG_PHYCTRL3 ,0x82 ); +if (ret) +return ret; + + ret =regmap_write (regmap,MT6360_REG_PHYCTRL7 ,0x36 ); +if (ret) +return ret; + + ret =mt6360_tcpc_write16 (regmap,MT6360_REG_PHYCTRL11 ,0x3C60 ); +if (ret) +return ret; + + ret =regmap_write (regmap,MT6360_REG_RXCTRL1 ,0xE8 ); +if (ret) +return ret; +/* Set shipping mode off, AUTOIDLE on */ return regmap_write (regmap,MT6360_REG_MODECTRL2 ,0x7A ); }
Signature · 1 line
2.36.1