x86: ivybridge: Add support for early GPIO init
authorSimon Glass <sjg@chromium.org>
Thu, 13 Nov 2014 05:42:24 +0000 (22:42 -0700)
committerSimon Glass <sjg@chromium.org>
Fri, 21 Nov 2014 06:34:14 +0000 (07:34 +0100)
commit1b4f25ff8e6967f14494c5a0d173758a7a3ac279
treea39976e85bb51d2ffb80a5480bd957ed68bc2b64
parent8e0df066ffc40fde4cf43014114f8e472b8b9bd6
x86: ivybridge: Add support for early GPIO init

When not relying on Coreboot for GPIO init the GPIOs must be set up
correctly. This is currently done statically through a rather ugly method.
As the GPIOs are figured out they can be moved to the device tree and set
up as needed rather than all at the start.

In this implementation, board files should call ich_gpio_set_gpio_map()
before the GPIO driver is used in order to provide the GPIO information.
We use the early PCI interface so that this driver can now be used before
relocation.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/include/asm/arch-coreboot/gpio.h
arch/x86/include/asm/arch-ivybridge/pch.h
arch/x86/include/asm/global_data.h
arch/x86/include/asm/gpio.h
drivers/gpio/intel_ich6_gpio.c