GPIO Driver for Skylake-Y PCH
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Fri Jun 21 06:12:06 EDT 2019
On Thu, Jun 20, 2019 at 02:02:11PM -0700, Alexander Ivanov wrote:
> On Tue, 18 Jun 2019 01:41 -07:00, Andy Shevchenko <andriy.shevchenko at linux.intel.com> wrote:
> > > Obviously, I am wrong here. However, the question stands, is there linux kernel support for Intel PCH GPIO?
> >
> > Yes. Most of the SoCs from Intel use GPIO IP based on Chassis specification,
> > the drivers for which are available under drivers/pinctrl/intel. What you are
> > looking for is located under PINCTRL_SUNRISEPOINT configuration option.
> My box is updated with current Fedora distro and now running 5.0.9-301.fc30.x86_64. It's also said that the box has Sunrisepoint chipset. For this chipset, 5.0.9 kernel support following devices:
>
> static const struct acpi_device_id spt_pinctrl_acpi_match[] = {
> { "INT344B", (kernel_ulong_t)&sptlp_soc_data },
> { "INT345D", (kernel_ulong_t)&spth_soc_data },
> { }
> };
>
> [ https://elixir.bootlin.com/linux/v5.0.9/source/drivers/pinctrl/intel/pinctrl-sunrisepoint.c#L587 ]
>
> I believe the box has INT344B device attached to acpi bus proper:
>
> $ sudo ls -la /sys/bus/acpi/devices/INT344*
> ...
> lrwxrwxrwx. 1 root root 0 Jun 20 11:47 /sys/bus/acpi/devices/INT344B:00 -> ../../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/INT344B:00
Usually to check this is better to run
grep -H 15 /sys/bus/acpi/devices/*/status
which return you the list of *present and available* ACPI devices.
> Drivers seem loaded:
>
> $ lsmod | grep pin
> pinctrl_sunrisepoint 28672 0
> pinctrl_intel 28672 1 pinctrl_sunrisepoint
>
> However, I don't see any gpio devices.
>
> $ ls /dev/gpio*
> ls: cannot access '/dev/gpio*': No such file or directory
> $ ls /sys/bus/gpio/devices/
> $
>
> What am I still missing?
Two items:
- CONFIG_GPIO_SYSFS (deprecated!)
- that this is an old way to access to GPIO chips, the correct one is
to use character device; libgpiod tools will help you with that
--
With Best Regards,
Andy Shevchenko
More information about the Kernelnewbies
mailing list