Re: How to add the "gpio-line-names" property in a PCI gpio expander

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

 



On Thu, Nov 05, 2020 at 03:54:32PM +0000, Flavio Suligoi wrote:
> > > > > > In one of our boards we have an add-on PCI board, with a PCI
> > serial
> > > > device
> > > > > > Exar XR17V352. This device also contains 16 gpios.
> > > > > > The exar device drivers work good, both the "8250_exar" and the
> > > > "gpio_exar", and
> > > > > > I can manage the exar's gpios correctly.
> > > > > > The problem is how to assign the gpio-line-names property to a PCI
> > > > gpio
> > > > > > expanders like this.
> > > > > >
> > > > > > I tried adding a new device in my ACPI configuration, as:
> > > > > >
> > > > > > Device (EXAR)
> > > > > > {
> > > > > >     Name (_HID, "13A80352")
> > > >
> > > > If this is PCI device then you need to have _ADR here instead of _HID.
> > >
> > > the problem is that the parent bus of this device is not declared in any
> > ACPI table.
> > > The exar chip is on the bus 7 :
> > >
> > > 07:00.0 Serial controller: Exar Corp. XR17V3521 Dual PCIe UART (rev 03)
> > >
> > > and in the _ADR object you can specify device and function only.
> > > How can I specify the parent bus? It is not simple …
> > > The lspci output is the following:
> > 
> > The parent is the root port the device is connected to and I'm pretty
> > sure it exists in the namespace as this seems to be Intel hardware. If
> > you run 'lspci -t' it shows you the root port.
> > 
> > The _ADR should be 0 for this one.
> 
> Unfortunately there is bridge in the middle:
> 
> root@debian:~# lspci -t
> -[0000:00]-+-00.0
>            +-02.0
>            +-0e.0
>            +-0f.0
>            +-12.0
>            +-13.0-[01]----00.0
>            +-13.1-[02]----00.0
>            +-13.2-[03]--
>            +-14.0-[04]----00.0
>            +-14.1-[05-09]----00.0-[06-09]--+-01.0-[07]----00.0 <-- Exar (bus 7, dev 0, funct 0)
>            |                               +-02.0-[08]----00.0
>            |                               \-03.0-[09]--
>            +-15.0
>            +-16.0
>            +-16.1
>            +-19.0
>            +-19.1
>            +-19.2
>            +-1f.0
>            \-1f.1
> root@debian:~#
> 
> My changes in the ACPI:
> 
> Scope (_SB.PCI0) {
>     Device (EXAR)
> 		{
> 			Name (_ADR, 0x0000)

_ADR should represent BDF (Bus:Device.Function)

Something like 0x07000000

> ....
> 
> but it doesn't work, because of the bridge.

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux