* [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates
@ 2024-11-27 11:01 André Draszik
2024-11-27 11:01 ` [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver André Draszik
` (5 more replies)
0 siblings, 6 replies; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, André Draszik
Hi,
This series adds and enables the Maxim MAX77759 TCPCI for Google Pixel
6 (Oriole).
It relies on the bindings update proposed as part of
https://lore.kernel.org/r/20241127-gs101-phy-lanes-orientation-phy-v1-0-1b7fce24960b@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.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
André Draszik (6):
arm64: defconfig: enable Maxim TCPCI driver
dt-bindings: usb: max33359: add max77759 flavor
arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3
arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
.../devicetree/bindings/usb/maxim,max33359.yaml | 8 +-
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 104 +++++++++++++++++++++
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 3 +-
arch/arm64/configs/defconfig | 1 +
4 files changed, 113 insertions(+), 3 deletions(-)
---
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] 18+ messages in thread
* [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
@ 2024-11-27 11:01 ` André Draszik
2024-11-28 10:49 ` Peter Griffin
2024-11-27 11:01 ` [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor André Draszik
` (4 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, André Draszik
Enable the Maxim max33359 as this is used by the gs101-oriole (Google
Pixel 6) board.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
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 related [flat|nested] 18+ messages in thread
* [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
2024-11-27 11:01 ` [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver André Draszik
@ 2024-11-27 11:01 ` André Draszik
2024-11-27 15:57 ` Conor Dooley
2024-11-28 8:17 ` Krzysztof Kozlowski
2024-11-27 11:01 ` [PATCH 3/6] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
` (3 subsequent siblings)
5 siblings, 2 replies; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, André Draszik
On the surface, Maxim's max77759 appears identical to max33359. It
should still have a dedicated compatible, though, as it is a different
IC. This will allow for handling differences in case they are
discovered in the future.
max77759 is used on Google Pixel 6 and Pixel 6 Pro.
Add a dedicated compatible to allow for potential differences in the
future.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Documentation/devicetree/bindings/usb/maxim,max33359.yaml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/maxim,max33359.yaml b/Documentation/devicetree/bindings/usb/maxim,max33359.yaml
index 20b62228371b..e11ede3684d4 100644
--- a/Documentation/devicetree/bindings/usb/maxim,max33359.yaml
+++ b/Documentation/devicetree/bindings/usb/maxim,max33359.yaml
@@ -13,8 +13,12 @@ description: Maxim TCPCI Type-C PD controller
properties:
compatible:
- enum:
- - maxim,max33359
+ oneOf:
+ - enum:
+ - maxim,max33359
+ - items:
+ - const: maxim,max77759
+ - const: maxim,max33359
reg:
maxItems: 1
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 3/6] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
2024-11-27 11:01 ` [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver André Draszik
2024-11-27 11:01 ` [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor André Draszik
@ 2024-11-27 11:01 ` André Draszik
2024-11-27 11:01 ` [PATCH 4/6] arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3 André Draszik
` (2 subsequent siblings)
5 siblings, 0 replies; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, 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 related [flat|nested] 18+ messages in thread
* [PATCH 4/6] arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (2 preceding siblings ...)
2024-11-27 11:01 ` [PATCH 3/6] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
@ 2024-11-27 11:01 ` André Draszik
2024-11-29 11:24 ` André Draszik
2024-11-27 11:01 ` [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
2024-11-27 11:01 ` [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
5 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, André Draszik
This is required for the DWC3 core to reliably detect the connected
phy's Vbus state.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 18d4e7852a1a..ab016fe9b99a 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1302,6 +1302,7 @@ 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,dis_rxdet_inp3_quirk;
status = "disabled";
};
};
--
2.47.0.338.g60cca15819-goog
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (3 preceding siblings ...)
2024-11-27 11:01 ` [PATCH 4/6] arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3 André Draszik
@ 2024-11-27 11:01 ` André Draszik
2024-11-28 8:19 ` Krzysztof Kozlowski
2024-11-27 11:01 ` [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
5 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, André Draszik
On Pixel 6 (and Pro), a max77759 companion PMIC for USB Type-C
applications is used, which contains five functional blocks (at
distinct I2C addresses):
* top
* charger
* fuel gauge
* TCPCi
* GPIO
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).
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
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..5f7be0cb7418 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", "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 related [flat|nested] 18+ messages in thread
* [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
` (4 preceding siblings ...)
2024-11-27 11:01 ` [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
@ 2024-11-27 11:01 ` André Draszik
2024-11-28 8:21 ` Krzysztof Kozlowski
5 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2024-11-27 11:01 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc, 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 5f7be0cb7418..ef9ccd149b6f 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 related [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor
2024-11-27 11:01 ` [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor André Draszik
@ 2024-11-27 15:57 ` Conor Dooley
2024-11-28 8:17 ` Krzysztof Kozlowski
1 sibling, 0 replies; 18+ messages in thread
From: Conor Dooley @ 2024-11-27 15:57 UTC (permalink / raw)
To: André Draszik
Cc: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar,
Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
[-- Attachment #1: Type: text/plain, Size: 566 bytes --]
On Wed, Nov 27, 2024 at 11:01:40AM +0000, André Draszik wrote:
> On the surface, Maxim's max77759 appears identical to max33359. It
> should still have a dedicated compatible, though, as it is a different
> IC. This will allow for handling differences in case they are
> discovered in the future.
>
> max77759 is used on Google Pixel 6 and Pixel 6 Pro.
>
> Add a dedicated compatible to allow for potential differences in the
> future.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor
2024-11-27 11:01 ` [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor André Draszik
2024-11-27 15:57 ` Conor Dooley
@ 2024-11-28 8:17 ` Krzysztof Kozlowski
2024-11-28 8:40 ` André Draszik
1 sibling, 1 reply; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-28 8:17 UTC (permalink / raw)
To: André Draszik, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On 27/11/2024 12:01, André Draszik wrote:
> On the surface, Maxim's max77759 appears identical to max33359. It
> should still have a dedicated compatible, though, as it is a different
> IC. This will allow for handling differences in case they are
> discovered in the future.
>
> max77759 is used on Google Pixel 6 and Pixel 6 Pro.
>
> Add a dedicated compatible to allow for potential differences in the
> future.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
This should be sent separately to USB.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-11-27 11:01 ` [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
@ 2024-11-28 8:19 ` Krzysztof Kozlowski
2024-11-28 8:28 ` André Draszik
0 siblings, 1 reply; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-28 8:19 UTC (permalink / raw)
To: André Draszik, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On 27/11/2024 12:01, André Draszik wrote:
> ---
> 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..5f7be0cb7418 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 */
Is the TODO still valid?
> +
> + usb-typec@25 {
> + compatible = "maxim,max77759", "maxim,max33359";
> + reg = <0x25>;
> + interrupts-extended = <&gpa8 2 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-0 = <&typec_int>;
> + pinctrl-names = "default";
> +
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
2024-11-27 11:01 ` [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
@ 2024-11-28 8:21 ` Krzysztof Kozlowski
2024-11-28 8:34 ` André Draszik
0 siblings, 1 reply; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-28 8:21 UTC (permalink / raw)
To: André Draszik, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On 27/11/2024 12:01, André Draszik wrote:
> 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>
This should be squashed to the previous patch, including also combining
commit messages.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-11-28 8:19 ` Krzysztof Kozlowski
@ 2024-11-28 8:28 ` André Draszik
2024-11-28 8:34 ` Krzysztof Kozlowski
0 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2024-11-28 8:28 UTC (permalink / raw)
To: Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
Hi Krzysztof,
On Thu, 2024-11-28 at 09:19 +0100, Krzysztof Kozlowski wrote:
> On 27/11/2024 12:01, André Draszik wrote:
> > ---
> > 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..5f7be0cb7418 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 */
>
>
> Is the TODO still valid?
Yes, there are more devices on that bus.
Cheers,
Andre'
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
2024-11-28 8:21 ` Krzysztof Kozlowski
@ 2024-11-28 8:34 ` André Draszik
2024-11-28 8:34 ` Krzysztof Kozlowski
0 siblings, 1 reply; 18+ messages in thread
From: André Draszik @ 2024-11-28 8:34 UTC (permalink / raw)
To: Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On Thu, 2024-11-28 at 09:21 +0100, Krzysztof Kozlowski wrote:
> On 27/11/2024 12:01, André Draszik wrote:
> > 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>
>
> This should be squashed to the previous patch, including also combining
> commit messages.
I contemplated that, but I didn't in the end so that it's easy to just
revert this specific patch once the boot loader is updated.
I would prefer to keep them as separate patches for that reason, but will
squash if you still think that's better.
Cheers,
Andre'
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi
2024-11-28 8:28 ` André Draszik
@ 2024-11-28 8:34 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-28 8:34 UTC (permalink / raw)
To: André Draszik, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On 28/11/2024 09:28, André Draszik wrote:
>>>
>>> @@ -90,6 +91,84 @@ eeprom: eeprom@50 {
>>> &hsi2c_12 {
>>> status = "okay";
>>> /* TODO: add the devices once drivers exist */
>>
>>
>> Is the TODO still valid?
>
> Yes, there are more devices on that bus.
OK
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode
2024-11-28 8:34 ` André Draszik
@ 2024-11-28 8:34 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-11-28 8:34 UTC (permalink / raw)
To: André Draszik, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On 28/11/2024 09:34, André Draszik wrote:
> On Thu, 2024-11-28 at 09:21 +0100, Krzysztof Kozlowski wrote:
>> On 27/11/2024 12:01, André Draszik wrote:
>>> 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>
>>
>> This should be squashed to the previous patch, including also combining
>> commit messages.
>
> I contemplated that, but I didn't in the end so that it's easy to just
> revert this specific patch once the boot loader is updated.
>
> I would prefer to keep them as separate patches for that reason, but will
> squash if you still think that's better.
>
OK, can be separate.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor
2024-11-28 8:17 ` Krzysztof Kozlowski
@ 2024-11-28 8:40 ` André Draszik
0 siblings, 0 replies; 18+ messages in thread
From: André Draszik @ 2024-11-28 8:40 UTC (permalink / raw)
To: Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On Thu, 2024-11-28 at 09:17 +0100, Krzysztof Kozlowski wrote:
> On 27/11/2024 12:01, André Draszik wrote:
> > On the surface, Maxim's max77759 appears identical to max33359. It
> > should still have a dedicated compatible, though, as it is a different
> > IC. This will allow for handling differences in case they are
> > discovered in the future.
> >
> > max77759 is used on Google Pixel 6 and Pixel 6 Pro.
> >
> > Add a dedicated compatible to allow for potential differences in the
> > future.
> >
> > Signed-off-by: André Draszik <andre.draszik@linaro.org>
>
> This should be sent separately to USB.
Sorry, it slipped through into this series somehow. Will do.
Thanks
Andre
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver
2024-11-27 11:01 ` [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver André Draszik
@ 2024-11-28 10:49 ` Peter Griffin
0 siblings, 0 replies; 18+ messages in thread
From: Peter Griffin @ 2024-11-28 10:49 UTC (permalink / raw)
To: André Draszik
Cc: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar,
Tudor Ambarus, Sam Protsenko, Will McVicker, Roy Luo, kernel-team,
linux-arm-kernel, linux-kernel, linux-usb, devicetree,
linux-samsung-soc
Hi André,
On Wed, 27 Nov 2024 at 11:01, André Draszik <andre.draszik@linaro.org> wrote:
>
> Enable the Maxim max33359 as this is used by the gs101-oriole (Google
> Pixel 6) board.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
regards,
Peter
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 4/6] arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3
2024-11-27 11:01 ` [PATCH 4/6] arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3 André Draszik
@ 2024-11-29 11:24 ` André Draszik
0 siblings, 0 replies; 18+ messages in thread
From: André Draszik @ 2024-11-29 11:24 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Jagan Sridharan, Alim Akhtar
Cc: Peter Griffin, Tudor Ambarus, Sam Protsenko, Will McVicker,
Roy Luo, kernel-team, linux-arm-kernel, linux-kernel, linux-usb,
devicetree, linux-samsung-soc
On Wed, 2024-11-27 at 11:01 +0000, André Draszik wrote:
> This is required for the DWC3 core to reliably detect the connected
> phy's Vbus state.
>
> Signed-off-by: André Draszik <andre.draszik@linaro.org>
> ---
> arch/arm64/boot/dts/exynos/google/gs101.dtsi | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> index 18d4e7852a1a..ab016fe9b99a 100644
> --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> @@ -1302,6 +1302,7 @@ 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,dis_rxdet_inp3_quirk;
Seems this alone isn't enough in all cases, I'll send an update in a while.
Cheers,
Andre'
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-11-29 11:25 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-27 11:01 [PATCH 0/6] Google Pixel 6 (oriole): TCPCI enablement & USB updates André Draszik
2024-11-27 11:01 ` [PATCH 1/6] arm64: defconfig: enable Maxim TCPCI driver André Draszik
2024-11-28 10:49 ` Peter Griffin
2024-11-27 11:01 ` [PATCH 2/6] dt-bindings: usb: max33359: add max77759 flavor André Draszik
2024-11-27 15:57 ` Conor Dooley
2024-11-28 8:17 ` Krzysztof Kozlowski
2024-11-28 8:40 ` André Draszik
2024-11-27 11:01 ` [PATCH 3/6] arm64: dts: exynos: gs101: phy region for exynos5-usbdrd is larger André Draszik
2024-11-27 11:01 ` [PATCH 4/6] arm64: dts: exynos: gs101: enable snps,dis_rxdet_inp3_quirk for DWC3 André Draszik
2024-11-29 11:24 ` André Draszik
2024-11-27 11:01 ` [PATCH 5/6] arm64: dts: exynos: gs101-oriole: enable Maxim max77759 TCPCi André Draszik
2024-11-28 8:19 ` Krzysztof Kozlowski
2024-11-28 8:28 ` André Draszik
2024-11-28 8:34 ` Krzysztof Kozlowski
2024-11-27 11:01 ` [PATCH 6/6] arm64: dts: exynos: gs101-oriole: add pd-disable and typec-power-opmode André Draszik
2024-11-28 8:21 ` Krzysztof Kozlowski
2024-11-28 8:34 ` André Draszik
2024-11-28 8:34 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).