Peichao Li has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h A src/mainboard/google/octopus/variants/foob/mainboard.c A src/mainboard/google/octopus/variants/foob/overridetree.cb A src/mainboard/google/octopus/variants/foob/variant.c 10 files changed, 405 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/1
diff --git a/src/mainboard/google/octopus/Kconfig b/src/mainboard/google/octopus/Kconfig index 65a641b..95acb23 100644 --- a/src/mainboard/google/octopus/Kconfig +++ b/src/mainboard/google/octopus/Kconfig @@ -63,6 +63,7 @@ default "octopus" if BOARD_GOOGLE_OCTOPUS default "garg" if BOARD_GOOGLE_GARG default "dood" if BOARD_GOOGLE_DOOD + default "foob" if BOARD_GOOGLE_FOOB
config DEVICETREE string @@ -85,6 +86,7 @@ default "Octopus" if BOARD_GOOGLE_OCTOPUS default "Garg" if BOARD_GOOGLE_GARG default "Dood" if BOARD_GOOGLE_DOOD + default "Foob" if BOARD_GOOGLE_FOOB
config MAINBOARD_FAMILY string diff --git a/src/mainboard/google/octopus/Kconfig.name b/src/mainboard/google/octopus/Kconfig.name index 8a8d339..d447504 100644 --- a/src/mainboard/google/octopus/Kconfig.name +++ b/src/mainboard/google/octopus/Kconfig.name @@ -64,3 +64,9 @@ select BASEBOARD_OCTOPUS_LAPTOP select BOARD_GOOGLE_BASEBOARD_OCTOPUS select NHLT_DA7219 if INCLUDE_NHLT_BLOBS + +config BOARD_GOOGLE_FOOB + bool "-> Foob" + select BASEBOARD_OCTOPUS_LAPTOP + select BOARD_GOOGLE_BASEBOARD_OCTOPUS + select NHLT_DA7219 if INCLUDE_NHLT_BLOBS diff --git a/src/mainboard/google/octopus/variants/foob/Makefile.inc b/src/mainboard/google/octopus/variants/foob/Makefile.inc new file mode 100644 index 0000000..37270eb --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/Makefile.inc @@ -0,0 +1,5 @@ +bootblock-y += gpio.c + +ramstage-y += variant.c +ramstage-y += gpio.c +ramstage-y += mainboard.c diff --git a/src/mainboard/google/octopus/variants/foob/gpio.c b/src/mainboard/google/octopus/variants/foob/gpio.c new file mode 100644 index 0000000..281bde0 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/gpio.c @@ -0,0 +1,90 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2018 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#include <baseboard/gpio.h> +#include <baseboard/variants.h> +#include <boardid.h> +#include <gpio.h> +#include <soc/gpio.h> +#include <ec/google/chromeec/ec.h> + +#define SKU_UNKNOWN 0xFFFFFFFF + +static const struct pad_config default_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), + + /* EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0, + DISPUPD), + + PAD_NC(GPIO_161, DN_20K), + + PAD_NC(GPIO_213, DN_20K), + PAD_NC(GPIO_214, DN_20K), +}; + +static const struct pad_config sku1_default_override_table[] = { + /* disable I2C7 SCL and SDA */ + PAD_NC(GPIO_114, UP_20K), /* LPSS_I2C7_SDA */ + PAD_NC(GPIO_115, UP_20K), /* LPSS_I2C7_SCL */ + + 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), + + /* EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0, + DISPUPD), + + PAD_NC(GPIO_161, DN_20K), + + /* EN_PP3300_WLAN_L */ + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_178, 0, DEEP, NONE, Tx0RxDCRx0, + DISPUPD), + + PAD_NC(GPIO_213, DN_20K), + PAD_NC(GPIO_214, DN_20K), +}; + +bool no_touchscreen_sku(uint32_t sku_id) +{ + if ((sku_id == 1) || (sku_id == 6)) + return true; + else + return false; +} + +const struct pad_config *variant_override_gpio_table(size_t *num) +{ + const struct pad_config *c; + uint32_t sku_id = SKU_UNKNOWN; + + google_chromeec_cbi_get_sku_id(&sku_id); + if (no_touchscreen_sku(sku_id)) { + 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/foob/include/variant/acpi/dptf.asl b/src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl new file mode 100644 index 0000000..cc17d56 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl @@ -0,0 +1,16 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2018 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <baseboard/acpi/dptf.asl> diff --git a/src/mainboard/google/octopus/variants/foob/include/variant/ec.h b/src/mainboard/google/octopus/variants/foob/include/variant/ec.h new file mode 100644 index 0000000..16f931b --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/include/variant/ec.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2018 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef MAINBOARD_EC_H +#define MAINBOARD_EC_H + +#include <baseboard/ec.h> + +#endif diff --git a/src/mainboard/google/octopus/variants/foob/include/variant/gpio.h b/src/mainboard/google/octopus/variants/foob/include/variant/gpio.h new file mode 100644 index 0000000..1fd1e11 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/include/variant/gpio.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2018 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#ifndef MAINBOARD_GPIO_H +#define MAINBOARD_GPIO_H + +#include <baseboard/gpio.h> + +#endif /* MAINBOARD_GPIO_H */ diff --git a/src/mainboard/google/octopus/variants/foob/mainboard.c b/src/mainboard/google/octopus/variants/foob/mainboard.c new file mode 100644 index 0000000..2d44830 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/mainboard.c @@ -0,0 +1,32 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2018 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <boardid.h> +#include <ec/google/chromeec/ec.h> +#include <sar.h> + +const char *get_wifi_sar_cbfs_filename(void) +{ + const char *filename = NULL; + uint32_t sku_id; + + if (google_chromeec_cbi_get_sku_id(&sku_id)) + return NULL; + + if (sku_id == 5) + filename = "wifi_sar-laser.hex"; + + return filename; +} diff --git a/src/mainboard/google/octopus/variants/foob/overridetree.cb b/src/mainboard/google/octopus/variants/foob/overridetree.cb new file mode 100644 index 0000000..625c2a6 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/overridetree.cb @@ -0,0 +1,176 @@ +chip soc/intel/apollolake + + # EMMC Tx CMD Delay + # Refer to EDS-Vol2-16.32. + # [14:8] steps of delay for DDR mode, each 125ps. + # [6:0] steps of delay for SDR mode, each 125ps. + register "emmc_tx_cmd_cntl" = "0x505" + + # EMMC TX DATA Delay 1 + # Refer to EDS-Vol2-16.33. + # [14:8] steps of delay for HS400, each 125ps. + # [6:0] steps of delay for SDR104/HS200, each 125ps. + register "emmc_tx_data_cntl1" = "0x0b0c" + + # EMMC TX DATA Delay 2 + # Refer to EDS-Vol2-16.34. + # [30:24] steps of delay for SDR50, each 125ps. + # [22:16] steps of delay for DDR50, each 125ps. + # [14:8] steps of delay for SDR25/HS50, each 125ps. + # [6:0] steps of delay for SDR12, each 125ps. + register "emmc_tx_data_cntl2" = "0x1c282929" + + # EMMC RX CMD/DATA Delay 1 + # Refer to EDS-Vol2-16.35. + # [30:24] steps of delay for SDR50, each 125ps. + # [22:16] steps of delay for DDR50, each 125ps. + # [14:8] steps of delay for SDR25/HS50, each 125ps. + # [6:0] steps of delay for SDR12, each 125ps. + register "emmc_rx_cmd_data_cntl1" = "0x00181b1b" + + # EMMC RX CMD/DATA Delay 2 + # Refer to EDS-Vol2-16.37. + # [17:16] stands for Rx Clock before Output Buffer + # [14:8] steps of delay for Auto Tuning Mode, each 125ps. + # [6:0] steps of delay for HS200, each 125ps. + register "emmc_rx_cmd_data_cntl2" = "0x10028" + + # EMMC Rx Strobe Delay + # Refer to EDS-Vol2-16.36. + # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps. + # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps. + register "emmc_rx_strobe_cntl" = "0x0b0b" + + # Intel Common SoC Config + #+-------------------+---------------------------+ + #| Field | Value | + #+-------------------+---------------------------+ + #| GSPI0 | cr50 TPM. Early init is | + #| | required to set up a BAR | + #| | for TPM communication | + #| | before memory is up | + #| I2C0 | Digitizer | + #| I2C5 | Audio | + #| I2C6 | Trackpad | + #| I2C7 | Touchscreen | + #+-------------------+---------------------------+ + register "common_soc_config" = "{ + .gspi[0] = { + .speed_mhz = 1, + .early_init = 1, + }, + .i2c[0] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 66, + .fall_time_ns = 90, + }, + .i2c[5] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 104, + .fall_time_ns = 52, + }, + .i2c[6] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 66, + .fall_time_ns = 90, + .data_hold_time_ns = 350, + }, + .i2c[7] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 76, + .fall_time_ns = 164, + }, + }" + + device domain 0 on + device pci 16.0 on + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" + register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_139_IRQ)" + register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)" + register "generic.reset_delay_ms" = "20" + register "generic.has_power_resource" = "1" + register "hid_desc_reg_offset" = "0x1" + device i2c 0x9 on end + end + end # - I2C 0 + device pci 17.1 on + chip drivers/i2c/da7219 + register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_137_IRQ)" + register "btn_cfg" = "50" + register "mic_det_thr" = "500" + register "jack_ins_deb" = "20" + register "jack_det_rate" = ""32ms_64ms"" + register "jack_rem_deb" = "1" + register "a_d_btn_thr" = "0xa" + register "d_b_btn_thr" = "0x16" + register "b_c_btn_thr" = "0x21" + register "c_mic_btn_thr" = "0x3e" + register "btn_avg" = "4" + register "adc_1bit_rpt" = "1" + register "micbias_lvl" = "2600" + register "mic_amp_in_sel" = ""diff"" + device i2c 1a on end + end + end # - I2C 5 + device pci 17.2 on + chip drivers/i2c/generic + register "hid" = ""ELAN0000"" + register "desc" = ""ELAN Touchpad"" + register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPIO_135_IRQ)" + register "wake" = "GPE0_DW3_27" + register "probed" = "1" + device i2c 15 on end + end + chip drivers/i2c/hid + register "generic.hid" = ""PNP0C50"" + register "generic.desc" = ""Synaptics Touchpad"" + register "generic.irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPIO_135_IRQ)" + register "generic.wake" = "GPE0_DW3_27" + register "generic.probed" = "1" + register "hid_desc_reg_offset" = "0x20" + device i2c 0x2c on end + end + end # - I2C 6 + device pci 17.3 on + chip drivers/i2c/generic + register "hid" = ""ELAN0001"" + register "desc" = ""ELAN Touchscreen"" + register "irq" = "ACPI_IRQ_EDGE_LOW(GPIO_212_IRQ)" + 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_146)" + register "enable_delay_ms" = "1" + register "has_power_resource" = "1" + device i2c 10 on end + end + chip drivers/i2c/hid + register "generic.hid" = ""SYTS7817"" + register "generic.desc" = ""Synaptics Touchscreen"" + 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_146)" + register "generic.reset_delay_ms" = "45" + register "generic.has_power_resource" = "1" + register "generic.disable_gpio_export_in_crs" = "1" + register "hid_desc_reg_offset" = "0x20" + device i2c 20 on end + end + chip drivers/i2c/generic + register "hid" = ""RAYD0001"" + register "desc" = ""Raydium Touchscreen"" + register "irq" = "ACPI_IRQ_EDGE_LOW(GPIO_212_IRQ)" + register "probed" = "1" + register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_105)" + register "reset_delay_ms" = "1" + register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_146)" + register "enable_delay_ms" = "50" + register "has_power_resource" = "1" + device i2c 39 on end + end + end # - I2C 7 + end +end diff --git a/src/mainboard/google/octopus/variants/foob/variant.c b/src/mainboard/google/octopus/variants/foob/variant.c new file mode 100644 index 0000000..aeefda5 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/variant.c @@ -0,0 +1,36 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2018 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <baseboard/variants.h> +#include <soc/pci_devs.h> +#include <ec/google/chromeec/ec.h> + +#define SKU_UNKNOWN 0xFFFFFFFF + +void variant_update_devtree(struct device *dev) +{ + uint32_t sku_id = SKU_UNKNOWN; + struct device *touchscreen_i2c_host; + + touchscreen_i2c_host = pcidev_path_on_root(PCH_DEVFN_I2C7); + + if (touchscreen_i2c_host == NULL) + return; + + /* SKU ID 1, 6 does not have a touchscreen device, hence disable it. */ + google_chromeec_cbi_get_sku_id(&sku_id); + if (no_touchscreen_sku(sku_id)) + touchscreen_i2c_host->enabled = 0; +}
Henry Sun has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 1:
(7 comments)
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/gpio.c:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 4: 2018 2019 and same for others
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 42: sku1_default_override_table Foob is not assigned with any SKU number, so please move the correct content to default_override_table and use that as default. remove the sku1_* settings related. You can always add more sku variant table (as required) after new sku assigned.
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 69: (sku_id == 1) || (sku_id == 6) please remove sku settings
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 80: google_chromeec_cbi_get_sku_id(&sku_id); : if (no_touchscreen_sku(sku_id)) { : c = sku1_default_override_table; please remove sku settings and use default as first version of variant
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/mainboard.c:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 15: : #include <boardid.h> : #include <ec/google/chromeec/ec.h> : #include <sar.h> : : const char *get_wifi_sar_cbfs_filename(void) : { : const char *filename = NULL; : uint32_t sku_id; : : if (google_chromeec_cbi_get_sku_id(&sku_id)) : return NULL; : : if (sku_id == 5) : filename = "wifi_sar-laser.hex"; : : return filename; : } Please help to check whether this is necessary for your current hw settings. if not please remove this file. if yes, please change the sku settings to default.
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 2: Please check and confirm all below component will be candidate source for Foob. and please remove unused parts.
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/variant.c:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 24: uint32_t sku_id = SKU_UNKNOWN; : struct device *touchscreen_i2c_host; : : touchscreen_i2c_host = pcidev_path_on_root(PCH_DEVFN_I2C7); : : if (touchscreen_i2c_host == NULL) : return; : : /* SKU ID 1, 6 does not have a touchscreen device, hence disable it. */ : google_chromeec_cbi_get_sku_id(&sku_id); : if (no_touchscreen_sku(sku_id)) : touchscreen_i2c_host->enabled = 0; please remove the sku variant code, and as always, it could be added later after the exact sku id assigned.
Hello Karthik Ramasubramanian, Henry Sun, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/37456
to look at the new patch set (#2).
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h R src/mainboard/google/octopus/variants/foob/mainboard.c A src/mainboard/google/octopus/variants/foob/overridetree.cb R src/mainboard/google/octopus/variants/foob/variant.c M src/mainboard/google/octopus/variants/phaser/Makefile.inc M src/mainboard/google/octopus/variants/phaser/gpio.c 12 files changed, 339 insertions(+), 50 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/2
Hello Karthik Ramasubramanian, Henry Sun, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/37456
to look at the new patch set (#3).
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h R src/mainboard/google/octopus/variants/foob/mainboard.c A src/mainboard/google/octopus/variants/foob/overridetree.cb R src/mainboard/google/octopus/variants/foob/variant.c M src/mainboard/google/octopus/variants/phaser/Makefile.inc M src/mainboard/google/octopus/variants/phaser/gpio.c 12 files changed, 340 insertions(+), 51 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/3
Peichao Li has removed Patrick Georgi from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Patrick Georgi.
Peichao Li has removed Martin Roth from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Martin Roth.
Peichao Li has removed Karthik Ramasubramanian from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Karthik Ramasubramanian.
Peichao Li has removed Henry Sun from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Henry Sun.
Peichao Li has removed Paul Menzel from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Paul Menzel.
Peichao Li has removed Furquan Shaikh from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Furquan Shaikh.
Peichao Li has removed Marco Chen from this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Removed reviewer Marco Chen.
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/37456
to look at the new patch set (#4).
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h A src/mainboard/google/octopus/variants/foob/overridetree.cb 8 files changed, 289 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/4
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 4:
Patch Set 1:
(7 comments)
Dear Henry,
I just modify the code that related to SKU ID, eventually, I confirmed with our EE, foob cooreboot section leverage to phaser is fine. So: 1. devicetree need not modificatoin 2. default GPIO setting is fine 3. remove mainboard.c and variant.c, which related to SKU IDs.
Thanks and best regards
Hello Marco Chen, Henry Sun, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/37456
to look at the new patch set (#5).
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h A src/mainboard/google/octopus/variants/foob/overridetree.cb 8 files changed, 289 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/5
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 5:
(7 comments)
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/gpio.c:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 4: 2018
2019 and same for others
Done
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 42: sku1_default_override_table
Foob is not assigned with any SKU number, so please move the correct content to default_override_tab […]
Done
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 69: (sku_id == 1) || (sku_id == 6)
please remove sku settings
Done
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 80: google_chromeec_cbi_get_sku_id(&sku_id); : if (no_touchscreen_sku(sku_id)) { : c = sku1_default_override_table;
please remove sku settings and use default as first version of variant
Done
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/mainboard.c:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 15: : #include <boardid.h> : #include <ec/google/chromeec/ec.h> : #include <sar.h> : : const char *get_wifi_sar_cbfs_filename(void) : { : const char *filename = NULL; : uint32_t sku_id; : : if (google_chromeec_cbi_get_sku_id(&sku_id)) : return NULL; : : if (sku_id == 5) : filename = "wifi_sar-laser.hex"; : : return filename; : }
Please help to check whether this is necessary for your current hw settings. […]
Done
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 2:
Please check and confirm all below component will be candidate source for Foob. […]
Done
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/variant.c:
https://review.coreboot.org/c/coreboot/+/37456/1/src/mainboard/google/octopu... PS1, Line 24: uint32_t sku_id = SKU_UNKNOWN; : struct device *touchscreen_i2c_host; : : touchscreen_i2c_host = pcidev_path_on_root(PCH_DEVFN_I2C7); : : if (touchscreen_i2c_host == NULL) : return; : : /* SKU ID 1, 6 does not have a touchscreen device, hence disable it. */ : google_chromeec_cbi_get_sku_id(&sku_id); : if (no_touchscreen_sku(sku_id)) : touchscreen_i2c_host->enabled = 0;
please remove the sku variant code, and as always, it could be added later after the exact sku id as […]
Done
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 5:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37456/5/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/37456/5/src/mainboard/google/octopu... PS5, Line 173: end 1. So all these components are in the candidate list of foob? 2. tabs are gone?
Hello Marco Chen, Henry Sun, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/37456
to look at the new patch set (#6).
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h A src/mainboard/google/octopus/variants/foob/overridetree.cb 8 files changed, 277 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/6
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37456/5/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/37456/5/src/mainboard/google/octopu... PS5, Line 173: end
- So all these components are in the candidate list of foob? […]
Copy that, I have confirmed with our PM, keep Synaptics and Elan touch pad and touch screen etc. Remove other sources. Thanks a lot!
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37456/5/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/37456/5/src/mainboard/google/octopu... PS5, Line 173: end
Copy that, I have confirmed with our PM, keep Synaptics and Elan touch pad and touch screen etc. […]
Done
Henry Sun has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 6:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37456/6/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl:
https://review.coreboot.org/c/coreboot/+/37456/6/src/mainboard/google/octopu... PS6, Line 4: 2018 Please change ALL 2018 to 2019, not only in this file but also others. This is just a sample. thanks.
Hello Marco Chen, Henry Sun, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/37456
to look at the new patch set (#7).
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h A src/mainboard/google/octopus/variants/foob/overridetree.cb 8 files changed, 277 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/37456/7
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 6:
Patch Set 6:
(1 comment)
Dear Henry, sorry it's my fault, all year has been modified from 2018 to 2019. Thanks!
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 7: Code-Review+1
Henry Sun has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 7: Code-Review+1
Hi coreboot owners: this is for octopus Foob project firmware variant creation, please help to check and approve if no concern. thanks!
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 7: Code-Review+2
Peichao Li has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
Patch Set 7:
(1 comment)
https://review.coreboot.org/c/coreboot/+/37456/6/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl:
https://review.coreboot.org/c/coreboot/+/37456/6/src/mainboard/google/octopu... PS6, Line 4: 2018
Please change ALL 2018 to 2019, not only in this file but also others. […]
Done
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/37456 )
Change subject: mb/google/octopus: Create Foob variant ......................................................................
mb/google/octopus: Create Foob variant
This commit creates a foob variant for Octopus. The initial settings override the baseboard was copied from variant phaser.
BUG=b:144890301 BRANCH=octopus TEST=emerge-octopus coreboot
Signed-off-by: Peichao Wang peichao.wang@bitland.corp-partner.google.com Change-Id: Ibcdda4dd0846612f5e98ab454db7144c1caf0507 Reviewed-on: https://review.coreboot.org/c/coreboot/+/37456 Reviewed-by: Henry Sun henrysun@google.com Reviewed-by: Marco Chen marcochen@google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/foob/Makefile.inc A src/mainboard/google/octopus/variants/foob/gpio.c A src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/foob/include/variant/ec.h A src/mainboard/google/octopus/variants/foob/include/variant/gpio.h A src/mainboard/google/octopus/variants/foob/overridetree.cb 8 files changed, 277 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Marco Chen: Looks good to me, approved Peichao Li: Looks good to me, but someone else must approve Henry Sun: Looks good to me, but someone else must approve
diff --git a/src/mainboard/google/octopus/Kconfig b/src/mainboard/google/octopus/Kconfig index 78b2eba..3139716 100644 --- a/src/mainboard/google/octopus/Kconfig +++ b/src/mainboard/google/octopus/Kconfig @@ -64,6 +64,7 @@ default "garg" if BOARD_GOOGLE_GARG default "dood" if BOARD_GOOGLE_DOOD default "lick" if BOARD_GOOGLE_LICK + default "foob" if BOARD_GOOGLE_FOOB
config DEVICETREE string @@ -87,6 +88,7 @@ default "Garg" if BOARD_GOOGLE_GARG default "Dood" if BOARD_GOOGLE_DOOD default "Lick" if BOARD_GOOGLE_LICK + default "Foob" if BOARD_GOOGLE_FOOB
config MAINBOARD_FAMILY string diff --git a/src/mainboard/google/octopus/Kconfig.name b/src/mainboard/google/octopus/Kconfig.name index c837365..6e3dbf4 100644 --- a/src/mainboard/google/octopus/Kconfig.name +++ b/src/mainboard/google/octopus/Kconfig.name @@ -70,3 +70,9 @@ select BASEBOARD_OCTOPUS_LAPTOP select BOARD_GOOGLE_BASEBOARD_OCTOPUS select NHLT_DA7219 if INCLUDE_NHLT_BLOBS + +config BOARD_GOOGLE_FOOB + bool "-> Foob" + select BASEBOARD_OCTOPUS_LAPTOP + select BOARD_GOOGLE_BASEBOARD_OCTOPUS + select NHLT_DA7219 if INCLUDE_NHLT_BLOBS diff --git a/src/mainboard/google/octopus/variants/foob/Makefile.inc b/src/mainboard/google/octopus/variants/foob/Makefile.inc new file mode 100644 index 0000000..9fb63f5 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/Makefile.inc @@ -0,0 +1,3 @@ +bootblock-y += gpio.c + +ramstage-y += gpio.c diff --git a/src/mainboard/google/octopus/variants/foob/gpio.c b/src/mainboard/google/octopus/variants/foob/gpio.c new file mode 100644 index 0000000..27ce0ee --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/gpio.c @@ -0,0 +1,44 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#include <baseboard/gpio.h> +#include <baseboard/variants.h> +#include <boardid.h> +#include <gpio.h> +#include <soc/gpio.h> +#include <ec/google/chromeec/ec.h> + +static const struct pad_config default_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), + + /* EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0, + DISPUPD), + + PAD_NC(GPIO_161, DN_20K), + + PAD_NC(GPIO_213, DN_20K), + PAD_NC(GPIO_214, DN_20K), +}; + +const struct pad_config *variant_override_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(default_override_table); + return default_override_table; +} diff --git a/src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl b/src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl new file mode 100644 index 0000000..4f6497a --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/include/variant/acpi/dptf.asl @@ -0,0 +1,16 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <baseboard/acpi/dptf.asl> diff --git a/src/mainboard/google/octopus/variants/foob/include/variant/ec.h b/src/mainboard/google/octopus/variants/foob/include/variant/ec.h new file mode 100644 index 0000000..260d7d4 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/include/variant/ec.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef MAINBOARD_EC_H +#define MAINBOARD_EC_H + +#include <baseboard/ec.h> + +#endif diff --git a/src/mainboard/google/octopus/variants/foob/include/variant/gpio.h b/src/mainboard/google/octopus/variants/foob/include/variant/gpio.h new file mode 100644 index 0000000..750b0d4 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/include/variant/gpio.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the + * GNU General Public License for more details. + */ + +#ifndef MAINBOARD_GPIO_H +#define MAINBOARD_GPIO_H + +#include <baseboard/gpio.h> + +#endif /* MAINBOARD_GPIO_H */ diff --git a/src/mainboard/google/octopus/variants/foob/overridetree.cb b/src/mainboard/google/octopus/variants/foob/overridetree.cb new file mode 100644 index 0000000..b131173 --- /dev/null +++ b/src/mainboard/google/octopus/variants/foob/overridetree.cb @@ -0,0 +1,164 @@ +chip soc/intel/apollolake + + # EMMC Tx CMD Delay + # Refer to EDS-Vol2-16.32. + # [14:8] steps of delay for DDR mode, each 125ps. + # [6:0] steps of delay for SDR mode, each 125ps. + register "emmc_tx_cmd_cntl" = "0x505" + + # EMMC TX DATA Delay 1 + # Refer to EDS-Vol2-16.33. + # [14:8] steps of delay for HS400, each 125ps. + # [6:0] steps of delay for SDR104/HS200, each 125ps. + register "emmc_tx_data_cntl1" = "0x0b0c" + + # EMMC TX DATA Delay 2 + # Refer to EDS-Vol2-16.34. + # [30:24] steps of delay for SDR50, each 125ps. + # [22:16] steps of delay for DDR50, each 125ps. + # [14:8] steps of delay for SDR25/HS50, each 125ps. + # [6:0] steps of delay for SDR12, each 125ps. + register "emmc_tx_data_cntl2" = "0x1c282929" + + # EMMC RX CMD/DATA Delay 1 + # Refer to EDS-Vol2-16.35. + # [30:24] steps of delay for SDR50, each 125ps. + # [22:16] steps of delay for DDR50, each 125ps. + # [14:8] steps of delay for SDR25/HS50, each 125ps. + # [6:0] steps of delay for SDR12, each 125ps. + register "emmc_rx_cmd_data_cntl1" = "0x00181b1b" + + # EMMC RX CMD/DATA Delay 2 + # Refer to EDS-Vol2-16.37. + # [17:16] stands for Rx Clock before Output Buffer + # [14:8] steps of delay for Auto Tuning Mode, each 125ps. + # [6:0] steps of delay for HS200, each 125ps. + register "emmc_rx_cmd_data_cntl2" = "0x10028" + + # EMMC Rx Strobe Delay + # Refer to EDS-Vol2-16.36. + # [14:8] Rx Strobe Delay DLL 1(HS400 Mode), each 125ps. + # [6:0] Rx Strobe Delay DLL 2(HS400 Mode), each 125ps. + register "emmc_rx_strobe_cntl" = "0x0b0b" + + # Intel Common SoC Config + #+-------------------+---------------------------+ + #| Field | Value | + #+-------------------+---------------------------+ + #| GSPI0 | cr50 TPM. Early init is | + #| | required to set up a BAR | + #| | for TPM communication | + #| | before memory is up | + #| I2C0 | Digitizer | + #| I2C5 | Audio | + #| I2C6 | Trackpad | + #| I2C7 | Touchscreen | + #+-------------------+---------------------------+ + register "common_soc_config" = "{ + .gspi[0] = { + .speed_mhz = 1, + .early_init = 1, + }, + .i2c[0] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 66, + .fall_time_ns = 90, + }, + .i2c[5] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 104, + .fall_time_ns = 52, + }, + .i2c[6] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 66, + .fall_time_ns = 90, + .data_hold_time_ns = 350, + }, + .i2c[7] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 76, + .fall_time_ns = 164, + }, + }" + + device domain 0 on + device pci 16.0 on + chip drivers/i2c/hid + register "generic.hid" = ""WCOM50C1"" + register "generic.desc" = ""WCOM Digitizer"" + register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_139_IRQ)" + register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)" + register "generic.reset_delay_ms" = "20" + register "generic.has_power_resource" = "1" + register "hid_desc_reg_offset" = "0x1" + device i2c 0x9 on end + end + end # - I2C 0 + device pci 17.1 on + chip drivers/i2c/da7219 + register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_137_IRQ)" + register "btn_cfg" = "50" + register "mic_det_thr" = "500" + register "jack_ins_deb" = "20" + register "jack_det_rate" = ""32ms_64ms"" + register "jack_rem_deb" = "1" + register "a_d_btn_thr" = "0xa" + register "d_b_btn_thr" = "0x16" + register "b_c_btn_thr" = "0x21" + register "c_mic_btn_thr" = "0x3e" + register "btn_avg" = "4" + register "adc_1bit_rpt" = "1" + register "micbias_lvl" = "2600" + register "mic_amp_in_sel" = ""diff"" + device i2c 1a on end + end + end # - I2C 5 + device pci 17.2 on + chip drivers/i2c/generic + register "hid" = ""ELAN0000"" + register "desc" = ""ELAN Touchpad"" + register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPIO_135_IRQ)" + register "wake" = "GPE0_DW3_27" + register "probed" = "1" + device i2c 15 on end + end + chip drivers/i2c/hid + register "generic.hid" = ""PNP0C50"" + register "generic.desc" = ""Synaptics Touchpad"" + register "generic.irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPIO_135_IRQ)" + register "generic.wake" = "GPE0_DW3_27" + register "generic.probed" = "1" + register "hid_desc_reg_offset" = "0x20" + device i2c 0x2c on end + end + end # - I2C 6 + device pci 17.3 on + chip drivers/i2c/generic + register "hid" = ""ELAN0001"" + register "desc" = ""ELAN Touchscreen"" + register "irq" = "ACPI_IRQ_EDGE_LOW(GPIO_212_IRQ)" + 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_146)" + register "enable_delay_ms" = "1" + register "has_power_resource" = "1" + device i2c 10 on end + end + chip drivers/i2c/hid + register "generic.hid" = ""SYTS7817"" + register "generic.desc" = ""Synaptics Touchscreen"" + 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_146)" + register "generic.reset_delay_ms" = "45" + register "generic.has_power_resource" = "1" + register "generic.disable_gpio_export_in_crs" = "1" + register "hid_desc_reg_offset" = "0x20" + device i2c 20 on end + end + end # - I2C 7 + end +end