diff options
author | Furquan Shaikh <furquan@google.com> | 2018-11-21 14:44:13 -0800 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2018-11-27 22:39:14 +0000 |
commit | e143243c1c66fb2d06e6b74a1317e10fc4fbeb0d (patch) | |
tree | ae56923cfc8cca651841e7b0cf2fa9e27d42827d /src/mainboard | |
parent | e3c2391fca4464ac4d2862e480ddc93a1434152d (diff) | |
download | coreboot-e143243c1c66fb2d06e6b74a1317e10fc4fbeb0d.tar.xz |
mb/google/octopus/var/phaser: Deprecate board id 0
This change gets rid of bid0_override_table as part of clean up effort
to deprecate bid0. Additionally, it updates the touchscreen enable
GPIO in overridetree and gets rid of code in variant.c to update enable
gpio at runtime.
BUG=b:119885949
Change-Id: I527973747e7d81ec47997da57eeb15f38d3ac2fd
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/29787
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Diffstat (limited to 'src/mainboard')
3 files changed, 12 insertions, 79 deletions
diff --git a/src/mainboard/google/octopus/variants/phaser/gpio.c b/src/mainboard/google/octopus/variants/phaser/gpio.c index 2a5dfbc87d..322b44b205 100644 --- a/src/mainboard/google/octopus/variants/phaser/gpio.c +++ b/src/mainboard/google/octopus/variants/phaser/gpio.c @@ -68,36 +68,19 @@ static const struct pad_config sku1_default_override_table[] = { PAD_NC(GPIO_214, DN_20K), }; -static const struct pad_config bid0_override_table[] = { - PAD_NC(GPIO_52, UP_20K), - PAD_NC(GPIO_53, UP_20K), - PAD_NC(GPIO_67, UP_20K), - PAD_NC(GPIO_117, UP_20K), - PAD_NC(GPIO_143, UP_20K), - PAD_NC(GPIO_161, DN_20K), - PAD_NC(GPIO_214, DN_20K), -}; - const struct pad_config *variant_override_gpio_table(size_t *num) { const struct pad_config *c; uint32_t sku_id = SKU_UNKNOWN; - switch (board_id()) { - case 0: - case UNDEFINED_STRAPPING_ID: - c = bid0_override_table; - *num = ARRAY_SIZE(bid0_override_table); - break; - default: - google_chromeec_cbi_get_sku_id(&sku_id); - if (sku_id == 1) { - c = sku1_default_override_table; - *num = ARRAY_SIZE(sku1_default_override_table); - } else { - c = default_override_table; - *num = ARRAY_SIZE(default_override_table); - } + google_chromeec_cbi_get_sku_id(&sku_id); + if (sku_id == 1) { + c = sku1_default_override_table; + *num = ARRAY_SIZE(sku1_default_override_table); + } else { + c = default_override_table; + *num = ARRAY_SIZE(default_override_table); } + return c; } diff --git a/src/mainboard/google/octopus/variants/phaser/overridetree.cb b/src/mainboard/google/octopus/variants/phaser/overridetree.cb index cd92dcbb36..f996d8b938 100644 --- a/src/mainboard/google/octopus/variants/phaser/overridetree.cb +++ b/src/mainboard/google/octopus/variants/phaser/overridetree.cb @@ -99,7 +99,7 @@ chip soc/intel/apollolake register "probed" = "1" register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)" register "reset_delay_ms" = "20" - register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_213)" + register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)" register "enable_delay_ms" = "1" register "has_power_resource" = "1" device i2c 10 on end @@ -110,7 +110,7 @@ chip soc/intel/apollolake register "generic.irq" = "ACPI_IRQ_EDGE_LOW(GPIO_212_IRQ)" register "generic.probed" = "1" register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)" - register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_213)" + register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)" register "generic.reset_delay_ms" = "45" register "generic.has_power_resource" = "1" register "generic.disable_gpio_export_in_crs" = "1" diff --git a/src/mainboard/google/octopus/variants/phaser/variant.c b/src/mainboard/google/octopus/variants/phaser/variant.c index 996ea1f2b2..724dd13251 100644 --- a/src/mainboard/google/octopus/variants/phaser/variant.c +++ b/src/mainboard/google/octopus/variants/phaser/variant.c @@ -13,75 +13,25 @@ * GNU General Public License for more details. */ -#include <arch/acpi_device.h> #include <baseboard/variants.h> -#include <boardid.h> -#include <device/device.h> -#include <drivers/i2c/generic/chip.h> -#include <drivers/i2c/hid/chip.h> -#include <soc/gpio.h> #include <soc/pci_devs.h> #include <string.h> #include <ec/google/chromeec/ec.h> #define SKU_UNKNOWN 0xFFFFFFFF -extern struct chip_operations drivers_i2c_generic_ops; -extern struct chip_operations drivers_i2c_hid_ops; - void variant_update_devtree(struct device *dev) { - uint32_t bid; uint32_t sku_id = SKU_UNKNOWN; struct device *touchscreen_i2c_host; - struct device *child; - const struct bus *children_bus; - static const struct acpi_gpio new_enable_gpio = - ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146); - - bid = board_id(); - - /* Nothing to update. */ - if (bid == UNDEFINED_STRAPPING_ID || bid < 1) - return; touchscreen_i2c_host = dev_find_slot(0, PCH_DEVFN_I2C7); if (touchscreen_i2c_host == NULL) return; - /* According to the sku id decide whether update touch - * screen device information: - * 1. sku id is 1 then dev->enabled = 0. - */ + /* SKU ID 1 does not have a touchscreen device, hence disable it. */ google_chromeec_cbi_get_sku_id(&sku_id); - if (sku_id == 1) { + if (sku_id == 1) touchscreen_i2c_host->enabled = 0; - return; - } - - children_bus = touchscreen_i2c_host->link_list; - child = NULL; - - /* Find all children on bus to update touchscreen enable gpio. */ - while ((child = dev_bus_each_child(children_bus, child)) != NULL) { - struct drivers_i2c_generic_config *cfg; - - /* No configration to change. */ - if (child->chip_info == NULL) - continue; - - if (child->chip_ops == &drivers_i2c_generic_ops) - cfg = child->chip_info; - else if (child->chip_ops == &drivers_i2c_hid_ops) { - struct drivers_i2c_hid_config *hid_cfg; - hid_cfg = child->chip_info; - cfg = &hid_cfg->generic; - } else - continue; - - /* Update the enable gpio. */ - memcpy(&cfg->enable_gpio, &new_enable_gpio, - sizeof(new_enable_gpio)); - } } |