From: Javier Carrasco <javier.carrasco@wolfvision.net>
To: Jai Luthra <j-luthra@ti.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
vigneshr@ti.com, d-gole@ti.com, nm@ti.com, rogerq@kernel.org
Subject: Re: [PATCH v2 0/4] usb: typec: tipd: add patch update support for tps6598x
Date: Thu, 4 Jan 2024 17:25:27 +0100 [thread overview]
Message-ID: <f463e49d-9e69-4bff-a663-3ce7c1093202@wolfvision.net> (raw)
In-Reply-To: <2nqiaxakx6setx4tzgddnbjadbh7miegz5p6wamsbbiyrfuq3x@un2uxajbswkg>
Hi Jai Luthra,
On 04.01.24 16:47, Jai Luthra wrote>> FYI, this series breaks boot for
TI SK-AM62A and SK-AM62 which use
>> TPS6598x as the USB-C PD chip.
>>
>> The platforms stopped booting since next-20240103 [1], and reverting
>> this series [4] seems to fix the issue [2]
>>
>> Is there any change needed in the board device-tree [3] and bindings?
>>
>> We don't specify any firmware in the device-tree node, but seems like
>> that is an assumption in this series. I tried reverting it (below
>> change) but that did *not* help with the stuck boot.
>>Thanks a lot for your high-quality feedback. I am glad to see that you
even found a solution to the issue.
The firmware update only happens if the device is in patch mode ('PTCH'
in the Mode register - 0x03), which is the expected behavior because the
device waits in that mode until a patch arrives. That is probably the
reason why your first attempt did not work (no update was triggered).
The problem seems to be related to the reset function, as you already
noticed. That function is only called in suspend/resume, if the probe
fails and in the remove function.
Did the probe function fail and if so, could you see why? The reset
function is identical for the tps25750 and tps6598x ('GAID' with no
parameters), so I wonder why that should be the source of the problem.
> The following change seems to fix boot on SK-AM62A without reverting
> this whole series:
>
> ------------------
>
> diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
> index a956eb976906a5..8ba2aa05db519b 100644
> --- a/drivers/usb/typec/tipd/core.c
> +++ b/drivers/usb/typec/tipd/core.c
> @@ -1223,11 +1223,16 @@ static int cd321x_reset(struct tps6598x *tps)
> return 0;
> }
>
> -static int tps6598x_reset(struct tps6598x *tps)
> +static int tps25750_reset(struct tps6598x *tps)
> {
> return tps6598x_exec_cmd_tmo(tps, "GAID", 0, NULL, 0, NULL, 2000, 0);
> }
>
> +static int tps6598x_reset(struct tps6598x *tps)
> +{
> + return 0;
> +}
> +
> static int
> tps25750_register_port(struct tps6598x *tps, struct fwnode_handle *fwnode)
> {
> @@ -1545,7 +1550,7 @@ static const struct tipd_data tps25750_data = {
> .trace_status = trace_tps25750_status,
> .apply_patch = tps25750_apply_patch,
> .init = tps25750_init,
> - .reset = tps6598x_reset,
> + .reset = tps25750_reset,
> };
>
> static const struct of_device_id tps6598x_of_match[] = {
>
> ------------------
>
> I am not an expert on this, will let you/others decide on what should be
> the correct way to reset TPS6598x for patching without breaking this SK.
>
>
The driver did not support cold resets before, but that does not mean
that they should not happen like it does for the tps25750. Your fix just
removes the reset function for the tps6598x, and I would like to know
why the reset happened in the fist place.
Thanks and best regards,
Javier Carrasco
next prev parent reply other threads:[~2024-01-04 16:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-14 16:29 Javier Carrasco
2023-12-14 16:29 ` [PATCH v2 1/4] usb: typec: tipd: add init and reset functions to tipd_data Javier Carrasco
2023-12-19 11:46 ` Heikki Krogerus
2024-01-04 16:14 ` Roger Quadros
2024-01-04 16:39 ` Javier Carrasco
2023-12-14 16:29 ` [PATCH v2 2/4] usb: typec: tipd: add function to request firmware Javier Carrasco
2023-12-19 11:50 ` Heikki Krogerus
2023-12-14 16:29 ` [PATCH v2 3/4] usb: typec: tipd: declare in_data in as const in exec_cmd functions Javier Carrasco
2023-12-19 11:51 ` Heikki Krogerus
2023-12-14 16:29 ` [PATCH v2 4/4] usb: typec: tipd: add patch update support for tps6598x Javier Carrasco
2023-12-19 13:24 ` Heikki Krogerus
2024-01-04 14:20 ` [PATCH v2 0/4] " Jai Luthra
2024-01-04 15:47 ` Jai Luthra
2024-01-04 16:15 ` Roger Quadros
2024-01-04 16:36 ` Javier Carrasco
2024-01-04 17:08 ` Roger Quadros
2024-01-04 17:15 ` Javier Carrasco
2024-01-04 18:52 ` Dhruva Gole
2024-01-04 20:15 ` Javier Carrasco
2024-01-05 7:57 ` Roger Quadros
2024-01-04 16:25 ` Javier Carrasco [this message]
2024-01-05 8:12 ` Jai Luthra
2024-01-05 9:49 ` Javier Carrasco
2024-01-05 10:10 ` Jai Luthra
2024-01-05 16:40 ` Abdel Alkuor
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=f463e49d-9e69-4bff-a663-3ce7c1093202@wolfvision.net \
--to=javier.carrasco@wolfvision.net \
--cc=d-gole@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=j-luthra@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=nm@ti.com \
--cc=rogerq@kernel.org \
--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 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®