All of lore.kernel.org
 help / color / mirror / Atom feed
* No PNP0CA0 device on a Dell Precision 5520 laptop
@ 2020-02-11 13:25 Oliver Neukum
  2020-02-11 13:59 ` Heikki Krogerus
  0 siblings, 1 reply; 11+ messages in thread
From: Oliver Neukum @ 2020-02-11 13:25 UTC (permalink / raw)
  To: linux-usb

Hi,

I just not getting ucsi_acpi to bind on this laptop.
There just is no PNP0CA0 device. Any idea about what I am doing wrong?

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 13:25 No PNP0CA0 device on a Dell Precision 5520 laptop Oliver Neukum
@ 2020-02-11 13:59 ` Heikki Krogerus
  2020-02-11 14:14   ` Oliver Neukum
  0 siblings, 1 reply; 11+ messages in thread
From: Heikki Krogerus @ 2020-02-11 13:59 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: linux-usb

On Tue, Feb 11, 2020 at 02:25:18PM +0100, Oliver Neukum wrote:
> Hi,
> 
> I just not getting ucsi_acpi to bind on this laptop.
> There just is no PNP0CA0 device. Any idea about what I am doing wrong?

Is the interface enabled? What do you get if you do:

        % cat /sys/bus/acpi/devices/USBC000\:00/status

thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 13:59 ` Heikki Krogerus
@ 2020-02-11 14:14   ` Oliver Neukum
  2020-02-11 14:28     ` Heikki Krogerus
  0 siblings, 1 reply; 11+ messages in thread
From: Oliver Neukum @ 2020-02-11 14:14 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: linux-usb

Am Dienstag, den 11.02.2020, 15:59 +0200 schrieb Heikki Krogerus:
> cat /sys/bus/acpi/devices/USBC000\:00/status

Technically -ENODEV. It does not exist, even in a listing.
But this thing definitely has a type C port. It is connected
to a docking station which supplies the whole system with power.
Ethernet also works.

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 14:14   ` Oliver Neukum
@ 2020-02-11 14:28     ` Heikki Krogerus
  2020-02-11 14:34       ` Oliver Neukum
  2020-02-11 16:09       ` Oliver Neukum
  0 siblings, 2 replies; 11+ messages in thread
From: Heikki Krogerus @ 2020-02-11 14:28 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: linux-usb

On Tue, Feb 11, 2020 at 03:14:10PM +0100, Oliver Neukum wrote:
> Am Dienstag, den 11.02.2020, 15:59 +0200 schrieb Heikki Krogerus:
> > cat /sys/bus/acpi/devices/USBC000\:00/status
> 
> Technically -ENODEV. It does not exist, even in a listing.
> But this thing definitely has a type C port. It is connected
> to a docking station which supplies the whole system with power.
> Ethernet also works.

There is still no requirement for the BIOS or the EC firmware to
expose UCSI to the operating system. If the ACPI node is not there,
then there is no UCSI on that system. The USB Type-C connectors
function autonomously in any case on a system that exposes them to the
operating system with UCSI. UCSI is more like an optional status
interface that allows limited control over some specific things like
role swapping.

UCSI is usually supported when the USB Power Delivery (USB PD)
controllers are connected to the Embedded Controller on the system,
but on some of our platforms they are directly connected to the SOC
instead. So on those platforms we can directly communicate with the
USB PD controller from the operating system, which is actually much
better situation compared to UCSI IMO.

Do you have this ACPI node: INT3515 ?

It's for the TI TPS6598x USB PD controllers.

thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 14:28     ` Heikki Krogerus
@ 2020-02-11 14:34       ` Oliver Neukum
  2020-02-11 14:44         ` Heikki Krogerus
  2020-02-11 16:09       ` Oliver Neukum
  1 sibling, 1 reply; 11+ messages in thread
From: Oliver Neukum @ 2020-02-11 14:34 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: linux-usb

