Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/29787
Change subject: mb/google/octopus/var/phaser: Deprecate board id 0 ......................................................................
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 variant.c to update enable gpio at runtime.
BUG=b:119885949
Change-Id: I527973747e7d81ec47997da57eeb15f38d3ac2fd Signed-off-by: Furquan Shaikh furquan@google.com --- M src/mainboard/google/octopus/variants/phaser/gpio.c M src/mainboard/google/octopus/variants/phaser/overridetree.cb M src/mainboard/google/octopus/variants/phaser/variant.c 3 files changed, 11 insertions(+), 77 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/87/29787/1
diff --git a/src/mainboard/google/octopus/variants/phaser/gpio.c b/src/mainboard/google/octopus/variants/phaser/gpio.c index 2a5dfbc..322b44b 100644 --- a/src/mainboard/google/octopus/variants/phaser/gpio.c +++ b/src/mainboard/google/octopus/variants/phaser/gpio.c @@ -68,36 +68,19 @@ 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 cd92dcb..f996d8b 100644 --- a/src/mainboard/google/octopus/variants/phaser/overridetree.cb +++ b/src/mainboard/google/octopus/variants/phaser/overridetree.cb @@ -99,7 +99,7 @@ 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 @@ 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 996ea1f..494b3ad 100644 --- a/src/mainboard/google/octopus/variants/phaser/variant.c +++ b/src/mainboard/google/octopus/variants/phaser/variant.c @@ -13,75 +13,26 @@ * 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) { 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)); } }