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@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... ]
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