Am Dienstag, den 11.02.2020, 16:28 +0200 schrieb Heikki Krogerus:
> On Tue, Feb 11, 2020 at 03:14:10PM +0100, Oliver Neukum wrote:
> > Am Dienstag, den 11.02.2020, 15:59 +0200 schrieb Heikki Krogerus:
> > > cat /sys/bus/acpi/devices/USBC000\:00/status
> > 
> > Technically -ENODEV. It does not exist, even in a listing.
> > But this thing definitely has a type C port. It is connected
> > to a docking station which supplies the whole system with power.
> > Ethernet also works.
> 
> There is still no requirement for the BIOS or the EC firmware to
> expose UCSI to the operating system. If the ACPI node is not there,
> then there is no UCSI on that system. The USB Type-C connectors
> function autonomously in any case on a system that exposes them to the
> operating system with UCSI. UCSI is more like an optional status
> interface that allows limited control over some specific things like
> role swapping.
> 
> UCSI is usually supported when the USB Power Delivery (USB PD)
> controllers are connected to the Embedded Controller on the system,
> but on some of our platforms they are directly connected to the SOC
> instead. So on those platforms we can directly communicate with the
> USB PD controller from the operating system, which is actually much
> better situation compared to UCSI IMO.
> 
> Do you have this ACPI node: INT3515 ?
> 
> It's for the TI TPS6598x USB PD controllers.

Hi,

yes I got that one. Thanks for the tip.

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 14:34       ` Oliver Neukum
@ 2020-02-11 14:44         ` Heikki Krogerus
  2020-02-11 15:09           ` Oliver Neukum
  2020-02-12 13:12           ` Oliver Neukum
  0 siblings, 2 replies; 11+ messages in thread
From: Heikki Krogerus @ 2020-02-11 14:44 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: linux-usb

On Tue, Feb 11, 2020 at 03:34:37PM +0100, Oliver Neukum wrote:
> Am Dienstag, den 11.02.2020, 16:28 +0200 schrieb Heikki Krogerus:
> > On Tue, Feb 11, 2020 at 03:14:10PM +0100, Oliver Neukum wrote:
> > > Am Dienstag, den 11.02.2020, 15:59 +0200 schrieb Heikki Krogerus:
> > > > cat /sys/bus/acpi/devices/USBC000\:00/status
> > > 
> > > Technically -ENODEV. It does not exist, even in a listing.
> > > But this thing definitely has a type C port. It is connected
> > > to a docking station which supplies the whole system with power.
> > > Ethernet also works.
> > 
> > There is still no requirement for the BIOS or the EC firmware to
> > expose UCSI to the operating system. If the ACPI node is not there,
> > then there is no UCSI on that system. The USB Type-C connectors
> > function autonomously in any case on a system that exposes them to the
> > operating system with UCSI. UCSI is more like an optional status
> > interface that allows limited control over some specific things like
> > role swapping.
> > 
> > UCSI is usually supported when the USB Power Delivery (USB PD)
> > controllers are connected to the Embedded Controller on the system,
> > but on some of our platforms they are directly connected to the SOC
> > instead. So on those platforms we can directly communicate with the
> > USB PD controller from the operating system, which is actually much
> > better situation compared to UCSI IMO.
> > 
> > Do you have this ACPI node: INT3515 ?
> > 
> > It's for the TI TPS6598x USB PD controllers.
> 
> Hi,
> 
> yes I got that one. Thanks for the tip.

OK, cool! Let me know if the tps6598x.c driver works with that.

thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 14:44         ` Heikki Krogerus
@ 2020-02-11 15:09           ` Oliver Neukum
  2020-02-12 13:12           ` Oliver Neukum
  1 sibling, 0 replies; 11+ messages in thread
From: Oliver Neukum @ 2020-02-11 15:09 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: linux-usb

Am Dienstag, den 11.02.2020, 16:44 +0200 schrieb Heikki Krogerus:
> > > Do you have this ACPI node: INT3515 ?
> > > 
> > > It's for the TI TPS6598x USB PD controllers.
> > 
> > Hi,
> > 
> > yes I got that one. Thanks for the tip.
> 
> OK, cool! Let me know if the tps6598x.c driver works with that.

Hi,

unfortunately it does not work. There is no port in
/sys/bus/typec/devices

The driver loads but it seems to do nothing.

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 14:28     ` Heikki Krogerus
  2020-02-11 14:34       ` Oliver Neukum
@ 2020-02-11 16:09       ` Oliver Neukum
  1 sibling, 0 replies; 11+ messages in thread
