All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@kernel.org>
To: Nishanth Menon <nm@ti.com>
Cc: vigneshr@ti.com, kristo@kernel.org, srk@ti.com,
	r-gunasekaran@ti.com, linux-arm-kernel@lists.infradead.org,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0
Date: Tue, 28 Mar 2023 22:46:48 +0300	[thread overview]
Message-ID: <39cb4f8c-d10f-f543-ddca-8a8507757f4c@kernel.org> (raw)
In-Reply-To: <20230328133024.ow6cvm22o2c5heem@untrimmed>



On 28/03/2023 16:30, Nishanth Menon wrote:
> On 16:20-20230328, Roger Quadros wrote:
>>
>>
>> On 28/03/2023 16:18, Nishanth Menon wrote:
>>> On 15:43-20230328, Roger Quadros wrote:
>>>> USB0 is a Type-C port with dual data role and power sink.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org>
>>>> ---
>>>>  arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
>>>>  arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
>>>>  .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
>>>>  3 files changed, 47 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> index b2ca19e3042e..a3c3609833fd 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> @@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	dr_mode = "peripheral";
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> index cdc0858dd1b2..13fdaa9ce4e7 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> @@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
>>>>  	};
>>>>  };
>>>>  
>>>> +&main_i2c0 {
>>>> +	typec_pd: tps6598x@3f {
>>>> +		compatible = "ti,tps6598x";
>>>> +		reg = <0x3f>;
>>>> +		interrupt-parent = <&exp1>;
>>>> +		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
>>>> +		interrupt-names = "irq";
>>>> +
>>>> +		connector {
>>>> +			compatible = "usb-c-connector";
>>>> +			label = "USB-C";
>>>> +			self-powered;
>>>> +			data-role = "dual";
>>>> +			power-role = "sink";
>>>> +			ports {
>>>> +				#address-cells = <1>;
>>>> +				#size-cells = <0>;
>>>> +
>>>> +				port@0 {
>>>> +					reg = <0>;
>>>> +					usb_con_hs: endpoint {
>>>> +						remote-endpoint = <&usb0_hs_ep>;
>>>> +					};
>>>> +				};
>>>> +			};
>>>> +		};
>>>> +	};
>>>> +};
>>>> +
>>>>  &main_i2c1 {
>>>>  	exp1: gpio@22 {
>>>>  		compatible = "ti,tca6424";
>>>> @@ -150,7 +179,7 @@ exp1: gpio@22 {
>>>>  				   "UART1_FET_BUF_EN", "WL_LT_EN",
>>>>  				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
>>>>  				   "CSI_GPIO2", "PRU_3V3_EN",
>>>> -				   "HDMI_INTn", "TEST_GPIO2",
>>>> +				   "HDMI_INTn", "PD_I2C_IRQ",
>>>>  				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
>>>>  				   "MCASP1_FET_SEL", "UART1_FET_SEL",
>>>>  				   "TSINT#", "IO_EXP_TEST_LED";
>>>> @@ -256,3 +285,16 @@ partition@3fc0000 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	#address-cells = <1>;
>>>> +	#size-cells = <0>;
>>>> +	usb-role-switch;
>>>> +
>>>> +	port@0 {
>>>> +		reg = <0>;
>>>> +		usb0_hs_ep: endpoint {
>>>> +		    remote-endpoint = <&usb_con_hs>;
>>>> +	       };
>>>> +	};
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> index 80e8b9b9a5f5..e3223088b90c 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> @@ -264,10 +264,6 @@ &usbss1 {
>>>>  	ti,vbus-divider;
>>>>  };
>>>>  
>>>> -&usb0 {
>>>> -	dr_mode = "peripheral";
>>>> -};
>>>> -
>>>
>>> 	How about sk-lp ?
>>
>> moved it to sk-lp. see above in this patch.
>>
> 
> A bit confused. Looking at [1] vs [2], it seems to indicate pd controller at
> 0x3f as well? Am I misreading the schematics?
> 
> [1] https://www.ti.com/tool/SK-AM62-LP#design-files
> [2] https://www.ti.com/tool/SK-AM62#design-files

Yes PD controller is at 0x3f for both boards but IRQ is not routed on AM62-LP.
I tried to explain this the cover letter. ;)

Pasting here for convenience.

> Although k3-am625-lp-sk USB is exactly the same as on k3-am625-sk,
> it is missing the IRQ line from Type-C chip which is currently
> required as per chip's DT binding. So we don't add Type-C support
> for k3-am625-lp-sk till h/w is fixed or polling mode support for
> Type-C chip is accepted [2]
> 
> [2] - https://lore.kernel.org/lkml/20230324133741.43408-1-rogerq@kernel.org/T/


cheers,
-roger

WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@kernel.org>
To: Nishanth Menon <nm@ti.com>
Cc: vigneshr@ti.com, kristo@kernel.org, srk@ti.com,
	r-gunasekaran@ti.com, linux-arm-kernel@lists.infradead.org,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0
Date: Tue, 28 Mar 2023 22:46:48 +0300	[thread overview]
Message-ID: <39cb4f8c-d10f-f543-ddca-8a8507757f4c@kernel.org> (raw)
In-Reply-To: <20230328133024.ow6cvm22o2c5heem@untrimmed>



On 28/03/2023 16:30, Nishanth Menon wrote:
> On 16:20-20230328, Roger Quadros wrote:
>>
>>
>> On 28/03/2023 16:18, Nishanth Menon wrote:
>>> On 15:43-20230328, Roger Quadros wrote:
>>>> USB0 is a Type-C port with dual data role and power sink.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq@kernel.org>
>>>> ---
>>>>  arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts      |  4 ++
>>>>  arch/arm64/boot/dts/ti/k3-am625-sk.dts        | 44 ++++++++++++++++++-
>>>>  .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi |  4 --
>>>>  3 files changed, 47 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> index b2ca19e3042e..a3c3609833fd 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
>>>> @@ -225,3 +225,7 @@ ldo4_reg: ldo4 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	dr_mode = "peripheral";
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> index cdc0858dd1b2..13fdaa9ce4e7 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
>>>> @@ -136,6 +136,35 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */
>>>>  	};
>>>>  };
>>>>  
>>>> +&main_i2c0 {
>>>> +	typec_pd: tps6598x@3f {
>>>> +		compatible = "ti,tps6598x";
>>>> +		reg = <0x3f>;
>>>> +		interrupt-parent = <&exp1>;
>>>> +		interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
>>>> +		interrupt-names = "irq";
>>>> +
>>>> +		connector {
>>>> +			compatible = "usb-c-connector";
>>>> +			label = "USB-C";
>>>> +			self-powered;
>>>> +			data-role = "dual";
>>>> +			power-role = "sink";
>>>> +			ports {
>>>> +				#address-cells = <1>;
>>>> +				#size-cells = <0>;
>>>> +
>>>> +				port@0 {
>>>> +					reg = <0>;
>>>> +					usb_con_hs: endpoint {
>>>> +						remote-endpoint = <&usb0_hs_ep>;
>>>> +					};
>>>> +				};
>>>> +			};
>>>> +		};
>>>> +	};
>>>> +};
>>>> +
>>>>  &main_i2c1 {
>>>>  	exp1: gpio@22 {
>>>>  		compatible = "ti,tca6424";
>>>> @@ -150,7 +179,7 @@ exp1: gpio@22 {
>>>>  				   "UART1_FET_BUF_EN", "WL_LT_EN",
>>>>  				   "GPIO_HDMI_RSTn", "CSI_GPIO1",
>>>>  				   "CSI_GPIO2", "PRU_3V3_EN",
>>>> -				   "HDMI_INTn", "TEST_GPIO2",
>>>> +				   "HDMI_INTn", "PD_I2C_IRQ",
>>>>  				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
>>>>  				   "MCASP1_FET_SEL", "UART1_FET_SEL",
>>>>  				   "TSINT#", "IO_EXP_TEST_LED";
>>>> @@ -256,3 +285,16 @@ partition@3fc0000 {
>>>>  		};
>>>>  	};
>>>>  };
>>>> +
>>>> +&usb0 {
>>>> +	#address-cells = <1>;
>>>> +	#size-cells = <0>;
>>>> +	usb-role-switch;
>>>> +
>>>> +	port@0 {
>>>> +		reg = <0>;
>>>> +		usb0_hs_ep: endpoint {
>>>> +		    remote-endpoint = <&usb_con_hs>;
>>>> +	       };
>>>> +	};
>>>> +};
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> index 80e8b9b9a5f5..e3223088b90c 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
>>>> @@ -264,10 +264,6 @@ &usbss1 {
>>>>  	ti,vbus-divider;
>>>>  };
>>>>  
>>>> -&usb0 {
>>>> -	dr_mode = "peripheral";
>>>> -};
>>>> -
>>>
>>> 	How about sk-lp ?
>>
>> moved it to sk-lp. see above in this patch.
>>
> 
> A bit confused. Looking at [1] vs [2], it seems to indicate pd controller at
> 0x3f as well? Am I misreading the schematics?
> 
> [1] https://www.ti.com/tool/SK-AM62-LP#design-files
> [2] https://www.ti.com/tool/SK-AM62#design-files

Yes PD controller is at 0x3f for both boards but IRQ is not routed on AM62-LP.
I tried to explain this the cover letter. ;)

