summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/octopus/variants/phaser/gpio.c33
-rw-r--r--src/mainboard/google/octopus/variants/phaser/overridetree.cb4
-rw-r--r--src/mainboard/google/octopus/variants/phaser/variant.c54
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));
- }
}