Re: Cherryview wake up events

From: Mika Westerberg
Date: Thu Feb 02 2017 - 07:17:00 EST


On Thu, Feb 02, 2017 at 01:35:08PM +0200, Mika Westerberg wrote:
> 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.

Actually, looking again the patches you found:

https://github.com/01org/ProductionKernelQuilts/blob/master/uefi/cht-m1stable/patches/mfd-intel_soc_pmic-add-TI-variant-of-dollar-cove.patch
https://github.com/01org/ProductionKernelQuilts/blob/master/uefi/cht-m1stable/patches/PWRBTN-add-driver-for-TI-PMIC.patch

Did you try to them both? The latter seems to handle the power button
by talking directly with the PMIC (instead of using a GPIO).

Let's include the original author (Ramakrishna) as well if we could get
some information from him.