From: Oliver Neukum @ 2020-02-11 16:09 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: linux-usb

Am Dienstag, den 11.02.2020, 16:28 +0200 schrieb Heikki Krogerus:
> Do you have this ACPI node: INT3515 ?
> 
> It's for the TI TPS6598x USB PD controllers.

Hi,

this leads me to another question. Is this the only controller
that does this? Are there others and is this documented somewhere?

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-11 14:44         ` Heikki Krogerus
  2020-02-11 15:09           ` Oliver Neukum
@ 2020-02-12 13:12           ` Oliver Neukum
  2020-02-12 16:06             ` Heikki Krogerus
  1 sibling, 1 reply; 11+ messages in thread
From: Oliver Neukum @ 2020-02-12 13:12 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: linux-usb

Am Dienstag, den 11.02.2020, 16:44 +0200 schrieb Heikki Krogerus:
> On Tue, Feb 11, 2020 at 03:34:37PM +0100, Oliver Neukum wrote:

> > > 
> > 
> > yes I got that one. Thanks for the tip.
> 
> OK, cool! Let me know if the tps6598x.c driver works with that.
> 
> thanks,

Sorry for my earlier rather short report. It turns out that even
i2c_multi_instantiate does not load. A bit of debugging points
to rather inexplicable ACPI code:

        Device (UCM1)
        {
            Name (_HID, "INT3515")  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C0",
                        0x00, ResourceConsumer, , Exclusive,
                        )
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y28)
                    {
                        0x00000000,
                    }
                })
                CreateDWordField (SBFI, \_SB.PCI0.I2C0.UCM1._CRS._Y28._INT, GINT)  // _INT: Interrupts
                GINT = INUM (UCG1)
                Return (ConcatenateResTemplate (SBFB, SBFI))
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((UCSI == One))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

And indeed 'status' is 0 in sysfs. I am puzzled. I can see no sense in that unless
I am supposed to use ucsi_acpi but there is no node for that.

	Regards
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-12 13:12           ` Oliver Neukum
@ 2020-02-12 16:06             ` Heikki Krogerus
  2020-02-13  7:27               ` Oliver Neukum
  0 siblings, 1 reply; 11+ messages in thread
From: Heikki Krogerus @ 2020-02-12 16:06 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: linux-usb

On Wed, Feb 12, 2020 at 02:12:54PM +0100, Oliver Neukum wrote:
> Am Dienstag, den 11.02.2020, 16:44 +0200 schrieb Heikki Krogerus:
> > On Tue, Feb 11, 2020 at 03:34:37PM +0100, Oliver Neukum wrote:
> 
> > > > 
> > > 
> > > yes I got that one. Thanks for the tip.
> > 
> > OK, cool! Let me know if the tps6598x.c driver works with that.
> > 
> > thanks,
> 
> Sorry for my earlier rather short report. It turns out that even
> i2c_multi_instantiate does not load. A bit of debugging points
> to rather inexplicable ACPI code:
> 
>         Device (UCM1)
>         {
>             Name (_HID, "INT3515")  // _HID: Hardware ID
>             Name (_UID, Zero)  // _UID: Unique ID
>             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
>             {
>                 Name (SBFB, ResourceTemplate ()
>                 {
>                     I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
>                         AddressingMode7Bit, "\\_SB.PCI0.I2C0",
>                         0x00, ResourceConsumer, , Exclusive,
>                         )
>                 })
>                 Name (SBFI, ResourceTemplate ()
>                 {
>                     Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y28)
>                     {
>                         0x00000000,
>                     }
>                 })
>                 CreateDWordField (SBFI, \_SB.PCI0.I2C0.UCM1._CRS._Y28._INT, GINT)  // _INT: Interrupts
>                 GINT = INUM (UCG1)
>                 Return (ConcatenateResTemplate (SBFB, SBFI))
>             }
> 
>             Method (_STA, 0, NotSerialized)  // _STA: Status
>             {
>                 If ((UCSI == One))
>                 {
>                     Return (0x0F)
>                 }
>                 Else
>                 {
>                     Return (Zero)
>                 }
>             }
>         }
> 
> And indeed 'status' is 0 in sysfs. I am puzzled. I can see no sense in that unless
> I am supposed to use ucsi_acpi but there is no node for that.

The "UCSI" in that condition is just a variable name. It does not
actually have anything to do with the actual UCSI interface.

It looks to me like the operating system is not even made aware of the
connectors on that laptop. That is fairly common unfortunately.

The connectors will work, the firmware takes care of everything, but
they are simply not visible to the operating system. There is of
course also no way to for example swap the roles, or do anything else.

thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: No PNP0CA0 device on a Dell Precision 5520 laptop
  2020-02-12 16:06             ` Heikki Krogerus
