From e143243c1c66fb2d06e6b74a1317e10fc4fbeb0d Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Wed, 21 Nov 2018 14:44:13 -0800 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/c/29787 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Karthik Ramasubramanian --- .../google/octopus/variants/phaser/gpio.c | 33 +++--------- .../octopus/variants/phaser/overridetree.cb | 4 +- .../google/octopus/variants/phaser/variant.c | 54 +------------------ 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 #include -#include -#include -#include -#include -#include #include #include #include #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)); - } }