diff options
Diffstat (limited to 'src/mainboard/google')
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)); - } } |