RE: Power Delivery Driver Vsafe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Plain text please.

> From: Nico Orlando <nico.orlando@xxxxxxx>
> Sent: Tuesday, August 2, 2022 12:45 AM
> To: linux-usb@xxxxxxxxxxxxxxx
> Cc: badhri@xxxxxxxxxx; michele.gaiarin@xxxxxxx; daniele.piccini@xxxxxxx;
> rosario.borsellino@xxxxxxx; Andrea Marson <andrea.marson@xxxxxxx>;
> heikki.krogerus@xxxxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx;
> linux@xxxxxxxxxxxx; Jun Li <jun.li@xxxxxxx>
> Subject: Re: Power Delivery Driver Vsafe
> 
> 
> Il 01/08/2022 17:51, Nico Orlando ha scritto:
> Hi Jun,
> I am writing to you for the driver, TCPM, at Commit 31a04b55,

hash length 12+ chars

> 
> 
> which you developed for the 5.4 kernel for NXP. I turn more generally to
> those who have contributed to the creation of the USBC driver who deals with
> power renegotiate with the power delivery.
> 
> I hope you can help me.
> 
> By studying the driver you wrote, I notice that if you set a value greater
> than 5V for the power voltage, then the driver produces an error and you
> cannot make the probe. In fact, the error I get from dmesg is tcpci: probe
> of 2-0050 failed with error -22. Seeing the driver, this seems correct to
> me since explicit limits have been inserted to the 5V supply voltage, but
> why did these limits have been inserted? How can I act these limits in such
> a way as to provide a 12V power voltage without the driver fails the probe?
> The DTS I set up is of this type. If I try to change the Sink-Pdos binding
> then I have an error and the driver is not taken.
>         usb_con: connector {
>                         compatible = "usb-c-connector";
>                         label = "USB-C";
>                         power-role = "dual";
>                         data-role = "dual";
>                         try-power-role = "sink";
>                         source-pdos = <PDO_FIXED(5000, 3000,
> PDO_FIXED_USB_COMM)>;
>                         sink-pdos = <PDO_FIXED(5000, 3000,
> PDO_FIXED_USB_COMM)
>                                      PDO_VAR(5000, 12000, 3000)>;
>                         op-sink-microwatt = <15000000>;
>                         self-powered;

I do not understand what exact the limits is, or you your problem,
you mean the above dts settings you show here is generating a probe
failure error -22? on which kernel version?

> 
> I would like to understand why this choice. For me it is important to understand
> what changes I have to apply to the DTS in order to change the 12V power
> voltage.

The final negotiation result depends on both sides, 
the sink side of your board should be configured via dts to say 12V is OK,
like the above dts you shown, means the sink can support voltage range
is (5V, 12V), so max voltage is 12V;
the source side should support the exact 12V PDO(if only fixed PDO supported).

> 
> In this circumstance, I use a USB C port to apply the Power Delivery, but
> the board that power supply through this USBC port needs 12V and not 5V.
> In other words, I would like to do what a PC is made by a USBC, certainly
> its voltage is power supply will not be 5v.
> 
> If I do not apply this change, the renegotiate between the power delivery
> and the board fails and consequently this restarts from boot again.

What's "this change"? what your dts config before this change?

Li Jun

> 
> I am sure that you need to change some parameters in the DTS, but which
> parameter must be changed, it is difficult to understand since as soon as
> I change a parameter on the DTS the driver does not make the probe and
> consequently is not taken.
> 
> I hope you can help me. I hope I was clear, otherwise let me know.
> Regards,
> N
> --
> 
> 
> Nico ORLANDO




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux