* [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates
@ 2024-12-03 12:40 André Draszik
2024-12-03 12:40 ` [PATCH v2 1/5] arm64: defconfig: enable Maxim TCPCI driver André Draszik
` (6 more replies)
0 siblings, 7 replies; 13+ messages in thread
From: André Draszik @ 2024-12-03 12:40 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree, André Draszik
Hi,
This series adds and enables the Maxim MAX77759 TCPCI for Google Pixel
6 (Oriole).
It relies on the bindings updates proposed as part of
https://lore.kernel.org/all/20241203-dtbinding-max77759-v3-1-e1a1d86aca8e@linaro.org/
and
https://lore.kernel.org/all/20241203-gs101-phy-lanes-orientation-phy-v2-2-40dcf1b7670d@linaro.org/
With these patches, we allow the usb phy to detect usb cable
orientation, and we make it possible for the USB DWC3 core to enter
runtime suspend upon cable disconnect.
To: Catalin Marinas <catalin.marinas@arm.com>
To: Will Deacon <will@kernel.org>
To: Peter Griffin <peter.griffin@linaro.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Tudor Ambarus <tudor.ambarus@linaro.org>
Cc: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Will McVicker <willmcvicker@google.com>
Cc: Roy Luo <royluo@google.com>
Cc: kernel-team@android.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Changes in v2:
- more appropriate dwc3 quirks to achieve reliable Vbus state detection (patch 3)
- drop patch 'dt-bindings: usb: max33359: add max77759 flavor' from
this series as it should go via linux-usb (Krzysztof)
- max77759 tcpci compatible has changed
- Link to v1: https://lore.kernel.org/r/20241127-gs101-phy-lanes-orientation-dts-v1-0-5222d8508b71@linaro.org
---
André Draszik (5):
arm64: defconfig: enable Maxim TCPCI driver
arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
arm64: dts: exynos: gs101: allow stable USB phy Vbus detection
arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 104 +++++++++++++++++++++
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 5 +-
arch/arm64/configs/defconfig | 1 +
3 files changed, 109 insertions(+), 1 deletion(-)
---
base-commit: ed9a4ad6e5bd3a443e81446476718abebee47e82
change-id: 20241127-gs101-phy-lanes-orientation-dts-9ace74a2c25c
Best regards,
--
André Draszik <andre.draszik@linaro.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 1/5] arm64: defconfig: enable Maxim TCPCI driver
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
@ 2024-12-03 12:40 ` André Draszik
2024-12-03 12:40 ` [PATCH v2 2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
` (5 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: André Draszik @ 2024-12-03 12:40 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree, André Draszik
Enable the Maxim max33359 as this is used by the gs101-oriole (Google
Pixel 6) board.
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
v2:
* collect tags
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index d13218d0c30f..5080fe2ce776 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1121,6 +1121,7 @@ CONFIG_USB_MASS_STORAGE=m
CONFIG_TYPEC=m
CONFIG_TYPEC_TCPM=m
CONFIG_TYPEC_TCPCI=m
+CONFIG_TYPEC_TCPCI_MAXIM=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_QCOM_PMIC=m
CONFIG_TYPEC_UCSI=m
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
2024-12-03 12:40 ` [PATCH v2 1/5] arm64: defconfig: enable Maxim TCPCI driver André Draszik
@ 2024-12-03 12:40 ` André Draszik
2024-12-07 22:07 ` Peter Griffin
2024-12-03 12:40 ` [PATCH v2 3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection André Draszik
` (4 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: André Draszik @ 2024-12-03 12:40 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree, André Draszik
Turns out there are some additional registers in the phy region, update
the DT accordingly.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 302c5beb224a..18d4e7852a1a 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1267,7 +1267,7 @@ cmu_hsi0: clock-controller@11000000 {
usbdrd31_phy: phy@11100000 {
compatible = "google,gs101-usb31drd-phy";
- reg = <0x11100000 0x0100>,
+ reg = <0x11100000 0x0200>,
<0x110f0000 0x0800>,
<0x110e0000 0x2800>;
reg-names = "phy", "pcs", "pma";
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
2024-12-03 12:40 ` [PATCH v2 1/5] arm64: defconfig: enable Maxim TCPCI driver André Draszik
2024-12-03 12:40 ` [PATCH v2 2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
@ 2024-12-03 12:40 ` André Draszik
2024-12-07 22:10 ` Peter Griffin
2024-12-03 12:40 ` [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
` (3 subsequent siblings)
6 siblings, 1 reply; 13+ messages in thread
From: André Draszik @ 2024-12-03 12:40 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree, André Draszik
For the DWC3 core to reliably detect the connected phy's Vbus state, we
need to disable phy suspend.
Add
snps,dis_u2_susphy_quirk
snps,dis_u3_susphy_quirk
to do that.
While at it, also add
snps,has-lpm-erratum
as this is set downstream which implies that the core was configured
with LPM Erratum. We should do the same here.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
v2:
- drop snps,dis_rxdet_inp3_quirk and instead use the mentioned
properties. The former alone wasn't reliable enough in all
situations, e.g. when attached to certain USB hubs.
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 18d4e7852a1a..c5335dd59dfe 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1302,6 +1302,9 @@ usbdrd31_dwc3: usb@0 {
interrupts = <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH 0>;
phys = <&usbdrd31_phy 0>, <&usbdrd31_phy 1>;
phy-names = "usb2-phy", "usb3-phy";
+ snps,has-lpm-erratum;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_u3_susphy_quirk;
status = "disabled";
};
};
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (2 preceding siblings ...)
2024-12-03 12:40 ` [PATCH v2 3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection André Draszik
@ 2024-12-03 12:40 ` André Draszik
2024-12-07 22:24 ` Peter Griffin
2025-01-06 13:33 ` Krzysztof Kozlowski
2024-12-03 12:40 ` [PATCH v2 5/5] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
` (2 subsequent siblings)
6 siblings, 2 replies; 13+ messages in thread
From: André Draszik @ 2024-12-03 12:40 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree, André Draszik
On Pixel 6 (and Pro), a max77759 companion PMIC for USB Type-C
applications is used, which contains four functional blocks (at
distinct I2C addresses):
* top (including GPIO)
* charger
* fuel gauge
* TCPCi
While in the same package, TCPCi and Fuel Gauge have separate I2C
addresses, interrupt lines and interrupt status registers and can be
treated independently.
The TCPCi is required to detect and handle connector orientation in
Pixel's USB PHY driver, and to configure the USB controller's role
(host vs device).
This change adds the TCPCi part as it can be independent and doesn't
need a top-level MFD.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
v2:
* compatible has changed to maxim,max77759-tcpci
* clarify that GPIO is actually part of 'top' in commit message, not
separate
---
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 99 ++++++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
index 387fb779bd29..a5cbf1e10c7b 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
+++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
@@ -10,6 +10,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/usb/pd.h>
#include "gs101-pinctrl.h"
#include "gs101.dtsi"
@@ -90,6 +91,84 @@ eeprom: eeprom@50 {
&hsi2c_12 {
status = "okay";
/* TODO: add the devices once drivers exist */
+
+ usb-typec@25 {
+ compatible = "maxim,max77759-tcpci", "maxim,max33359";
+ reg = <0x25>;
+ interrupts-extended = <&gpa8 2 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&typec_int>;
+ pinctrl-names = "default";
+
+ connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ data-role = "dual";
+ power-role = "dual";
+ self-powered;
+ try-power-role = "sink";
+ op-sink-microwatt = <2600000>;
+ new-source-frs-typec-current = <FRS_5V_1P5A>;
+ slow-charger-loop;
+ /*
+ * max77759 operating in reverse boost mode (0xA) can
+ * source up to 1.5A while extboost can only do ~1A.
+ * Since extboost is the primary path, advertise 900mA.
+ */
+ source-pdos = <PDO_FIXED(5000, 900,
+ (PDO_FIXED_SUSPEND
+ | PDO_FIXED_USB_COMM
+ | PDO_FIXED_DATA_SWAP
+ | PDO_FIXED_DUAL_ROLE))>;
+ sink-pdos = <PDO_FIXED(5000, 3000,
+ (PDO_FIXED_DATA_SWAP
+ | PDO_FIXED_USB_COMM
+ | PDO_FIXED_HIGHER_CAP
+ | PDO_FIXED_DUAL_ROLE))
+ PDO_FIXED(9000, 2200, 0)
+ PDO_PPS_APDO(5000, 11000, 3000)>;
+ sink-vdos = <VDO_IDH(1, 1, IDH_PTYPE_PERIPH, 0,
+ IDH_PTYPE_DFP_HOST, 2, 0x18d1)
+ VDO_CERT(0x0)
+ VDO_PRODUCT(0x4ee1, 0x0)
+ VDO_UFP(UFP_VDO_VER1_2,
+ (DEV_USB2_CAPABLE
+ | DEV_USB3_CAPABLE),
+ UFP_RECEPTACLE, 0,
+ AMA_VCONN_NOT_REQ, 0,
+ UFP_ALTMODE_NOT_SUPP,
+ UFP_USB32_GEN1)
+ /* padding */ 0
+ VDO_DFP(DFP_VDO_VER1_1,
+ (HOST_USB2_CAPABLE
+ | HOST_USB3_CAPABLE),
+ DFP_RECEPTACLE, 0)>;
+ sink-vdos-v1 = <VDO_IDH(1, 1, IDH_PTYPE_PERIPH, 0,
+ 0, 0, 0x18d1)
+ VDO_CERT(0x0)
+ VDO_PRODUCT(0x4ee1, 0x0)>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usbc0_orien_sw: endpoint {
+ remote-endpoint = <&usbdrd31_phy_orien_switch>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ usbc0_role_sw: endpoint {
+ remote-endpoint = <&usbdrd31_dwc3_role_switch>;
+ };
+ };
+ };
+ };
+ };
};
&pinctrl_far_alive {
@@ -106,6 +185,13 @@ key_volup: key-volup-pins {
samsung,pin-pud = <GS101_PIN_PULL_NONE>;
samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
};
+
+ typec_int: typec-int-pins {
+ samsung,pins = "gpa8-2";
+ samsung,pin-function = <GS101_PIN_FUNC_EINT>;
+ samsung,pin-pud = <GS101_PIN_PULL_UP>;
+ samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>;
+ };
};
&pinctrl_gpio_alive {
@@ -142,9 +228,16 @@ &usbdrd31_dwc3 {
role-switch-default-mode = "peripheral";
maximum-speed = "super-speed-plus";
status = "okay";
+
+ port {
+ usbdrd31_dwc3_role_switch: endpoint {
+ remote-endpoint = <&usbc0_role_sw>;
+ };
+ };
};
&usbdrd31_phy {
+ orientation-switch;
/* TODO: Update these once PMIC is implemented */
pll-supply = <®_placeholder>;
dvdd-usb20-supply = <®_placeholder>;
@@ -153,6 +246,12 @@ &usbdrd31_phy {
vdda-usbdp-supply = <®_placeholder>;
vddh-usbdp-supply = <®_placeholder>;
status = "okay";
+
+ port {
+ usbdrd31_phy_orien_switch: endpoint {
+ remote-endpoint = <&usbc0_orien_sw>;
+ };
+ };
};
&usi_uart {
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2 5/5] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (3 preceding siblings ...)
2024-12-03 12:40 ` [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
@ 2024-12-03 12:40 ` André Draszik
2024-12-09 19:28 ` (subset) [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates Krzysztof Kozlowski
2024-12-29 10:09 ` Krzysztof Kozlowski
6 siblings, 0 replies; 13+ messages in thread
From: André Draszik @ 2024-12-03 12:40 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree, André Draszik
When the serial console is enabled, we need to disable power delivery
since serial uses the SBU1/2 pins and appears to confuse the TCPCI,
resulting in endless interrupts.
For now, change the DT such that the serial console continues working.
Note1: We can not have both typec-power-opmode and
new-source-frs-typec-current active at the same time, as otherwise DT
binding checks complain.
Note2: When using a downstream DT, the Pixel boot-loader will modify
the DT accordingly before boot, but for this upstream DT it doesn't
know where to find the TCPCI node. The intention is for this commit to
be reverted once an updated Pixel boot-loader becomes available.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
index a5cbf1e10c7b..e58881c61d53 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
+++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
@@ -107,7 +107,6 @@ connector {
self-powered;
try-power-role = "sink";
op-sink-microwatt = <2600000>;
- new-source-frs-typec-current = <FRS_5V_1P5A>;
slow-charger-loop;
/*
* max77759 operating in reverse boost mode (0xA) can
@@ -146,6 +145,12 @@ VDO_DFP(DFP_VDO_VER1_1,
0, 0, 0x18d1)
VDO_CERT(0x0)
VDO_PRODUCT(0x4ee1, 0x0)>;
+ /*
+ * Until bootloader is updated to set those two when
+ * console is enabled, we disable PD here.
+ */
+ pd-disable;
+ typec-power-opmode = "default";
ports {
#address-cells = <1>;
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
2024-12-03 12:40 ` [PATCH v2 2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
@ 2024-12-07 22:07 ` Peter Griffin
0 siblings, 0 replies; 13+ messages in thread
From: Peter Griffin @ 2024-12-07 22:07 UTC (permalink / raw)
To: André Draszik
Cc: Catalin Marinas, Will Deacon, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Tudor Ambarus, Sam Protsenko,
Will McVicker, Roy Luo, kernel-team, linux-arm-kernel,
linux-kernel, linux-samsung-soc, devicetree
On Tue, 3 Dec 2024 at 12:40, André Draszik <andre.draszik@linaro.org> wrote:
>
> Turns out there are some additional registers in the phy region, update
> the DT accordingly.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: Peter Griffin <peter.griffin@linaro.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection
2024-12-03 12:40 ` [PATCH v2 3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection André Draszik
@ 2024-12-07 22:10 ` Peter Griffin
0 siblings, 0 replies; 13+ messages in thread
From: Peter Griffin @ 2024-12-07 22:10 UTC (permalink / raw)
To: André Draszik
Cc: Catalin Marinas, Will Deacon, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Tudor Ambarus, Sam Protsenko,
Will McVicker, Roy Luo, kernel-team, linux-arm-kernel,
linux-kernel, linux-samsung-soc, devicetree
On Tue, 3 Dec 2024 at 12:40, André Draszik <andre.draszik@linaro.org> wrote:
>
> For the DWC3 core to reliably detect the connected phy's Vbus state, we
> need to disable phy suspend.
>
> Add
> snps,dis_u2_susphy_quirk
> snps,dis_u3_susphy_quirk
> to do that.
>
> While at it, also add
> snps,has-lpm-erratum
> as this is set downstream which implies that the core was configured
> with LPM Erratum. We should do the same here.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: Peter Griffin <peter.griffin@linaro.org>
Notes on testing:
Tested with a Pixel 6 device with 2 different USB hubs and also
directly into the laptop, plugging and unplugging from both ends of
the cable. With this set of snps quirks disconnect/reconnect always
seems to be robustly detected.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-12-03 12:40 ` [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
@ 2024-12-07 22:24 ` Peter Griffin
2025-01-06 13:33 ` Krzysztof Kozlowski
1 sibling, 0 replies; 13+ messages in thread
From: Peter Griffin @ 2024-12-07 22:24 UTC (permalink / raw)
To: André Draszik
Cc: Catalin Marinas, Will Deacon, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Tudor Ambarus, Sam Protsenko,
Will McVicker, Roy Luo, kernel-team, linux-arm-kernel,
linux-kernel, linux-samsung-soc, devicetree
On Tue, 3 Dec 2024 at 12:40, André Draszik <andre.draszik@linaro.org> wrote:
>
> On Pixel 6 (and Pro), a max77759 companion PMIC for USB Type-C
> applications is used, which contains four functional blocks (at
> distinct I2C addresses):
> * top (including GPIO)
> * charger
> * fuel gauge
> * TCPCi
>
> While in the same package, TCPCi and Fuel Gauge have separate I2C
> addresses, interrupt lines and interrupt status registers and can be
> treated independently.
>
> The TCPCi is required to detect and handle connector orientation in
> Pixel's USB PHY driver, and to configure the USB controller's role
> (host vs device).
>
> This change adds the TCPCi part as it can be independent and doesn't
> need a top-level MFD.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Tested-by: Peter Griffin <peter.griffin@linaro.org>
Notes on testing:
Verified that type-c orientation notifications are sent to usb phy
driver and that Pixel is enumerated as a USB device with both cable
orientations
[..]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: (subset) [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (4 preceding siblings ...)
2024-12-03 12:40 ` [PATCH v2 5/5] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
@ 2024-12-09 19:28 ` Krzysztof Kozlowski
2024-12-29 10:09 ` Krzysztof Kozlowski
6 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-09 19:28 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
André Draszik
Cc: Krzysztof Kozlowski, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel,
linux-samsung-soc, devicetree
On Tue, 03 Dec 2024 12:40:23 +0000, André Draszik wrote:
> This series adds and enables the Maxim MAX77759 TCPCI for Google Pixel
> 6 (Oriole).
>
> It relies on the bindings updates proposed as part of
> https://lore.kernel.org/all/20241203-dtbinding-max77759-v3-1-e1a1d86aca8e@linaro.org/
> and
> https://lore.kernel.org/all/20241203-gs101-phy-lanes-orientation-phy-v2-2-40dcf1b7670d@linaro.org/
>
> [...]
Applied, thanks!
[1/5] applied (but b4 lost rack)
[2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
https://git.kernel.org/krzk/linux/c/527c9640e4f04044afa98f3ce18f8af89ac4a322
[3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection
https://git.kernel.org/krzk/linux/c/95350c0ec27d906cd95375084ce343bc65421e70
!!! NOT applied - waiting for bindings to be picked up:
[4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
[5/5] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: (subset) [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (5 preceding siblings ...)
2024-12-09 19:28 ` (subset) [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates Krzysztof Kozlowski
@ 2024-12-29 10:09 ` Krzysztof Kozlowski
6 siblings, 0 replies; 13+ messages in thread
From: Krzysztof Kozlowski @ 2024-12-29 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Peter Griffin, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
André Draszik
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree
On Tue, 03 Dec 2024 12:40:23 +0000, André Draszik wrote:
> This series adds and enables the Maxim MAX77759 TCPCI for Google Pixel
> 6 (Oriole).
>
> It relies on the bindings updates proposed as part of
> https://lore.kernel.org/all/20241203-dtbinding-max77759-v3-1-e1a1d86aca8e@linaro.org/
> and
> https://lore.kernel.org/all/20241203-gs101-phy-lanes-orientation-phy-v2-2-40dcf1b7670d@linaro.org/
>
> [...]
Applied, thanks!
[4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
https://git.kernel.org/krzk/linux/c/ddbf40d8ce4a6b35821d0a0453370ec1422d915b
[5/5] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
https://git.kernel.org/krzk/linux/c/817473b6ddaf9eb5f2bc7d6dce9fa13a921477a0
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-12-03 12:40 ` [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
2024-12-07 22:24 ` Peter Griffin
@ 2025-01-06 13:33 ` Krzysztof Kozlowski
2025-01-06 14:21 ` André Draszik
1 sibling, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-06 13:33 UTC (permalink / raw)
To: André Draszik, Catalin Marinas, Will Deacon, Peter Griffin,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree
On 03/12/2024 13:40, André Draszik wrote:
>
> &pinctrl_gpio_alive {
> @@ -142,9 +228,16 @@ &usbdrd31_dwc3 {
> role-switch-default-mode = "peripheral";
> maximum-speed = "super-speed-plus";
> status = "okay";
> +
> + port {
> + usbdrd31_dwc3_role_switch: endpoint {
> + remote-endpoint = <&usbc0_role_sw>;
> + };
> + };
> };
>
> &usbdrd31_phy {
> + orientation-switch;
This shows now warnings on linux-next.
Is this because of unapplied
https://lore.kernel.org/all/20241206-gs101-phy-lanes-orientation-phy-v4-2-f5961268b149@linaro.org/
?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2025-01-06 13:33 ` Krzysztof Kozlowski
@ 2025-01-06 14:21 ` André Draszik
0 siblings, 0 replies; 13+ messages in thread
From: André Draszik @ 2025-01-06 14:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Peter Griffin,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar
Cc: Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo,
kernel-team, linux-arm-kernel, linux-kernel, linux-samsung-soc,
devicetree
Hi Krzysztof,
On Mon, 2025-01-06 at 14:33 +0100, Krzysztof Kozlowski wrote:
> On 03/12/2024 13:40, André Draszik wrote:
> >
> > &pinctrl_gpio_alive {
> > @@ -142,9 +228,16 @@ &usbdrd31_dwc3 {
> > role-switch-default-mode = "peripheral";
> > maximum-speed = "super-speed-plus";
> > status = "okay";
> > +
> > + port {
> > + usbdrd31_dwc3_role_switch: endpoint {
> > + remote-endpoint = <&usbc0_role_sw>;
> > + };
> > + };
> > };
> >
> > &usbdrd31_phy {
> > + orientation-switch;
> This shows now warnings on linux-next.
>
> Is this because of unapplied
> https://lore.kernel.org/all/20241206-gs101-phy-lanes-orientation-phy-v4-2-f5961268b149@linaro.org/
> ?
Yes, that's the reason
Cheers,
Andre'
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-01-06 14:21 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-03 12:40 [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
2024-12-03 12:40 ` [PATCH v2 1/5] arm64: defconfig: enable Maxim TCPCI driver André Draszik
2024-12-03 12:40 ` [PATCH v2 2/5] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
2024-12-07 22:07 ` Peter Griffin
2024-12-03 12:40 ` [PATCH v2 3/5] arm64: dts: exynos: gs101: allow stable USB phy Vbus detection André Draszik
2024-12-07 22:10 ` Peter Griffin
2024-12-03 12:40 ` [PATCH v2 4/5] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
2024-12-07 22:24 ` Peter Griffin
2025-01-06 13:33 ` Krzysztof Kozlowski
2025-01-06 14:21 ` André Draszik
2024-12-03 12:40 ` [PATCH v2 5/5] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
2024-12-09 19:28 ` (subset) [PATCH v2 0/5] Google Pixel 6 (oriole): TCPCI enablement & USB updates Krzysztof Kozlowski
2024-12-29 10:09 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®