@ 2020-02-13  7:27               ` Oliver Neukum
  0 siblings, 0 replies; 11+ messages in thread
From: Oliver Neukum @ 2020-02-13  7:27 UTC (permalink / raw)
  To: Heikki Krogerus; +Cc: linux-usb

Am Mittwoch, den 12.02.2020, 18:06 +0200 schrieb Heikki Krogerus:
> On Wed, Feb 12, 2020 at 02:12:54PM +0100, Oliver Neukum wrote:
> > Am Dienstag, den 11.02.2020, 16:44 +0200 schrieb Heikki Krogerus:

> >         Device (UCM1)
> >         {
> >             Name (_HID, "INT3515")  // _HID: Hardware ID
> >             Name (_UID, Zero)  // _UID: Unique ID
> >             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
> >             {
> >                 Name (SBFB, ResourceTemplate ()
> >                 {
> >                     I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
> >                         AddressingMode7Bit, "\\_SB.PCI0.I2C0",
> >                         0x00, ResourceConsumer, , Exclusive,
> >                         )
> >                 })
> >                 Name (SBFI, ResourceTemplate ()
> >                 {
> >                     Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y28)
> >                     {
> >                         0x00000000,
> >                     }
> >                 })
> >                 CreateDWordField (SBFI, \_SB.PCI0.I2C0.UCM1._CRS._Y28._INT, GINT)  // _INT: Interrupts
> >                 GINT = INUM (UCG1)
> >                 Return (ConcatenateResTemplate (SBFB, SBFI))
> >             }
> > 
> >             Method (_STA, 0, NotSerialized)  // _STA: Status
> >             {
> >                 If ((UCSI == One))
> >                 {
> >                     Return (0x0F)
> >                 }
> >                 Else
> >                 {
> >                     Return (Zero)
> >                 }
> >             }
> >         }
> > 
> > And indeed 'status' is 0 in sysfs. I am puzzled. I can see no sense in that unless
> > I am supposed to use ucsi_acpi but there is no node for that.
> 
> The "UCSI" in that condition is just a variable name. It does not
> actually have anything to do with the actual UCSI interface.

Yesw, but it is a mightily suggestive variable name.

> It looks to me like the operating system is not even made aware of the
> connectors on that laptop. That is fairly common unfortunately.
> 
> The connectors will work, the firmware takes care of everything, but
> they are simply not visible to the operating system. There is of
> course also no way to for example swap the roles, or do anything else.

I see. I just don't get how this is supposed to work with devices that
have multiple alternate modes? Or if you want to couple two hosts on
the USB level?

Well, I am going to look for another laptop then.

	Thank you
		Oliver


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-02-13  7:27 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-11 13:25 No PNP0CA0 device on a Dell Precision 5520 laptop Oliver Neukum
2020-02-11 13:59 ` Heikki Krogerus
2020-02-11 14:14   ` Oliver Neukum
2020-02-11 14:28     ` Heikki Krogerus
2020-02-11 14:34       ` Oliver Neukum
2020-02-11 14:44         ` Heikki Krogerus
2020-02-11 15:09           ` Oliver Neukum
2020-02-12 13:12           ` Oliver Neukum
2020-02-12 16:06             ` Heikki Krogerus
2020-02-13  7:27               ` Oliver Neukum
2020-02-11 16:09       ` Oliver Neukum

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.