Pasting here for convenience.

> Although k3-am625-lp-sk USB is exactly the same as on k3-am625-sk,
> it is missing the IRQ line from Type-C chip which is currently
> required as per chip's DT binding. So we don't add Type-C support
> for k3-am625-lp-sk till h/w is fixed or polling mode support for
> Type-C chip is accepted [2]
> 
> [2] - https://lore.kernel.org/lkml/20230324133741.43408-1-rogerq@kernel.org/T/


cheers,
-roger

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-03-28 19:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-28 12:43 [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Roger Quadros
2023-03-28 12:43 ` Roger Quadros
2023-03-28 12:43 ` [PATCH v2 1/2] arm64: dts: ti: k3-am625-sk: Add ti,vbus-divider property to usbss1 Roger Quadros
2023-03-28 12:43   ` Roger Quadros
2023-03-28 12:43 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-sk: Enable Type-C port for USB0 Roger Quadros
2023-03-28 12:43   ` Roger Quadros
2023-03-28 13:18   ` Nishanth Menon
2023-03-28 13:18     ` Nishanth Menon
2023-03-28 13:20     ` Roger Quadros
2023-03-28 13:20       ` Roger Quadros
2023-03-28 13:30       ` Nishanth Menon
2023-03-28 13:30         ` Nishanth Menon
2023-03-28 19:46         ` Roger Quadros [this message]
2023-03-28 19:46           ` Roger Quadros
2023-03-28 21:52           ` Nishanth Menon
2023-03-28 21:52             ` Nishanth Menon
2023-03-29  7:06             ` Roger Quadros
2023-03-29  7:06               ` Roger Quadros
2023-03-30  2:16 ` (subset) [PATCH v2 0/2] arm64: dts: ti: k3-am625-sk: Enable Type-C dual-role Nishanth Menon
2023-03-30  2:16   ` Nishanth Menon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=39cb4f8c-d10f-f543-ddca-8a8507757f4c@kernel.org \
    --to=rogerq@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kristo@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=r-gunasekaran@ti.com \
    --cc=srk@ti.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.