Date: Mon, 13 Jun 2016 11:38:57 +0200 From: Imre Vadasz <imre@vdsz.com> To: freebsd-current@freebsd.org Cc: Lundberg@polaris.intra.vdsz.de, Johannes <johannes@brilliantservice.co.jp> Subject: Re: GPIO driver for Intel Atom SoC Message-ID: <20160613093857.GA157051@polaris.intra.vdsz.de>
next in thread | raw e-mail | index | archive | help
Hi, Microsoft has some documentation on GPIO handling with SD card controllers, which should apply to most Cherryview devices: https://msdn.microsoft.com/windows/hardware/drivers/bringup/other-acpi-namespace-objects#sd I did some work on Cherryview SoC support in DragonFlyBSD. In DragonFly master, there is a simple GPIO driver for cherryview in /sys/bus/gpio/gpio_intel. In master, it's currently only used for handling the ACPI GeneralPurposeIo operation regions, and Acpi-Event-Interrupts (which replace GPE interrupts on reduced-hardware platforms). I have some further (more prototype level) code which also contains some code for Intel sdhci controller integration: https://gitweb.dragonflybsd.org/~ivadasz/dragonfly.git/shortlog/refs/heads/cherryview With this branch everything sdcard/eMMC related works quite nicely, e.g. it properly handles plugging in/out the sd-card on my HP X2 210 detachable on DragonFlyBSD. To handle everything properly this contains a bit of work on mostly ACPI related stuff: ACPI device initialization order needs to be according to the ACPI _DEP methods: https://gitweb.dragonflybsd.org/~ivadasz/dragonfly.git/commitdiff/25dec08cafa3ce9089eb5b216700f4e678b3356d We need to map ACPI nodes to the device objects (and at least track a reference count for debugging): https://gitweb.dragonflybsd.org/~ivadasz/dragonfly.git/commitdiff/23135590ffb33b40f170c786ea95fc133358ebdb Then some kind of API is needed for handling the GeneralPurposeIo resources declared for the device in the ACPI tables (e.g. the sdhci controller). (i.e. some way of attempting to "map" the resource from the device driver): https://gitweb.dragonflybsd.org/~ivadasz/dragonfly.git/commitdiff/d5b3d3447bbdd42a68359aebd61f271bfa830951 And I have a prototype of adapting the sdhci driver to handle the GPIO ACPI resources, as described in "https://msdn.microsoft.com/windows/hardware/drivers/bringup/other-acpi-namespace-objects#sd": https://gitweb.dragonflybsd.org/~ivadasz/dragonfly.git/commitdiff/5d2844c280211cbb256a5ecc3ea27f952149e452 Regards, Imre Vadász
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160613093857.GA157051>