UPSTREAM: drivers/i2c/generic: Allow mainboards to export reset and enable GPIOs
Add power management type config option that allows mainboards to either: 1. Define a power resource that uses the reset and enable gpios to power on and off the device using _ON and _OFF methods, or 2. Export reset and enable GPIOs in _CRS and _DSD so that the OS can directly toggle the GPIOs as required. GPIO type needs to be updated in drivers_i2c_generic_config to use acpi_gpio type so that it can be used for both the above cases. BUG=chrome-os-partner:60194 BRANCH=None TEST=Verified that elan touchscreen works fine on reef using exported GPIOs. Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/17797 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Change-Id: I4d76f193f615cfc4520869dedc55505c109042f6 Reviewed-on: https://chromium-review.googlesource.com/422214 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
5e897874ed
commit
0804758ce9
3 changed files with 74 additions and 20 deletions
|
|
@ -177,10 +177,9 @@ chip soc/intel/apollolake
|
|||
register "desc" = ""ELAN Touchscreen""
|
||||
register "irq" = "IRQ_EDGE_LOW(GPIO_21_IRQ)"
|
||||
register "probed" = "1"
|
||||
register "reset_gpio" = "GPIO_36"
|
||||
register "reset_delay_ms" = "20"
|
||||
register "enable_gpio" = "GPIO_152"
|
||||
register "enable_delay_ms" = "1"
|
||||
register "pwr_mgmt_type" = "GPIO_EXPORT"
|
||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_36)"
|
||||
register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_152)"
|
||||
device i2c 10 on end
|
||||
end
|
||||
end # - I2C 3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue