Re: Cherryview wake up events

From: Mika Westerberg
Date: Thu Feb 02 2017 - 06:35:18 EST


On Thu, Feb 02, 2017 at 12:12:22PM +0100, Johannes Stezenbach wrote:
> On Thu, Feb 02, 2017 at 12:31:22PM +0200, Mika Westerberg wrote:
> > On Thu, Feb 02, 2017 at 10:52:00AM +0100, Johannes Stezenbach wrote:
> > > OperationRegion (GPOP, GeneralPurposeIo, Zero, 0x0100)
> > > Field (GPOP, ByteAcc, NoLock, Preserve)
> > > {
> > > Connection (
> > > GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
> > > "\\_SB.PCI0.I2C7.PMI2", 0x00, ResourceConsumer, ,
> > > )
> > > { // Pin list
> > > 0x0020
> > > }
> > > ),
> > > GMP0, 1,
> > > ...
> > > (repeat for many more pins)
> > >
> > > I guess it means it uses chv_gpio pins and can't work
> > > if the GPIO opregion is not registered?
> >
> > That is using GPIO pins of the PMI2 device - the PMIC GPIO driver, I
> > suppose.
> >
> > So in addition to the PMIC MFD driver, you need to have a GPIO driver
> > for Dollar Cove (I guess the quilt patch series included that as well?).
>
> Nope, I see it for AX288 but didn't find it for TI DCove. And in
> current Linus' tree axp288_cells[] doesn't include gpio so
> I concluded it's not needed... what am I missing?

So reading your DSDT there is that GPIO button array device \_SB.TBAD
which has one GpioInt() referencing \_SB.PCI0.I2C7.PMI2. I suppose that
is the power button GPIO.

In order to use that there needs to be a GPIO driver exposing those
GPIOs to other drivers. So it is definitely needed.