* x86: Add SPI slaves to PCIe SPI master? @ 2017-01-11 15:08 Alexander Stein 2017-01-12 11:48 ` Andy Shevchenko 0 siblings, 1 reply; 5+ messages in thread From: Alexander Stein @ 2017-01-11 15:08 UTC (permalink / raw) To: linux-spi-u79uwXL29TY76Z2rM5mHXA Hi, I have a customer board using Baytrail E3805 CPU. I want to access a chip attached to SPI using spidev. but for this the slave has to be attached. This is the corresponding lspci entry: > 00:1e.5 Serial bus controller [0c80]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller (rev 11) PCIe vendor and product ID is 8086:0f0e I tried using the following entry in APCI DSDT as a subnode to the SPI device: > Device (TAMP) > { > Name (_ADR, 1) > Name (_CID, "SPT0001") // Dummy name for spidev > Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings > { > Name (UBUF, ResourceTemplate () > { > SPISerialBus > ( > 1, //Slave select CS0 (_ADR) > PolarityLow, //Polarity of CS0 output(_DPL) > FourWireMode, //(_MOD) > 8, //8-bit frame(_LEN) > ControllerInitiated, //(_SLV) > 2000000, //Speed Hz (_SPE) > ClockPolarityLow, //(_POL) > ClockPhaseFirst, //(_PHA) > "\\_SB.SPI1", //Controller > ) > }) > Return (UBUF) > } > > Method (_STA, 0, NotSerialized) // _STA: Status > { > Return (0x0F) > } > } Apparently this only works when the device is probed by ACPI but not when using PCIe (driver: pxa2xx_spi_pci). So I am wondering: How can I add a slave to this PCIe spi master. Best regards, Alexander -- Dipl.-Inf. Alexander Stein SYS TEC electronic GmbH alexander.stein-93q1YBGzJSMe9JSWTWOYM3xStJ4P+DSV@public.gmane.org Legal and Commercial Address: Am Windrad 2 08468 Heinsdorfergrund Germany Office: +49 (0) 3765 38600-0 Fax: +49 (0) 3765 38600-4100 Managing Directors: Director Technology/CEO: Dipl.-Phys. Siegmar Schmidt; Director Commercial Affairs/COO: Dipl. Ing. (FH) Armin von Collrepp Commercial Registry: Amtsgericht Chemnitz, HRB 28082; USt.-Id Nr. DE150534010 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: x86: Add SPI slaves to PCIe SPI master? 2017-01-11 15:08 x86: Add SPI slaves to PCIe SPI master? Alexander Stein @ 2017-01-12 11:48 ` Andy Shevchenko [not found] ` <CAHp75VePTOd9WhkOTxW6GwKE2X3VR39J-7Song-P6iKsi7V6Ww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Andy Shevchenko @ 2017-01-12 11:48 UTC (permalink / raw) To: Alexander Stein; +Cc: linux-spi, Mika Westerberg On Wed, Jan 11, 2017 at 5:08 PM, Alexander Stein <alexander.stein-93q1YBGzJSMe9JSWTWOYM3xStJ4P+DSV@public.gmane.org> wrote: > Hi, > > I have a customer board using Baytrail E3805 CPU. I want to access a chip > attached to SPI using spidev. First of all, this is wrong approach. Do you have a driver for the chip? Are going to develop one? Elaborate, please. > but for this the slave has to be attached. > This is the corresponding lspci entry: >> 00:1e.5 Serial bus controller [0c80]: Intel Corporation Atom Processor > Z36xxx/Z37xxx Series LPIO1 SPI Controller (rev 11) > PCIe vendor and product ID is 8086:0f0e It's not what we are interested to see :-) Basically you need a) not ancient kernel (what's version of yours?); b) check proper ACPI node for the PCIe device (something like _SB.PCI0.SPI1). If there is no such node, just incorporate it using ACPI upgrade table mechanism. > I tried using the following entry in APCI DSDT as a subnode to the SPI device: >> Device (TAMP) >> { >> Name (_ADR, 1) >> Name (_CID, "SPT0001") // Dummy name for spidev >> Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings >> { >> Name (UBUF, ResourceTemplate () >> { >> SPISerialBus >> ( >> 1, //Slave select CS0 (_ADR) >> PolarityLow, //Polarity of CS0 output(_DPL) >> FourWireMode, //(_MOD) >> 8, //8-bit frame(_LEN) >> ControllerInitiated, //(_SLV) >> 2000000, //Speed Hz (_SPE) >> ClockPolarityLow, //(_POL) >> ClockPhaseFirst, //(_PHA) >> "\\_SB.SPI1", //Controller >> ) >> }) >> Return (UBUF) >> } >> >> Method (_STA, 0, NotSerialized) // _STA: Status >> { >> Return (0x0F) >> } >> } > > Apparently this only works when the device is probed by ACPI but not when > using PCIe (driver: pxa2xx_spi_pci). So I am wondering: How can I add a slave > to this PCIe spi master. Adding Mika to Cc list he might have some additional information to share. -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <CAHp75VePTOd9WhkOTxW6GwKE2X3VR39J-7Song-P6iKsi7V6Ww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: x86: Add SPI slaves to PCIe SPI master? [not found] ` <CAHp75VePTOd9WhkOTxW6GwKE2X3VR39J-7Song-P6iKsi7V6Ww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2017-01-12 12:01 ` Mika Westerberg [not found] ` <20170112120111.GY2330-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Mika Westerberg @ 2017-01-12 12:01 UTC (permalink / raw) To: Andy Shevchenko; +Cc: Alexander Stein, linux-spi On Thu, Jan 12, 2017 at 01:48:13PM +0200, Andy Shevchenko wrote: > On Wed, Jan 11, 2017 at 5:08 PM, Alexander Stein > <alexander.stein-93q1YBGzJSMe9JSWTWOYM3xStJ4P+DSV@public.gmane.org> wrote: > > Hi, > > > > I have a customer board using Baytrail E3805 CPU. I want to access a chip > > attached to SPI using spidev. > > First of all, this is wrong approach. Do you have a driver for the > chip? Are going to develop one? > Elaborate, please. > > > but for this the slave has to be attached. > > This is the corresponding lspci entry: > >> 00:1e.5 Serial bus controller [0c80]: Intel Corporation Atom Processor > > Z36xxx/Z37xxx Series LPIO1 SPI Controller (rev 11) > > PCIe vendor and product ID is 8086:0f0e > > It's not what we are interested to see :-) > > Basically you need > a) not ancient kernel (what's version of yours?); > b) check proper ACPI node for the PCIe device (something like _SB.PCI0.SPI1). You can find the node by running following command # cat /sys/bus/pci/devices/0000:00:1e.5/firmware_node/path -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <20170112120111.GY2330-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org>]
* Re: x86: Add SPI slaves to PCIe SPI master? [not found] ` <20170112120111.GY2330-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org> @ 2017-01-12 13:39 ` Alexander Stein 2017-01-12 13:47 ` Mika Westerberg 0 siblings, 1 reply; 5+ messages in thread From: Alexander Stein @ 2017-01-12 13:39 UTC (permalink / raw) To: Mika Westerberg; +Cc: Andy Shevchenko, linux-spi On Thursday 12 January 2017 14:01:11, Mika Westerberg wrote: > On Thu, Jan 12, 2017 at 01:48:13PM +0200, Andy Shevchenko wrote: > > On Wed, Jan 11, 2017 at 5:08 PM, Alexander Stein > > > > <alexander.stein-93q1YBGzJSMe9JSWTWOYM3xStJ4P+DSV@public.gmane.org> wrote: > > > Hi, > > > > > > I have a customer board using Baytrail E3805 CPU. I want to access a > > > chip > > > attached to SPI using spidev. > > > > First of all, this is wrong approach. Do you have a driver for the > > chip? Are going to develop one? > > Elaborate, please. There is no driver and I won't do any either. Can't say much more about that, sorry. > > > but for this the slave has to be attached. > > > > > > This is the corresponding lspci entry: > > >> 00:1e.5 Serial bus controller [0c80]: Intel Corporation Atom Processor > > > > > > Z36xxx/Z37xxx Series LPIO1 SPI Controller (rev 11) > > > PCIe vendor and product ID is 8086:0f0e > > > > It's not what we are interested to see :-) > > > > Basically you need > > a) not ancient kernel (what's version of yours?); This is a up-to-date archlinux, so I'm running 4.8.13-1-ARCH kernel. > > b) check proper ACPI node for the PCIe device (something like > > _SB.PCI0.SPI1). > You can find the node by running following command > > # cat /sys/bus/pci/devices/0000:00:1e.5/firmware_node/path result: \_SB_.PCI0.D023 The node itself is just: > Device (D023) > { > Name (_ADR, 0x001E0005) // _ADR: Address > } Well, I'm not experienced with ACPI tables at all, but adding a device like in the 1st post I got my spi slave device, to my surprise I have to admit. Thanks for that hint about the, kinda dummy, node for the PCIe device node. I didn't expect adding a slave device there would result in having a linux device too. Best regards, Alexander -- Dipl.-Inf. Alexander Stein SYS TEC electronic GmbH alexander.stein-93q1YBGzJSMe9JSWTWOYM3xStJ4P+DSV@public.gmane.org Legal and Commercial Address: Am Windrad 2 08468 Heinsdorfergrund Germany Office: +49 (0) 3765 38600-0 Fax: +49 (0) 3765 38600-4100 Managing Directors: Director Technology/CEO: Dipl.-Phys. Siegmar Schmidt; Director Commercial Affairs/COO: Dipl. Ing. (FH) Armin von Collrepp Commercial Registry: Amtsgericht Chemnitz, HRB 28082; USt.-Id Nr. DE150534010 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: x86: Add SPI slaves to PCIe SPI master? 2017-01-12 13:39 ` Alexander Stein @ 2017-01-12 13:47 ` Mika Westerberg 0 siblings, 0 replies; 5+ messages in thread From: Mika Westerberg @ 2017-01-12 13:47 UTC (permalink / raw) To: Alexander Stein; +Cc: Andy Shevchenko, linux-spi On Thu, Jan 12, 2017 at 02:39:04PM +0100, Alexander Stein wrote: > result: \_SB_.PCI0.D023 > > The node itself is just: > > Device (D023) > > { > > Name (_ADR, 0x001E0005) // _ADR: Address > > } > > Well, I'm not experienced with ACPI tables at all, but adding a device like in > the 1st post I got my spi slave device, to my surprise I have to admit. > > Thanks for that hint about the, kinda dummy, node for the PCIe device node. I > didn't expect adding a slave device there would result in having a linux > device too. That node is needed because it provides _ADR that ACPI core uses to bind the PCI device to the ACPI node. This further allows the SPI core ACPI enumeration code to find your slave device under \_SB_.PCI0.D023. -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-01-12 13:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-11 15:08 x86: Add SPI slaves to PCIe SPI master? Alexander Stein
2017-01-12 11:48 ` Andy Shevchenko
[not found] ` <CAHp75VePTOd9WhkOTxW6GwKE2X3VR39J-7Song-P6iKsi7V6Ww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-12 12:01 ` Mika Westerberg
[not found] ` <20170112120111.GY2330-3PARRvDOhMZrdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2017-01-12 13:39 ` Alexander Stein
2017-01-12 13:47 ` Mika Westerberg
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.