Hello Tim Chen,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/35768
to review the following change.
Change subject: mb/google/octopus: Create Dood variant ......................................................................
mb/google/octopus: Create Dood variant
This commit creates a dood variant for Octopus. The initial settings override the baseboard was copied from variant bobba.
BUG=b:141960652 BRANCH=master TEST=emerge-octopus coreboot
Change-Id: Id8852e1f04f4356fac5445f6da6d56d430c88ad0 Signed-off-by: Tim Chen tim-chen@quanta.corp-partner.google.com --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/dood/Makefile.inc A src/mainboard/google/octopus/variants/dood/gpio.c A src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/dood/include/variant/ec.h A src/mainboard/google/octopus/variants/dood/include/variant/gpio.h A src/mainboard/google/octopus/variants/dood/overridetree.cb 8 files changed, 290 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/35768/1
diff --git a/src/mainboard/google/octopus/Kconfig b/src/mainboard/google/octopus/Kconfig index 8120418..5176c2c 100644 --- a/src/mainboard/google/octopus/Kconfig +++ b/src/mainboard/google/octopus/Kconfig @@ -60,6 +60,7 @@ default "bloog" if BOARD_GOOGLE_BLOOG default "octopus" if BOARD_GOOGLE_OCTOPUS default "garg" if BOARD_GOOGLE_GARG + default "dood" if BOARD_GOOGLE_DOOD
config DEVICETREE string @@ -81,6 +82,7 @@ default "Bloog" if BOARD_GOOGLE_BLOOG default "Octopus" if BOARD_GOOGLE_OCTOPUS default "Garg" if BOARD_GOOGLE_GARG + default "Dood" if BOARD_GOOGLE_DOOD
config MAINBOARD_FAMILY string diff --git a/src/mainboard/google/octopus/Kconfig.name b/src/mainboard/google/octopus/Kconfig.name index b192134..8a8d339 100644 --- a/src/mainboard/google/octopus/Kconfig.name +++ b/src/mainboard/google/octopus/Kconfig.name @@ -58,3 +58,9 @@ select BASEBOARD_OCTOPUS_LAPTOP select BOARD_GOOGLE_BASEBOARD_OCTOPUS select NHLT_DA7219 if INCLUDE_NHLT_BLOBS + +config BOARD_GOOGLE_DOOD + bool "-> Dood" + select BASEBOARD_OCTOPUS_LAPTOP + select BOARD_GOOGLE_BASEBOARD_OCTOPUS + select NHLT_DA7219 if INCLUDE_NHLT_BLOBS diff --git a/src/mainboard/google/octopus/variants/dood/Makefile.inc b/src/mainboard/google/octopus/variants/dood/Makefile.inc new file mode 100644 index 0000000..9fb63f5 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/Makefile.inc @@ -0,0 +1,3 @@ +bootblock-y += gpio.c + +ramstage-y += gpio.c diff --git a/src/mainboard/google/octopus/variants/dood/gpio.c b/src/mainboard/google/octopus/variants/dood/gpio.c new file mode 100644 index 0000000..a436240 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/gpio.c @@ -0,0 +1,37 @@ +/* + * 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> + +static const struct pad_config default_override_table[] = { + PAD_NC(GPIO_104, UP_20K), + + /* EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0, + DISPUPD), + + PAD_NC(GPIO_213, 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/dood/include/variant/acpi/dptf.asl b/src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl new file mode 100644 index 0000000..4f6497a --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/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/dood/include/variant/ec.h b/src/mainboard/google/octopus/variants/dood/include/variant/ec.h new file mode 100644 index 0000000..feb6c71 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/include/variant/ec.h @@ -0,0 +1,24 @@ +/* + * 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> + +/* Enable EC backed Keyboard Backlight in ACPI */ +#define EC_ENABLE_KEYBOARD_BACKLIGHT + +#endif diff --git a/src/mainboard/google/octopus/variants/dood/include/variant/gpio.h b/src/mainboard/google/octopus/variants/dood/include/variant/gpio.h new file mode 100644 index 0000000..750b0d4 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/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/dood/overridetree.cb b/src/mainboard/google/octopus/variants/dood/overridetree.cb new file mode 100644 index 0000000..cd26fab --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/overridetree.cb @@ -0,0 +1,181 @@ +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" = "0x0a0b" + + # 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" = "0x1c272828" + + # 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" = "0x00181b1a" + + # 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" = "0x10021" + + # 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" = "0x0a0a" + + # 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 "tcc_offset" = "10" + + register "common_soc_config" = "{ + .gspi[0] = { + .speed_mhz = 1, + .early_init = 1, + }, + .i2c[0] = { + .speed = I2C_SPEED_FAST, + .rise_time_ns = 88, + .fall_time_ns = 16, + }, + .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 = 44, + .fall_time_ns = 90, + }, + }" + + 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 + chip drivers/generic/gpio_keys + register "name" = ""PENH"" + register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPIO_145)" + register "key.dev_name" = ""EJCT"" + register "key.linux_code" = "SW_PEN_INSERTED" + register "key.linux_input_type" = "EV_SW" + register "key.label" = ""pen_eject"" + register "key.is_wakeup_source" = "1" + register "key.wake" = "GPE0_DW2_04" + register "key.wakeup_event_action" = "EV_ACT_DEASSERTED" + device generic 0 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/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 + + # Disable compliance mode + register "DisableComplianceMode" = "1" +end
Hello Sheng-Liang Pan, Tim Chen, Justin TerAvest, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35768
to look at the new patch set (#2).
Change subject: mb/google/octopus: Create Dood variant ......................................................................
mb/google/octopus: Create Dood variant
This commit creates a dood variant for Octopus. The initial settings override the baseboard was copied from variant bobba.
BUG=b:141960652 BRANCH=master TEST=emerge-octopus coreboot
Change-Id: Id8852e1f04f4356fac5445f6da6d56d430c88ad0 Signed-off-by: Tim Chen tim-chen@quanta.corp-partner.google.com --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/dood/Makefile.inc A src/mainboard/google/octopus/variants/dood/gpio.c A src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/dood/include/variant/ec.h A src/mainboard/google/octopus/variants/dood/include/variant/gpio.h A src/mainboard/google/octopus/variants/dood/overridetree.cb 8 files changed, 289 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/35768/2
Sheng-Liang Pan has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 2: Code-Review+1
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 2:
(4 comments)
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/gpio.c:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 22: static const struct pad_config default_override_table[] = { Just note that LTE specified GPIOs and early gpio table will need to be added later.
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/ec.h:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 22: #define EC_ENABLE_KEYBOARD_BACKLIGHT Will Dood need keyboard backlight?
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 55: #| I2C7 | Touchscreen | Dood is clamshell so we don't need I2C0 and I2C7?
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 110: end And pen?
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/35768/2//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/35768/2//COMMIT_MSG@13 PS2, Line 13: BRANCH=master octopus
Hello Sheng-Liang Pan, Karthik Ramasubramanian, Tim Chen, Marco Chen, Justin TerAvest, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35768
to look at the new patch set (#3).
Change subject: mb/google/octopus: Create Dood variant ......................................................................
mb/google/octopus: Create Dood variant
This commit creates a dood variant for Octopus. The initial settings override the baseboard was copied from variant bobba.
BUG=b:141960652 BRANCH=octopus TEST=emerge-octopus coreboot
Change-Id: Id8852e1f04f4356fac5445f6da6d56d430c88ad0 Signed-off-by: Tim Chen tim-chen@quanta.corp-partner.google.com --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/dood/Makefile.inc A src/mainboard/google/octopus/variants/dood/gpio.c A src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/dood/include/variant/ec.h A src/mainboard/google/octopus/variants/dood/include/variant/gpio.h A src/mainboard/google/octopus/variants/dood/overridetree.cb 8 files changed, 258 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/35768/3
Tim Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 3:
(3 comments)
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/ec.h:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 22: #define EC_ENABLE_KEYBOARD_BACKLIGHT
Will Dood need keyboard backlight?
After checking Dood does not support keyboard backlight, so remove it.
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/overridetree.cb:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 55: #| I2C7 | Touchscreen |
Dood is clamshell so we don't need I2C0 and I2C7?
Checking with our PM Dood is Yoga(360 degree) so it needs touchscreen but does not support digitizer and pen. Thank you.
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 110: end
And pen?
remove digitizer and pen.
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 3: Code-Review+1
Wait for Karthik to double check or will +2 on next Tuesday if no other concern.
Tim Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 3:
(1 comment)
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/gpio.c:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 22: static const struct pad_config default_override_table[] = {
Just note that LTE specified GPIOs and early gpio table will need to be added later.
I would like to add LTE specified GPIOs and early gpio table in seperate CL later, is that okay? Thank you.
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 3:
(1 comment)
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/gpio.c:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 22: static const struct pad_config default_override_table[] = {
I would like to add LTE specified GPIOs and early gpio table in seperate CL later, is that okay? […]
Yes, of course.
Karthik Ramasubramanian has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 3:
(4 comments)
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/gpio.c:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC This should be “Copyright 2019 The coreboot project Authors.”
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC This should be “Copyright 2019 The coreboot project Authors.”
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/ec.h:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC This should be “Copyright 2019 The coreboot project Authors.”
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/gpio.h:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC This should be “Copyright 2019 The coreboot project Authors.”
Hello Sheng-Liang Pan, Karthik Ramasubramanian, Tim Chen, Marco Chen, Justin TerAvest, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35768
to look at the new patch set (#4).
Change subject: mb/google/octopus: Create Dood variant ......................................................................
mb/google/octopus: Create Dood variant
This commit creates a dood variant for Octopus. The initial settings override the baseboard was copied from variant bobba.
BUG=b:141960652 BRANCH=octopus TEST=emerge-octopus coreboot
Change-Id: Id8852e1f04f4356fac5445f6da6d56d430c88ad0 Signed-off-by: Tim Chen tim-chen@quanta.corp-partner.google.com --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/dood/Makefile.inc A src/mainboard/google/octopus/variants/dood/gpio.c A src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/dood/include/variant/ec.h A src/mainboard/google/octopus/variants/dood/include/variant/gpio.h A src/mainboard/google/octopus/variants/dood/overridetree.cb 8 files changed, 258 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/35768/4
Tim Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4:
(4 comments)
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/gpio.c:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC
This should be “Copyright 2019 The coreboot project Authors. […]
Done
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC
This should be “Copyright 2019 The coreboot project Authors. […]
Done
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/ec.h:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC
This should be “Copyright 2019 The coreboot project Authors. […]
Done
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/include/variant/gpio.h:
https://review.coreboot.org/c/coreboot/+/35768/3/src/mainboard/google/octopu... PS3, Line 4: Copyright 2019 Google LLC
This should be “Copyright 2019 The coreboot project Authors. […]
Done
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4: Code-Review+2
Tim Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4:
If there are no other concerns could we have this CL merged? Thanks.
Karthik Ramasubramanian has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4: Code-Review+2
Tim Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4:
Please kindly help to cherry pick this CL to chromium git. Or we need to wait for bot to do this? We may need to use fw with this CL at 10/25. Thank you.
Marco Chen has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4:
Let me pin internally and check again on next Monday.
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4: Code-Review+2
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
Patch Set 4:
(2 comments)
https://review.coreboot.org/c/coreboot/+/35768/2//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/35768/2//COMMIT_MSG@13 PS2, Line 13: BRANCH=master
octopus
Done
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... File src/mainboard/google/octopus/variants/dood/gpio.c:
https://review.coreboot.org/c/coreboot/+/35768/2/src/mainboard/google/octopu... PS2, Line 22: static const struct pad_config default_override_table[] = {
Yes, of course.
Done
Martin Roth has submitted this change. ( https://review.coreboot.org/c/coreboot/+/35768 )
Change subject: mb/google/octopus: Create Dood variant ......................................................................
mb/google/octopus: Create Dood variant
This commit creates a dood variant for Octopus. The initial settings override the baseboard was copied from variant bobba.
BUG=b:141960652 BRANCH=octopus TEST=emerge-octopus coreboot
Change-Id: Id8852e1f04f4356fac5445f6da6d56d430c88ad0 Signed-off-by: Tim Chen tim-chen@quanta.corp-partner.google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/35768 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Marco Chen marcochen@google.com Reviewed-by: Karthik Ramasubramanian kramasub@google.com Reviewed-by: Martin Roth martinroth@google.com --- M src/mainboard/google/octopus/Kconfig M src/mainboard/google/octopus/Kconfig.name A src/mainboard/google/octopus/variants/dood/Makefile.inc A src/mainboard/google/octopus/variants/dood/gpio.c A src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl A src/mainboard/google/octopus/variants/dood/include/variant/ec.h A src/mainboard/google/octopus/variants/dood/include/variant/gpio.h A src/mainboard/google/octopus/variants/dood/overridetree.cb 8 files changed, 258 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Martin Roth: Looks good to me, approved Marco Chen: Looks good to me, approved Karthik Ramasubramanian: Looks good to me, approved
diff --git a/src/mainboard/google/octopus/Kconfig b/src/mainboard/google/octopus/Kconfig index c13d7f8..7b07c2c 100644 --- a/src/mainboard/google/octopus/Kconfig +++ b/src/mainboard/google/octopus/Kconfig @@ -60,6 +60,7 @@ default "bloog" if BOARD_GOOGLE_BLOOG default "octopus" if BOARD_GOOGLE_OCTOPUS default "garg" if BOARD_GOOGLE_GARG + default "dood" if BOARD_GOOGLE_DOOD
config DEVICETREE string @@ -81,6 +82,7 @@ default "Bloog" if BOARD_GOOGLE_BLOOG default "Octopus" if BOARD_GOOGLE_OCTOPUS default "Garg" if BOARD_GOOGLE_GARG + default "Dood" if BOARD_GOOGLE_DOOD
config MAINBOARD_FAMILY string diff --git a/src/mainboard/google/octopus/Kconfig.name b/src/mainboard/google/octopus/Kconfig.name index b192134..8a8d339 100644 --- a/src/mainboard/google/octopus/Kconfig.name +++ b/src/mainboard/google/octopus/Kconfig.name @@ -58,3 +58,9 @@ select BASEBOARD_OCTOPUS_LAPTOP select BOARD_GOOGLE_BASEBOARD_OCTOPUS select NHLT_DA7219 if INCLUDE_NHLT_BLOBS + +config BOARD_GOOGLE_DOOD + bool "-> Dood" + select BASEBOARD_OCTOPUS_LAPTOP + select BOARD_GOOGLE_BASEBOARD_OCTOPUS + select NHLT_DA7219 if INCLUDE_NHLT_BLOBS diff --git a/src/mainboard/google/octopus/variants/dood/Makefile.inc b/src/mainboard/google/octopus/variants/dood/Makefile.inc new file mode 100644 index 0000000..9fb63f5 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/Makefile.inc @@ -0,0 +1,3 @@ +bootblock-y += gpio.c + +ramstage-y += gpio.c diff --git a/src/mainboard/google/octopus/variants/dood/gpio.c b/src/mainboard/google/octopus/variants/dood/gpio.c new file mode 100644 index 0000000..05a05f6 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/gpio.c @@ -0,0 +1,37 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 The coreboot project Authors. + * + * 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> + +static const struct pad_config default_override_table[] = { + PAD_NC(GPIO_104, UP_20K), + + /* EN_PP3300_TOUCHSCREEN */ + PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0, + DISPUPD), + + PAD_NC(GPIO_213, 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/dood/include/variant/acpi/dptf.asl b/src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl new file mode 100644 index 0000000..1406d34 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/include/variant/acpi/dptf.asl @@ -0,0 +1,16 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 The coreboot project Authors. + * + * 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/dood/include/variant/ec.h b/src/mainboard/google/octopus/variants/dood/include/variant/ec.h new file mode 100644 index 0000000..a8640cd --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/include/variant/ec.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 The coreboot project Authors. + * + * 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/dood/include/variant/gpio.h b/src/mainboard/google/octopus/variants/dood/include/variant/gpio.h new file mode 100644 index 0000000..d7e9ddb --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/include/variant/gpio.h @@ -0,0 +1,21 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 The coreboot project Authors. + * + * 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/dood/overridetree.cb b/src/mainboard/google/octopus/variants/dood/overridetree.cb new file mode 100644 index 0000000..6df9f53 --- /dev/null +++ b/src/mainboard/google/octopus/variants/dood/overridetree.cb @@ -0,0 +1,152 @@ +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" = "0x0a0b" + + # 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" = "0x1c272828" + + # 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" = "0x00181b1a" + + # 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" = "0x10021" + + # 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" = "0x0a0a" + + # 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 | + #| I2C5 | Audio | + #| I2C6 | Trackpad | + #| I2C7 | Touchscreen | + #+-------------------+---------------------------+ + + register "tcc_offset" = "10" + + register "common_soc_config" = "{ + .gspi[0] = { + .speed_mhz = 1, + .early_init = 1, + }, + .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 = 44, + .fall_time_ns = 90, + }, + }" + + device domain 0 on + device pci 16.0 off 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/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 + + # Disable compliance mode + register "DisableComplianceMode" = "1" +end