mb/google/deltaur: Remove mainboard from tree
This board never made it to production, and development on it has long since stopped; it is a maintenance burden, therefore drop it from the tree. Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Change-Id: Ieb12a95ff56c3437cb88df8ef3f6ae115ad53446 Reviewed-on: https://review.coreboot.org/c/coreboot/+/64056 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
parent
35f73bcce1
commit
da958d679d
|
@ -73,8 +73,6 @@
|
||||||
- Ultima (Lenovo Yoga 11e G3)
|
- Ultima (Lenovo Yoga 11e G3)
|
||||||
- Wizpig
|
- Wizpig
|
||||||
- Daisy (Samsung Chromebook (2012))
|
- Daisy (Samsung Chromebook (2012))
|
||||||
- Deltan
|
|
||||||
- Deltaur
|
|
||||||
- Drallion
|
- Drallion
|
||||||
- Eve (Google Pixelbook)
|
- Eve (Google Pixelbook)
|
||||||
- Fizz
|
- Fizz
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
config BOARD_GOOGLE_BASEBOARD_DELTAUR
|
|
||||||
def_bool n
|
|
||||||
select BOARD_ROMSIZE_KB_32768
|
|
||||||
select DRIVERS_I2C_GENERIC
|
|
||||||
select DRIVERS_I2C_HID
|
|
||||||
select DRIVERS_INTEL_ISH
|
|
||||||
select DRIVERS_SPI_ACPI
|
|
||||||
select DRIVERS_USB_ACPI
|
|
||||||
select EC_GOOGLE_WILCO
|
|
||||||
select HAVE_ACPI_RESUME
|
|
||||||
select HAVE_ACPI_TABLES
|
|
||||||
select I2C_TPM
|
|
||||||
select INTEL_LPSS_UART_FOR_CONSOLE
|
|
||||||
select MAINBOARD_HAS_CHROMEOS
|
|
||||||
select MAINBOARD_HAS_TPM2
|
|
||||||
select MAINBOARD_USES_IFD_EC_REGION
|
|
||||||
select SOC_INTEL_COMMON_BLOCK_HDA_VERB
|
|
||||||
select SOC_INTEL_TIGERLAKE
|
|
||||||
select SYSTEM_TYPE_LAPTOP
|
|
||||||
select TPM_GOOGLE_CR50
|
|
||||||
|
|
||||||
config BOARD_GOOGLE_DELTAN
|
|
||||||
select BOARD_GOOGLE_BASEBOARD_DELTAUR
|
|
||||||
select MAINBOARD_USES_IFD_GBE_REGION
|
|
||||||
|
|
||||||
config BOARD_GOOGLE_DELTAUR
|
|
||||||
select BOARD_GOOGLE_BASEBOARD_DELTAUR
|
|
||||||
|
|
||||||
if BOARD_GOOGLE_BASEBOARD_DELTAUR
|
|
||||||
|
|
||||||
config CHROMEOS
|
|
||||||
select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
|
|
||||||
select GBB_FLAG_FORCE_DEV_BOOT_ALTFW
|
|
||||||
select GBB_FLAG_FORCE_DEV_BOOT_USB
|
|
||||||
select GBB_FLAG_FORCE_DEV_SWITCH_ON
|
|
||||||
|
|
||||||
config DEVICETREE
|
|
||||||
default "variants/baseboard/devicetree.cb"
|
|
||||||
|
|
||||||
config DRIVER_TPM_I2C_BUS
|
|
||||||
hex
|
|
||||||
default 0x3
|
|
||||||
|
|
||||||
config DRIVER_TPM_I2C_ADDR
|
|
||||||
hex
|
|
||||||
default 0x50
|
|
||||||
|
|
||||||
config FMDFILE
|
|
||||||
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-gbe.fmd" if BOARD_GOOGLE_DELTAN
|
|
||||||
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if BOARD_GOOGLE_DELTAUR
|
|
||||||
|
|
||||||
config OVERRIDE_DEVICETREE
|
|
||||||
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
|
|
||||||
|
|
||||||
config POWER_OFF_ON_CR50_UPDATE
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
|
||||||
default "google/deltaur"
|
|
||||||
|
|
||||||
config MAINBOARD_FAMILY
|
|
||||||
string
|
|
||||||
default "Google_Deltaur"
|
|
||||||
|
|
||||||
config MAINBOARD_PART_NUMBER
|
|
||||||
default "Deltan" if BOARD_GOOGLE_DELTAN
|
|
||||||
default "Deltaur" if BOARD_GOOGLE_DELTAUR
|
|
||||||
|
|
||||||
config TPM_TIS_ACPI_INTERRUPT
|
|
||||||
int
|
|
||||||
default 23 # GPE0_DW0_23 (GPP_C23)
|
|
||||||
|
|
||||||
config UART_FOR_CONSOLE
|
|
||||||
int
|
|
||||||
default 2
|
|
||||||
|
|
||||||
config VARIANT_DIR
|
|
||||||
default "deltan" if BOARD_GOOGLE_DELTAN
|
|
||||||
default "deltaur" if BOARD_GOOGLE_DELTAUR
|
|
||||||
|
|
||||||
config VBOOT
|
|
||||||
select HAS_RECOVERY_MRC_CACHE
|
|
||||||
select VBOOT_LID_SWITCH
|
|
||||||
|
|
||||||
endif # BOARD_GOOGLE_BASEBOARD_DELTAUR
|
|
|
@ -1,7 +0,0 @@
|
||||||
comment "Deltaur"
|
|
||||||
|
|
||||||
config BOARD_GOOGLE_DELTAN
|
|
||||||
bool "-> Deltan"
|
|
||||||
|
|
||||||
config BOARD_GOOGLE_DELTAUR
|
|
||||||
bool "-> Deltaur"
|
|
|
@ -1,26 +0,0 @@
|
||||||
## SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
bootblock-y += bootblock.c
|
|
||||||
bootblock-$(CONFIG_CHROMEOS) += chromeos.c
|
|
||||||
bootblock-y += ec.c
|
|
||||||
|
|
||||||
romstage-y += romstage.c
|
|
||||||
romstage-$(CONFIG_CHROMEOS) += chromeos.c
|
|
||||||
romstage-y += ec.c
|
|
||||||
|
|
||||||
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
|
|
||||||
ramstage-y += ec.c
|
|
||||||
ramstage-y += mainboard.c
|
|
||||||
ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB) += hda_verb.c
|
|
||||||
|
|
||||||
verstage-$(CONFIG_CHROMEOS) += chromeos.c
|
|
||||||
verstage-y += ec.c
|
|
||||||
|
|
||||||
subdirs-y += variants/baseboard
|
|
||||||
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/baseboard/include
|
|
||||||
|
|
||||||
VARIANT_DIR:=$(call strip_quotes,$(CONFIG_VARIANT_DIR))
|
|
||||||
subdirs-y += variants/$(VARIANT_DIR)
|
|
||||||
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include
|
|
||||||
|
|
||||||
subdirs-y += spd
|
|
|
@ -1,6 +0,0 @@
|
||||||
Vendor name: Google
|
|
||||||
Board name: Deltaur
|
|
||||||
Category: laptop
|
|
||||||
ROM protocol: SPI
|
|
||||||
ROM socketed: n
|
|
||||||
Flashrom support: y
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <bootblock_common.h>
|
|
||||||
#include <ec/google/wilco/bootblock.h>
|
|
||||||
#include <soc/gpio.h>
|
|
||||||
#include <variant/gpio.h>
|
|
||||||
|
|
||||||
static void early_config_gpio(void)
|
|
||||||
{
|
|
||||||
const struct pad_config *early_gpio_table;
|
|
||||||
size_t num_gpios = 0;
|
|
||||||
|
|
||||||
early_gpio_table = variant_early_gpio_table(&num_gpios);
|
|
||||||
gpio_configure_pads(early_gpio_table, num_gpios);
|
|
||||||
}
|
|
||||||
|
|
||||||
void bootblock_mainboard_init(void)
|
|
||||||
{
|
|
||||||
early_config_gpio();
|
|
||||||
wilco_ec_early_init();
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
FLASH@0xfe000000 0x2000000 {
|
|
||||||
SI_ALL@0x0 0x606000 {
|
|
||||||
SI_DESC@0x0 0x1000
|
|
||||||
SI_EC@0x1000 0x100000
|
|
||||||
SI_GBE(PRESERVE)@0x101000 0x2000
|
|
||||||
SI_ME@0x103000 0x4ff000
|
|
||||||
SI_PDR(PRESERVE)@0x602000 0x4000
|
|
||||||
}
|
|
||||||
SI_BIOS@0x606000 0x19fa000 {
|
|
||||||
RW_DIAG@0x0 0x9fa000 {
|
|
||||||
RW_LEGACY(CBFS)@0x0 0x9ea000
|
|
||||||
DIAG_NVRAM@0x9ea000 0x10000
|
|
||||||
}
|
|
||||||
RW_SECTION_A@0x10ca000 0x280000 {
|
|
||||||
VBLOCK_A@0x0 0x10000
|
|
||||||
FW_MAIN_A(CBFS)@0x10000 0x26ffc0
|
|
||||||
RW_FWID_A@0x27ffc0 0x40
|
|
||||||
}
|
|
||||||
RW_SECTION_B@0x134a000 0x280000 {
|
|
||||||
VBLOCK_B@0x0 0x10000
|
|
||||||
FW_MAIN_B(CBFS)@0x10000 0x26ffc0
|
|
||||||
RW_FWID_B@0x27ffc0 0x40
|
|
||||||
}
|
|
||||||
RW_MISC@0x15ca000 0x30000 {
|
|
||||||
UNIFIED_MRC_CACHE@0x0 0x20000 {
|
|
||||||
RECOVERY_MRC_CACHE@0x0 0x10000
|
|
||||||
RW_MRC_CACHE@0x10000 0x10000
|
|
||||||
}
|
|
||||||
RW_ELOG(PRESERVE)@0x20000 0x4000
|
|
||||||
RW_SHARED@0x24000 0x4000 {
|
|
||||||
SHARED_DATA@0x0 0x2000
|
|
||||||
VBLOCK_DEV@0x2000 0x2000
|
|
||||||
}
|
|
||||||
RW_VPD(PRESERVE)@0x28000 0x2000
|
|
||||||
RW_NVRAM(PRESERVE)@0x2a000 0x6000
|
|
||||||
}
|
|
||||||
WP_RO@0x15fa000 0x400000 {
|
|
||||||
RO_VPD(PRESERVE)@0x0 0x4000
|
|
||||||
RO_UNUSED@0x4000 0xc000
|
|
||||||
RO_SECTION@0x10000 0x3f0000 {
|
|
||||||
FMAP@0x0 0x800
|
|
||||||
RO_FRID@0x800 0x40
|
|
||||||
RO_FRID_PAD@0x840 0x7c0
|
|
||||||
GBB@0x1000 0x3000
|
|
||||||
COREBOOT(CBFS)@0x4000 0x3ec000
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,96 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
#include <bootmode.h>
|
|
||||||
#include <boot/coreboot_tables.h>
|
|
||||||
#include <gpio.h>
|
|
||||||
#include <soc/gpio.h>
|
|
||||||
#include <variant/gpio.h>
|
|
||||||
#include <types.h>
|
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
|
||||||
#include <security/tpm/tss.h>
|
|
||||||
#include <device/device.h>
|
|
||||||
#include <intelblocks/pmclib.h>
|
|
||||||
#include <soc/pmc.h>
|
|
||||||
#include <soc/pci_devs.h>
|
|
||||||
|
|
||||||
enum rec_mode_state {
|
|
||||||
REC_MODE_UNINITIALIZED,
|
|
||||||
REC_MODE_NOT_REQUESTED,
|
|
||||||
REC_MODE_REQUESTED,
|
|
||||||
};
|
|
||||||
|
|
||||||
void fill_lb_gpios(struct lb_gpios *gpios)
|
|
||||||
{
|
|
||||||
struct lb_gpio chromeos_gpios[] = {
|
|
||||||
{-1, ACTIVE_HIGH, get_lid_switch(), "lid"},
|
|
||||||
{-1, ACTIVE_HIGH, 0, "power"},
|
|
||||||
{-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},
|
|
||||||
{-1, ACTIVE_HIGH, 0, "EC in RW"},
|
|
||||||
};
|
|
||||||
lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));
|
|
||||||
}
|
|
||||||
|
|
||||||
int get_write_protect_state(void)
|
|
||||||
{
|
|
||||||
return gpio_get(GPIO_PCH_WP);
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool raw_get_recovery_mode_switch(void)
|
|
||||||
{
|
|
||||||
return !gpio_get(GPIO_REC_MODE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int get_recovery_mode_switch(void)
|
|
||||||
{
|
|
||||||
static enum rec_mode_state saved_rec_mode = REC_MODE_UNINITIALIZED;
|
|
||||||
enum rec_mode_state state = REC_MODE_NOT_REQUESTED;
|
|
||||||
uint8_t cr50_state = 0;
|
|
||||||
|
|
||||||
/* Check cached state, since TPM will only tell us the first time */
|
|
||||||
if (saved_rec_mode != REC_MODE_UNINITIALIZED)
|
|
||||||
return saved_rec_mode == REC_MODE_REQUESTED;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Read one-time recovery request from cr50 in verstage only since
|
|
||||||
* the TPM driver won't be set up in time for other stages like romstage
|
|
||||||
* and the value from the TPM would be wrong anyway since the verstage
|
|
||||||
* read would have cleared the value on the TPM.
|
|
||||||
*
|
|
||||||
* The TPM recovery request is passed between stages through vboot data
|
|
||||||
* or cbmem depending on stage.
|
|
||||||
*/
|
|
||||||
if (ENV_SEPARATE_VERSTAGE &&
|
|
||||||
tlcl_cr50_get_recovery_button(&cr50_state) == TPM_SUCCESS &&
|
|
||||||
cr50_state)
|
|
||||||
state = REC_MODE_REQUESTED;
|
|
||||||
|
|
||||||
/* Read state from the GPIO controlled by servo. */
|
|
||||||
if (raw_get_recovery_mode_switch())
|
|
||||||
state = REC_MODE_REQUESTED;
|
|
||||||
|
|
||||||
/* Store the state in case this is called again in verstage. */
|
|
||||||
saved_rec_mode = state;
|
|
||||||
|
|
||||||
return state == REC_MODE_REQUESTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
int get_lid_switch(void)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void mainboard_prepare_cr50_reset(void)
|
|
||||||
{
|
|
||||||
/* Ensure system powers up after CR50 reset */
|
|
||||||
if (ENV_RAMSTAGE)
|
|
||||||
pmc_soc_set_afterg3_en(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
int get_ec_is_trusted(void)
|
|
||||||
{
|
|
||||||
/* Do not have a Chrome EC involved in entering recovery mode;
|
|
||||||
Always return trusted. */
|
|
||||||
return 1;
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
FLASH@0xfe000000 0x2000000 {
|
|
||||||
SI_ALL@0x0 0x606000 {
|
|
||||||
SI_DESC@0x0 0x1000
|
|
||||||
SI_EC@0x1000 0x100000
|
|
||||||
SI_ME@0x101000 0x501000
|
|
||||||
SI_PDR(PRESERVE)@0x602000 0x4000
|
|
||||||
}
|
|
||||||
SI_BIOS@0x606000 0x19fa000 {
|
|
||||||
RW_DIAG@0x0 0x9fa000 {
|
|
||||||
RW_LEGACY(CBFS)@0x0 0x9ea000
|
|
||||||
DIAG_NVRAM@0x9ea000 0x10000
|
|
||||||
}
|
|
||||||
RW_SECTION_A@0x10ca000 0x280000 {
|
|
||||||
VBLOCK_A@0x0 0x10000
|
|
||||||
FW_MAIN_A(CBFS)@0x10000 0x26ffc0
|
|
||||||
RW_FWID_A@0x27ffc0 0x40
|
|
||||||
}
|
|
||||||
RW_SECTION_B@0x134a000 0x280000 {
|
|
||||||
VBLOCK_B@0x0 0x10000
|
|
||||||
FW_MAIN_B(CBFS)@0x10000 0x26ffc0
|
|
||||||
RW_FWID_B@0x27ffc0 0x40
|
|
||||||
}
|
|
||||||
RW_MISC@0x15ca000 0x30000 {
|
|
||||||
UNIFIED_MRC_CACHE@0x0 0x20000 {
|
|
||||||
RECOVERY_MRC_CACHE@0x0 0x10000
|
|
||||||
RW_MRC_CACHE@0x10000 0x10000
|
|
||||||
}
|
|
||||||
RW_ELOG(PRESERVE)@0x20000 0x4000
|
|
||||||
RW_SHARED@0x24000 0x4000 {
|
|
||||||
SHARED_DATA@0x0 0x2000
|
|
||||||
VBLOCK_DEV@0x2000 0x2000
|
|
||||||
}
|
|
||||||
RW_VPD(PRESERVE)@0x28000 0x2000
|
|
||||||
RW_NVRAM(PRESERVE)@0x2a000 0x6000
|
|
||||||
}
|
|
||||||
WP_RO@0x15fa000 0x400000 {
|
|
||||||
RO_VPD(PRESERVE)@0x0 0x4000
|
|
||||||
RO_UNUSED@0x4000 0xc000
|
|
||||||
RO_SECTION@0x10000 0x3f0000 {
|
|
||||||
FMAP@0x0 0x800
|
|
||||||
RO_FRID@0x800 0x40
|
|
||||||
RO_FRID_PAD@0x840 0x7c0
|
|
||||||
GBB@0x1000 0x3000
|
|
||||||
COREBOOT(CBFS)@0x4000 0x3ec000
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <acpi/acpi.h>
|
|
||||||
#include "variant/ec.h"
|
|
||||||
#include "variant/gpio.h"
|
|
||||||
|
|
||||||
DefinitionBlock(
|
|
||||||
"dsdt.aml",
|
|
||||||
"DSDT",
|
|
||||||
ACPI_DSDT_REV_2,
|
|
||||||
OEM_ID,
|
|
||||||
ACPI_TABLE_CREATOR,
|
|
||||||
0x20110725 /* OEM revision */
|
|
||||||
)
|
|
||||||
{
|
|
||||||
#include <acpi/dsdt_top.asl>
|
|
||||||
#include <soc/intel/common/block/acpi/acpi/platform.asl>
|
|
||||||
|
|
||||||
/* global NVS and variables */
|
|
||||||
#include <soc/intel/common/block/acpi/acpi/globalnvs.asl>
|
|
||||||
|
|
||||||
#include <cpu/intel/common/acpi/cpu.asl>
|
|
||||||
|
|
||||||
Scope (\_SB) {
|
|
||||||
Device (PCI0)
|
|
||||||
{
|
|
||||||
#include <soc/intel/common/block/acpi/acpi/northbridge.asl>
|
|
||||||
#include <soc/intel/tigerlake/acpi/southbridge.asl>
|
|
||||||
#include <soc/intel/tigerlake/acpi/tcss.asl>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Chrome OS Embedded Controller */
|
|
||||||
Scope (\_SB.PCI0.LPCB)
|
|
||||||
{
|
|
||||||
/* ACPI code for EC SuperIO functions */
|
|
||||||
#include <ec/google/wilco/acpi/superio.asl>
|
|
||||||
/* ACPI code for EC functions */
|
|
||||||
#include <ec/google/wilco/acpi/ec.asl>
|
|
||||||
}
|
|
||||||
|
|
||||||
#include <southbridge/intel/common/acpi/sleepstates.asl>
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <console/console.h>
|
|
||||||
#include <ec/google/wilco/commands.h>
|
|
||||||
#include <variant/ec.h>
|
|
||||||
|
|
||||||
void mainboard_post(uint8_t value)
|
|
||||||
{
|
|
||||||
wilco_ec_save_post_code(value);
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
#include "baseboard/hda_verb.h"
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <device/device.h>
|
|
||||||
#include <soc/gpio.h>
|
|
||||||
#include <variant/gpio.h>
|
|
||||||
|
|
||||||
static void mainboard_chip_init(void *chip_info)
|
|
||||||
{
|
|
||||||
const struct pad_config *base_pads;
|
|
||||||
const struct pad_config *override_pads;
|
|
||||||
size_t base_num, override_num;
|
|
||||||
|
|
||||||
base_pads = variant_base_gpio_table(&base_num);
|
|
||||||
override_pads = variant_override_gpio_table(&override_num);
|
|
||||||
|
|
||||||
gpio_configure_pads_with_override(base_pads, base_num, override_pads, override_num);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
|
||||||
.init = mainboard_chip_init,
|
|
||||||
};
|
|
|
@ -1,9 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <soc/romstage.h>
|
|
||||||
|
|
||||||
void mainboard_memory_init_params(FSPM_UPD *mupd)
|
|
||||||
{
|
|
||||||
variant_memory_init(mupd);
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <cpu/x86/smm.h>
|
|
||||||
#include <ec/google/wilco/smm.h>
|
|
||||||
#include <intelblocks/smihandler.h>
|
|
||||||
#include <variant/ec.h>
|
|
||||||
|
|
||||||
void mainboard_smi_espi_handler(void)
|
|
||||||
{
|
|
||||||
wilco_ec_smi_espi();
|
|
||||||
}
|
|
||||||
|
|
||||||
void mainboard_smi_sleep(u8 slp_typ)
|
|
||||||
{
|
|
||||||
wilco_ec_smi_sleep(slp_typ);
|
|
||||||
}
|
|
||||||
|
|
||||||
int mainboard_smi_apmc(u8 apmc)
|
|
||||||
{
|
|
||||||
wilco_ec_smi_apmc(apmc);
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
## SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
bootblock-y += gpio.c
|
|
||||||
|
|
||||||
ramstage-y += gpio.c
|
|
||||||
ramstage-y += sku.c
|
|
||||||
|
|
||||||
verstage-y += gpio.c
|
|
|
@ -1,298 +0,0 @@
|
||||||
chip soc/intel/tigerlake
|
|
||||||
|
|
||||||
# GPE configuration
|
|
||||||
# Note that GPE events called out in ASL code rely on this
|
|
||||||
# route. i.e. If this route changes then the affected GPE
|
|
||||||
# offset bits also need to be changed.
|
|
||||||
|
|
||||||
# TODO: Figure out GPE DW1&2
|
|
||||||
register "pmc_gpe0_dw0" = "GPP_C"
|
|
||||||
register "pmc_gpe0_dw1" = "GPP_E"
|
|
||||||
#register "pmc_gpe0_dw2" = "??"
|
|
||||||
|
|
||||||
# Wilco EC host command ranges
|
|
||||||
register "gen1_dec" = "0x00040931" # 0x930-0x937
|
|
||||||
register "gen2_dec" = "0x00040941" # 0x940-0x947
|
|
||||||
register "gen3_dec" = "0x000c0951" # 0x950-0x95f
|
|
||||||
|
|
||||||
register "s0ix_enable" = "1"
|
|
||||||
|
|
||||||
# TODO: not yet
|
|
||||||
register "dptf_enable" = "0"
|
|
||||||
|
|
||||||
register "tcc_offset" = "0"
|
|
||||||
|
|
||||||
# FSP configuration
|
|
||||||
register "SaGv" = "SaGv_Disabled"
|
|
||||||
|
|
||||||
register "SataSalpSupport" = "1"
|
|
||||||
|
|
||||||
# TODO: the lengths are all MID for right now.
|
|
||||||
register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC_SKIP)" # Type-C Port 1
|
|
||||||
register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC_SKIP)" # Type-C Port 2
|
|
||||||
register "usb2_ports[2]" = "USB2_PORT_MID(OC0)" # Ext USB Port 1 (Right)
|
|
||||||
register "usb2_ports[3]" = "USB2_PORT_MID(OC1)" # Ext USB Port 2 (Left)
|
|
||||||
register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # Camera
|
|
||||||
register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # M.2 3042 (WWAN)
|
|
||||||
register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # USH
|
|
||||||
register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # BT
|
|
||||||
|
|
||||||
register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # Ext USB Port 1
|
|
||||||
register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC1)" # Ext USB Port 2
|
|
||||||
register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # WWAN
|
|
||||||
|
|
||||||
# PCIe root port 7 (Card Reader), clock 4
|
|
||||||
register "PcieRpEnable[6]" = "1"
|
|
||||||
register "PcieClkSrcUsage[4]" = "6"
|
|
||||||
register "PcieClkSrcClkReq[4]" = "4"
|
|
||||||
|
|
||||||
# PCIe root port 9 (NVMe), clock 2
|
|
||||||
register "PcieRpEnable[8]" = "1"
|
|
||||||
register "PcieClkSrcUsage[2]" = "8"
|
|
||||||
register "PcieClkSrcClkReq[2]" = "2"
|
|
||||||
register "PcieRpSlotImplemented[8]" = "1"
|
|
||||||
|
|
||||||
# Mark unused SRCCLKREQs as so
|
|
||||||
register "PcieClkSrcUsage[0]" = "PCIE_CLK_NOTUSED"
|
|
||||||
register "PcieClkSrcUsage[5]" = "PCIE_CLK_NOTUSED"
|
|
||||||
register "PcieClkSrcUsage[6]" = "PCIE_CLK_NOTUSED"
|
|
||||||
|
|
||||||
# Intel Common SoC Config
|
|
||||||
#+-------------------+---------------------------+
|
|
||||||
#| Field | Value |
|
|
||||||
#+-------------------+---------------------------+
|
|
||||||
#| I2C0 | Touchscreen |
|
|
||||||
#| I2C1 | Touchpad |
|
|
||||||
#| I2C2 | ISH ? |
|
|
||||||
#| I2C3 | cr50 TPM |
|
|
||||||
#| I2C5 | ISH ? |
|
|
||||||
#+-------------------+---------------------------+
|
|
||||||
register "common_soc_config" = "{
|
|
||||||
.i2c[0] = {
|
|
||||||
.speed = I2C_SPEED_FAST,
|
|
||||||
},
|
|
||||||
.i2c[1] = {
|
|
||||||
.speed = I2C_SPEED_FAST,
|
|
||||||
},
|
|
||||||
.i2c[2] = {
|
|
||||||
.speed = I2C_SPEED_FAST,
|
|
||||||
},
|
|
||||||
.i2c[3] = {
|
|
||||||
.speed = I2C_SPEED_FAST,
|
|
||||||
.early_init = 1,
|
|
||||||
},
|
|
||||||
.i2c[5] = {
|
|
||||||
.speed = I2C_SPEED_FAST,
|
|
||||||
},
|
|
||||||
}"
|
|
||||||
|
|
||||||
register "SerialIoI2cMode" = "{
|
|
||||||
[PchSerialIoIndexI2C0] = PchSerialIoPci,
|
|
||||||
[PchSerialIoIndexI2C1] = PchSerialIoPci,
|
|
||||||
[PchSerialIoIndexI2C2] = PchSerialIoPci,
|
|
||||||
[PchSerialIoIndexI2C3] = PchSerialIoPci,
|
|
||||||
[PchSerialIoIndexI2C4] = PchSerialIoDisabled,
|
|
||||||
[PchSerialIoIndexI2C5] = PchSerialIoPci,
|
|
||||||
}"
|
|
||||||
|
|
||||||
register "SerialIoUartMode" = "{
|
|
||||||
[PchSerialIoIndexUART0] = PchSerialIoDisabled,
|
|
||||||
[PchSerialIoIndexUART1] = PchSerialIoDisabled,
|
|
||||||
[PchSerialIoIndexUART2] = PchSerialIoPci,
|
|
||||||
}"
|
|
||||||
|
|
||||||
register "SerialIoGSpiMode" = "{
|
|
||||||
[PchSerialIoIndexGSPI0] = PchSerialIoDisabled,
|
|
||||||
[PchSerialIoIndexGSPI1] = PchSerialIoDisabled,
|
|
||||||
[PchSerialIoIndexGSPI2] = PchSerialIoDisabled,
|
|
||||||
[PchSerialIoIndexGSPI3] = PchSerialIoDisabled,
|
|
||||||
}"
|
|
||||||
|
|
||||||
# HD Audio
|
|
||||||
register "PchHdaAudioLinkHdaEnable" = "1"
|
|
||||||
register "PchHdaIDispCodecDisconnect" = "1"
|
|
||||||
|
|
||||||
# TCSS USB3
|
|
||||||
register "TcssXhciEn" = "1"
|
|
||||||
|
|
||||||
# DisplayPort
|
|
||||||
register "DdiPortAConfig" = "DDI_PORT_CFG_EDP"
|
|
||||||
register "DdiPortAHpd" = "1"
|
|
||||||
|
|
||||||
# Disable PM to allow for shorter irq pulses
|
|
||||||
register "gpio_override_pm" = "1"
|
|
||||||
register "gpio_pm[0]" = "0"
|
|
||||||
register "gpio_pm[1]" = "0"
|
|
||||||
register "gpio_pm[2]" = "0"
|
|
||||||
register "gpio_pm[3]" = "0"
|
|
||||||
register "gpio_pm[4]" = "0"
|
|
||||||
|
|
||||||
device domain 0 on
|
|
||||||
device pci 00.0 on end # Host Bridge
|
|
||||||
device pci 02.0 on end # Graphics
|
|
||||||
device pci 04.0 off end # DPTF
|
|
||||||
device pci 05.0 off end # IPU
|
|
||||||
device pci 06.0 off end # PEG60
|
|
||||||
device pci 07.0 on end # TBT_PCIe0
|
|
||||||
device pci 07.1 on end # TBT_PCIe0
|
|
||||||
device pci 07.2 on end # TBT_PCIe0
|
|
||||||
device pci 07.3 on end # TBT_PCIe0
|
|
||||||
device pci 08.0 on end # GNA
|
|
||||||
device pci 09.0 off end # NPK
|
|
||||||
device pci 0a.0 off end # Crash-log SRAM
|
|
||||||
device pci 0d.0 on end # USB xHCI
|
|
||||||
device pci 0d.1 off end # USB xDCI
|
|
||||||
device pci 0d.2 off end # TBT DMA0
|
|
||||||
device pci 0d.3 off end # TBT DMA1
|
|
||||||
device pci 0e.0 off end # VMD
|
|
||||||
|
|
||||||
device pci 10.0 off end # THC #0
|
|
||||||
device pci 10.1 off end # THC #1
|
|
||||||
device pci 10.2 on end # CNVi Bluetooth
|
|
||||||
device pci 11.0 off end # UART #3
|
|
||||||
device pci 11.1 off end # UART4
|
|
||||||
device pci 11.2 off end # UART5
|
|
||||||
device pci 11.3 off end # UART6
|
|
||||||
|
|
||||||
device pci 12.0 on end # ISH
|
|
||||||
device pci 12.6 off end # GSPI #2
|
|
||||||
device pci 13.0 off end # GSPI #3
|
|
||||||
device pci 13.1 off end # GSPI #4
|
|
||||||
device pci 13.2 off end # GSPI #5
|
|
||||||
device pci 13.3 off end # GSPI #6
|
|
||||||
|
|
||||||
device pci 14.0 on
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Root Hub""
|
|
||||||
register "type" = "UPC_TYPE_HUB"
|
|
||||||
device usb 0.0 on
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Type-C Port 1""
|
|
||||||
register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
|
|
||||||
register "group" = "ACPI_PLD_GROUP(1, 1)"
|
|
||||||
device usb 2.0 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Type-C Port 2""
|
|
||||||
register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
|
|
||||||
register "group" = "ACPI_PLD_GROUP(2, 1)"
|
|
||||||
device usb 2.1 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Type-A Port 1 (Right)""
|
|
||||||
register "type" = "UPC_TYPE_USB3_A"
|
|
||||||
register "group" = "ACPI_PLD_GROUP(2, 2)"
|
|
||||||
device usb 2.2 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Type-A Port 2 (Left)""
|
|
||||||
register "type" = "UPC_TYPE_USB3_A"
|
|
||||||
register "group" = "ACPI_PLD_GROUP(1, 2)"
|
|
||||||
device usb 2.3 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Camera""
|
|
||||||
register "type" = "UPC_TYPE_INTERNAL"
|
|
||||||
device usb 2.5 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""M.2 3042 (WWAN)""
|
|
||||||
register "type" = "UPC_TYPE_INTERNAL"
|
|
||||||
device usb 2.6 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""USH""
|
|
||||||
register "type" = "UPC_TYPE_INTERNAL"
|
|
||||||
device usb 2.7 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""M.2 2230 (BT)""
|
|
||||||
register "type" = "UPC_TYPE_INTERNAL"
|
|
||||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A13)"
|
|
||||||
device usb 2.9 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Type-A Port 1""
|
|
||||||
register "type" = "UPC_TYPE_USB3_A"
|
|
||||||
register "group" = "ACPI_PLD_GROUP(1, 1)"
|
|
||||||
device usb 3.0 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""Type-A Port 2""
|
|
||||||
register "type" = "UPC_TYPE_USB3_A"
|
|
||||||
register "group" = "ACPI_PLD_GROUP(2, 1)"
|
|
||||||
device usb 3.1 on end
|
|
||||||
end
|
|
||||||
chip drivers/usb/acpi
|
|
||||||
register "desc" = ""WWAN""
|
|
||||||
register "type" = "UPC_TYPE_INTERNAL"
|
|
||||||
device usb 3.2 on end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end # USB 3.2 2x1 xHCI HC
|
|
||||||
|
|
||||||
device pci 14.1 off end # USB 3.2 1x1 xDCI HC
|
|
||||||
device pci 14.2 on end # Shared SRAM
|
|
||||||
|
|
||||||
device pci 14.3 on
|
|
||||||
chip drivers/wifi/generic
|
|
||||||
register "wake" = "GPE0_PME_B0"
|
|
||||||
device generic 0 on end
|
|
||||||
end
|
|
||||||
end # CNVi WiFi
|
|
||||||
|
|
||||||
device pci 15.0 on end # I2C #0
|
|
||||||
device pci 15.1 on end # I2C #1
|
|
||||||
device pci 15.2 on end # I2C #2
|
|
||||||
device pci 15.3 on
|
|
||||||
chip drivers/i2c/tpm
|
|
||||||
register "hid" = ""GOOG0005""
|
|
||||||
register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_C23_IRQ)"
|
|
||||||
device i2c 50 on end
|
|
||||||
end
|
|
||||||
end # I2C #3
|
|
||||||
|
|
||||||
device pci 16.0 on end # HECI #1
|
|
||||||
device pci 16.1 off end # HECI #2
|
|
||||||
device pci 16.2 off end # IDE-R
|
|
||||||
device pci 16.3 off end # KT-T
|
|
||||||
device pci 16.4 on end # HECI #3
|
|
||||||
device pci 16.5 on end # HECI #4
|
|
||||||
device pci 17.0 on end # SATA (AHCI)
|
|
||||||
device pci 19.0 off end # I2C #4
|
|
||||||
device pci 19.1 on end # I2C #5
|
|
||||||
device pci 19.2 on end # UART #2
|
|
||||||
|
|
||||||
device pci 1c.0 on end # PCIe Root Port #1 (USB)
|
|
||||||
device pci 1c.1 on end # PCIe Root Port #2 (USB)
|
|
||||||
device pci 1c.2 off end # PCIe Root Port #3 ()
|
|
||||||
device pci 1c.3 off end # PCIe Root Port #4 (WWAN)
|
|
||||||
device pci 1c.4 on end # PCIe Root Port #5 (LTE)
|
|
||||||
device pci 1c.5 off end # PCIe Root Port #6 (WiFi)
|
|
||||||
device pci 1c.6 on end # PCIe Root Port #7 (Card reader)
|
|
||||||
device pci 1c.7 on end # PCIe Root Port #8 (LAN)
|
|
||||||
device pci 1d.0 on end # PCIe Root Port #9 (NVMe)
|
|
||||||
device pci 1d.1 off end # PCIe Root Port #10 (NVMe)
|
|
||||||
device pci 1d.2 off end # PCIe Root Port #11 (NVMe)
|
|
||||||
device pci 1d.3 off end # PCIe Root Port #12 (NVMe)
|
|
||||||
|
|
||||||
device pci 1e.0 off end # UART #0
|
|
||||||
device pci 1e.1 off end # UART #1
|
|
||||||
device pci 1e.2 off end # GSPI #0
|
|
||||||
device pci 1e.3 off end # GSPI #1
|
|
||||||
|
|
||||||
device pci 1f.0 on
|
|
||||||
chip ec/google/wilco
|
|
||||||
device pnp 0c09.0 on end
|
|
||||||
end
|
|
||||||
end # eSPI
|
|
||||||
device pci 1f.1 off end # P2SB
|
|
||||||
device pci 1f.2 hidden end # PMC
|
|
||||||
device pci 1f.3 on end # Intel HDA
|
|
||||||
device pci 1f.4 off end # SMBus
|
|
||||||
device pci 1f.5 on end # PCH SPI Flash Controller
|
|
||||||
device pci 1f.6 off end # GbE Controller
|
|
||||||
device pci 1f.7 off end # Intel Trace Hub
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,429 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
#include <soc/gpio.h>
|
|
||||||
#include <variant/gpio.h>
|
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
|
||||||
|
|
||||||
static const struct pad_config gpio_table[] = {
|
|
||||||
/* A0 thru A6 are ESPI, configured elsewhere */
|
|
||||||
/* A0 : ESPI_IO0 ==> ESPI_IO_0 */
|
|
||||||
/* A1 : ESPI_IO1 ==> ESPI_IO_1 */
|
|
||||||
/* A2 : ESPI_IO2 ==> ESPI_IO_2 */
|
|
||||||
/* A3 : ESPI_IO3 ==> ESPI_IO_3 */
|
|
||||||
/* A4 : ESPI_CS# ==> ESPI_CS_L */
|
|
||||||
/* A5 : ESPI_CLK ==> ESPI_CLK */
|
|
||||||
/* A6 : ESPI_RESET# ==> NC(TP764) */
|
|
||||||
/* A7 : GPP_A7 ==> CNVI_EN# */
|
|
||||||
PAD_CFG_GPI(GPP_A7, NONE, DEEP),
|
|
||||||
/* A8 : GPP_A8 ==> CNV_RF_RESET# */
|
|
||||||
PAD_CFG_NF(GPP_A8, NONE, DEEP, NF2),
|
|
||||||
/* A9 : GPP_A9 ==> CLKREQ_CNV#_1P8 */
|
|
||||||
PAD_CFG_NF(GPP_A9, NONE, DEEP, NF2),
|
|
||||||
/* A10 : GPP_A10 ==> TOUCH_SCREEN_RST# */
|
|
||||||
PAD_CFG_GPO(GPP_A10, 0, DEEP),
|
|
||||||
/* A11 : GPP_A11 ==> NC */
|
|
||||||
PAD_NC(GPP_A11, NONE),
|
|
||||||
/* A12 : GPP_A12 ==> M2280_PCIE_SATA# */
|
|
||||||
PAD_CFG_NF(GPP_A12, NONE, DEEP, NF1),
|
|
||||||
/* A13 : GPP_A13 ==> PCH_BT_RADIO_DIS# */
|
|
||||||
PAD_CFG_GPO(GPP_A13, 1, DEEP),
|
|
||||||
/* A14 : GPP_A14 ==> USB_OC1# */
|
|
||||||
PAD_CFG_NF(GPP_A14, NONE, DEEP, NF1),
|
|
||||||
/* A15 : GPP_A15 ==> USB_OC2# */
|
|
||||||
PAD_CFG_NF(GPP_A15, NONE, DEEP, NF1),
|
|
||||||
/* A16 : GPP_A16 ==> USB_OC3# */
|
|
||||||
PAD_CFG_NF(GPP_A16, NONE, DEEP, NF1),
|
|
||||||
/* A17 : GPP_A17 ==> NC */
|
|
||||||
PAD_NC(GPP_A17, NONE),
|
|
||||||
/* A18 : GPP_A18 ==> HDMI_HPD */
|
|
||||||
PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1),
|
|
||||||
/* A19 : GPP_A19 ==> NC */
|
|
||||||
PAD_NC(GPP_A19, NONE),
|
|
||||||
/* A20 : GPP_A20 ==> NC */
|
|
||||||
PAD_NC(GPP_A20, NONE),
|
|
||||||
/* A21 : GPP_A21 ==> 3.3V_CAM_EN# */
|
|
||||||
PAD_CFG_GPO(GPP_A21, 0, PLTRST),
|
|
||||||
/* A22 : GPP_A22 ==> KB_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_A22, NONE, PLTRST),
|
|
||||||
/* A23 : GPP_A23 ==> RECOVERY# */
|
|
||||||
PAD_CFG_GPI(GPP_A23, NONE, DEEP),
|
|
||||||
|
|
||||||
/* B0 : GPP_B0 ==> CORE_VID0 */
|
|
||||||
PAD_CFG_NF(GPP_B0, NONE, DEEP, NF1),
|
|
||||||
/* B1 : GPP_B1 ==> CORE_VID1 */
|
|
||||||
PAD_CFG_NF(GPP_B1, NONE, DEEP, NF1),
|
|
||||||
/* B2 : GPP_B2 ==> VRALERT_L */
|
|
||||||
PAD_CFG_NF(GPP_B2, NONE, DEEP, NF1),
|
|
||||||
/* B3 : GPP_B3 ==> TOUCH_SCREEN_PD# */
|
|
||||||
PAD_CFG_GPO(GPP_B3, 0, PLTRST),
|
|
||||||
/* B4 : GPP_B4 ==> TOUCH_SCREEN_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_B4, NONE, DEEP),
|
|
||||||
/* B5 : GPP_B5 ==> ISH_I2C0_SDA */
|
|
||||||
PAD_CFG_NF(GPP_B5, NONE, DEEP, NF1),
|
|
||||||
/* B6 : GPP_B6 ==> ISH_I2C0_SCL */
|
|
||||||
PAD_CFG_NF(GPP_B6, NONE, DEEP, NF1),
|
|
||||||
/* B7 : GPP_B7 ==> NC */
|
|
||||||
PAD_NC(GPP_B7, NONE),
|
|
||||||
/* B8 : GPP_B8 ==> NC */
|
|
||||||
PAD_NC(GPP_B8, NONE),
|
|
||||||
/* B9 : GPP_B9 ==> NC */
|
|
||||||
PAD_NC(GPP_B9, NONE),
|
|
||||||
/* B10 : GPP_B10 ===> NC */
|
|
||||||
PAD_NC(GPP_B10, NONE),
|
|
||||||
/* B11 : GPP_B11 ==> TBT_I2C_INT# */
|
|
||||||
PAD_CFG_NF(GPP_B11, NONE, DEEP, NF1),
|
|
||||||
/* B12 : GPP_B12 ==> SIO_SLP_S0# */
|
|
||||||
PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1),
|
|
||||||
/* B13 : PLTRST# ==> PCH_PLTRST# */
|
|
||||||
PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1),
|
|
||||||
/* B14 : GPP_B14 ==> SPKR (PIN STRAP, Top Swap Override) */
|
|
||||||
PAD_CFG_NF(GPP_B14, NONE, DEEP, NF1),
|
|
||||||
/* B15 : GPP_B15 ==> SPK_DET0# */
|
|
||||||
PAD_CFG_GPI(GPP_B15, NONE, PLTRST),
|
|
||||||
/* B16 : GPP_B16 ==> ONE_DIMM# */
|
|
||||||
PAD_CFG_GPI(GPP_B16, NONE, PLTRST),
|
|
||||||
/* B17 : GPP_B17 ==> HOST_SD_WP# */
|
|
||||||
PAD_CFG_GPO(GPP_B17, 0, PLTRST),
|
|
||||||
/* B18 : GPP_B18 ==> NRB_BIT (PIN STRAP, No Reboot) */
|
|
||||||
PAD_NC(GPP_B18, NONE),
|
|
||||||
/* B19 : GPP_B19 ==> D3_RST# */
|
|
||||||
PAD_CFG_GPO(GPP_B19, 0, DEEP),
|
|
||||||
/* B20 : GPP_B20 ==> LCD_CBL_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_B20, NONE, PLTRST),
|
|
||||||
/* B21 : GPP_B21 ==> PCH_TOUCH_SCREEN_EN */
|
|
||||||
PAD_CFG_GPO(GPP_B21, 0, DEEP),
|
|
||||||
/* B22 : GPP_B22 ==> NC */
|
|
||||||
PAD_NC(GPP_B22, NONE),
|
|
||||||
/* B23 : GPP_B23 ==> NC (PIN STRAP, CPUNSSC frequency) */
|
|
||||||
PAD_NC(GPP_B23, NONE),
|
|
||||||
|
|
||||||
/* C0 : GPP_C0 ==> MEM_SMBCLK */
|
|
||||||
PAD_CFG_NF(GPP_C0, NONE, DEEP, NF1),
|
|
||||||
/* C1 : GPP_C1 ==> MEM_SMBDATA */
|
|
||||||
PAD_CFG_NF(GPP_C1, NONE, DEEP, NF1),
|
|
||||||
/* C2 : GPP_C2 ==> NC (PIN STRAP, TLS Confidentiality) */
|
|
||||||
PAD_NC(GPP_C2, NONE),
|
|
||||||
/* C3 : GPP_C3 ==> SML0_SMBCLK */
|
|
||||||
PAD_CFG_NF(GPP_C3, NONE, DEEP, NF1),
|
|
||||||
/* C4 : GPP_C4 ==> SML0_SMBDATA */
|
|
||||||
PAD_CFG_NF(GPP_C4, NONE, DEEP, NF1),
|
|
||||||
/* C5 : GPP_C5 ==> NC (PIN STRAP, Boot Strap 0) */
|
|
||||||
PAD_NC(GPP_C5, NONE),
|
|
||||||
/* C6 : GPP_C6 ==> SML1_SMBCLK */
|
|
||||||
PAD_CFG_NF(GPP_C6, NONE, DEEP, NF1),
|
|
||||||
/* C7 : GPP_C7 ==> SML1_SMBDATA */
|
|
||||||
PAD_CFG_NF(GPP_C7, NONE, DEEP, NF1),
|
|
||||||
/* C8 : GPP_C8 ==> WWAN_FULL_POWER_EN */
|
|
||||||
PAD_CFG_GPO(GPP_C8, 1, DEEP),
|
|
||||||
/* C9 : GPP_C9 ==> SBIOS_TX */
|
|
||||||
PAD_CFG_GPO(GPP_C9, 0, PLTRST),
|
|
||||||
/* C10 : GPP_C10 ==> NC */
|
|
||||||
PAD_NC(GPP_C10, NONE),
|
|
||||||
/* C11 : GPP_C11 ==> NC */
|
|
||||||
PAD_NC(GPP_C11, NONE),
|
|
||||||
/* C12 : GPP_C12 ==> NC */
|
|
||||||
PAD_NC(GPP_C12, NONE),
|
|
||||||
/* C13 : GPP_C13 ==> PCH_SSD_PWR_EN */
|
|
||||||
PAD_CFG_GPO(GPP_C13, 1, DEEP),
|
|
||||||
/* C14 : GPP_C14 ==> NC */
|
|
||||||
PAD_NC(GPP_C14, NONE),
|
|
||||||
/* C15 : GPP_C15 ==> NC */
|
|
||||||
PAD_NC(GPP_C15, NONE),
|
|
||||||
/* C16 : GPP_C16 ==> I2C0_SDA_TS */
|
|
||||||
PAD_CFG_NF(GPP_C16, NONE, DEEP, NF1),
|
|
||||||
/* C17 : GPP_C17 ==> I2C0_SCL_TS */
|
|
||||||
PAD_CFG_NF(GPP_C17, NONE, DEEP, NF1),
|
|
||||||
/* C18 : GPP_C18 ==> I2C1_SDA_TP */
|
|
||||||
PAD_CFG_NF(GPP_C18, NONE, DEEP, NF1),
|
|
||||||
/* C19 : GPP_C19 ==> I2C1_SCL_TP */
|
|
||||||
PAD_CFG_NF(GPP_C19, NONE, DEEP, NF1),
|
|
||||||
/* C20 : GPP_C20 ==> PCHRX_SERVOTX_UART */
|
|
||||||
PAD_CFG_NF(GPP_C20, NONE, DEEP, NF1),
|
|
||||||
/* C21 : CPP_G21 ==> PCHTX_SERVORX_UART */
|
|
||||||
PAD_CFG_NF(GPP_C21, NONE, DEEP, NF1),
|
|
||||||
/* C22 : GPP_C22 ==> H1_FLASH_WP */
|
|
||||||
PAD_CFG_GPI(GPP_C22, NONE, DEEP),
|
|
||||||
/* C23 : GPP_C23 ==> H1_PCH_INT# */
|
|
||||||
PAD_CFG_GPI_APIC(GPP_C23, NONE, DEEP, LEVEL, INVERT),
|
|
||||||
|
|
||||||
/* D0 : GPP_D0 ==> ISH_ACC1_INT */
|
|
||||||
PAD_CFG_NF(GPP_D0, NONE, DEEP, NF1),
|
|
||||||
/* D1 : GPP_D1 ==> ISH_ACC2_INT */
|
|
||||||
PAD_CFG_NF(GPP_D1, NONE, DEEP, NF1),
|
|
||||||
/* D2 : GPP_D2 ==> ISH_TABLE_MODE# */
|
|
||||||
PAD_CFG_NF(GPP_D2, NONE, DEEP, NF1),
|
|
||||||
/* D3 : GPP_D3 ==> ISH_ALS_INT# */
|
|
||||||
PAD_CFG_NF(GPP_D3, NONE, DEEP, NF1),
|
|
||||||
/* D4 : GPP_D4 ==> RT_FORCE_PWR */
|
|
||||||
PAD_CFG_GPO(GPP_D4, 0, PLTRST),
|
|
||||||
/* D5 : GPP_D5 ==> CLKREQ_PCIE#0 */
|
|
||||||
PAD_CFG_NF(GPP_D5, NONE, DEEP, NF1),
|
|
||||||
/* D6 : GPP_D6 ==> CLKREQ_PCIE#1 */
|
|
||||||
PAD_CFG_NF(GPP_D6, NONE, DEEP, NF1),
|
|
||||||
/* D7 : GPP_D7 ==> CLKREQ_PCIE#2 */
|
|
||||||
PAD_CFG_NF(GPP_D7, NONE, DEEP, NF1),
|
|
||||||
/* D8 : GPP_D8 ==> CLKREQ_PCIE#3 */
|
|
||||||
PAD_CFG_NF(GPP_D8, NONE, DEEP, NF1),
|
|
||||||
/* D9 : GPP_D9 ==> TBT_2_LSX_TX */
|
|
||||||
PAD_CFG_NF(GPP_D9, NONE, DEEP, NF4),
|
|
||||||
/* D10 : GPP_D10 ==> TBT_2_LSX_RX */
|
|
||||||
PAD_CFG_NF(GPP_D10, NONE, DEEP, NF4),
|
|
||||||
/* D11 : GPP_D11 ==> TBT_3_LSX_TX */
|
|
||||||
PAD_CFG_NF(GPP_D11, NONE, DEEP, NF4),
|
|
||||||
/* D12 : GPP_D12 ==> TBT_3_LSX_RX */
|
|
||||||
PAD_CFG_NF(GPP_D12, DN_20K, DEEP, NF4),
|
|
||||||
/* D13 : GPP_D13 ==> SML0B_SMLDATA */
|
|
||||||
PAD_CFG_NF(GPP_D13, NONE, DEEP, NF2),
|
|
||||||
/* D14 : GPP_D14 ==> SML0B_SMLCLK */
|
|
||||||
PAD_CFG_NF(GPP_D14, NONE, DEEP, NF2),
|
|
||||||
/* D15 : GPP_D15 ==> NC */
|
|
||||||
PAD_NC(GPP_D15, NONE),
|
|
||||||
/* D16 : GPP_D16 ==> SML0BALERT# */
|
|
||||||
PAD_CFG_NF(GPP_D16, NONE, DEEP, NF2),
|
|
||||||
/* D17 : GPP_D17 ==> ISH_NB_MODE# */
|
|
||||||
PAD_CFG_NF(GPP_D17, NONE, DEEP, NF1),
|
|
||||||
/* D18 : GPP_D18 ==> ISH_LID_CL#_NB */
|
|
||||||
PAD_CFG_NF(GPP_D18, NONE, DEEP, NF1),
|
|
||||||
/* D19 : GPP_D19 ==> NC */
|
|
||||||
PAD_NC(GPP_D19, NONE),
|
|
||||||
|
|
||||||
/* E0 : GPP_E0 ==> NC */
|
|
||||||
PAD_NC(GPP_E0, NONE),
|
|
||||||
/* E1 : GPP_E1 ==> TOUCH_SCREEN_INT# */
|
|
||||||
PAD_CFG_GPI_APIC(GPP_E1, NONE, PLTRST, LEVEL, INVERT),
|
|
||||||
/* E2 : GPP_E2 ==> MEDIACARD_IRQ# */
|
|
||||||
PAD_CFG_GPI_APIC(GPP_E2, NONE, PLTRST, LEVEL, INVERT),
|
|
||||||
/* E3 : GPP_E3 ==> MEM_INTERLEAVED */
|
|
||||||
PAD_CFG_GPI(GPP_E3, NONE, PLTRST),
|
|
||||||
/* E4 : GPP_E4 ==> NC */
|
|
||||||
PAD_NC(GPP_E4, NONE),
|
|
||||||
/* E5 : GPP_E5 ==> M2280_DEVSLP */
|
|
||||||
PAD_CFG_NF(GPP_E5, NONE, DEEP, NF1),
|
|
||||||
/* E6 : GPP_E6 ==> (PIN STRAP, Reserved) */
|
|
||||||
PAD_NC(GPP_E6, NONE),
|
|
||||||
/* E7 : CPU_GP1 ==> PCH_TOUCHPAD_INTR# */
|
|
||||||
PAD_CFG_GPI_IRQ_WAKE(GPP_E7, NONE, PLTRST, LEVEL, INVERT),
|
|
||||||
/* E8 : GPP_E8 ==> SECURE_BIO */
|
|
||||||
PAD_CFG_GPO(GPP_E8, 0, PLTRST),
|
|
||||||
/* E9 : GPP_E9 ==> OC0# */
|
|
||||||
PAD_CFG_NF(GPP_E9, NONE, DEEP, NF1),
|
|
||||||
/* E10 : GPP_E10 ==> HDMI_PD# */
|
|
||||||
PAD_CFG_GPO(GPP_E10, 1, DEEP),
|
|
||||||
/* E11 : GPP_E11 ==> VPRO_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_E11, NONE, PLTRST),
|
|
||||||
/* E12 : GPP_E12 ==> RTC_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_E12, NONE, PLTRST),
|
|
||||||
/* E13 : GPP_E13 ==> TBT_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_E13, NONE, DEEP),
|
|
||||||
/* E14 : GPP_E14 ==> EPD_HPD */
|
|
||||||
PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1),
|
|
||||||
/* E15 : GPP_E15 ==> ISH_LID_CL#_TAB */
|
|
||||||
PAD_CFG_NF(GPP_E15, NONE, DEEP, NF1),
|
|
||||||
/* E16 : GPP_E16 ==> NC */
|
|
||||||
PAD_NC(GPP_E16, NONE),
|
|
||||||
/* E17 : GPP_E17 ==> NC */
|
|
||||||
PAD_NC(GPP_E17, NONE),
|
|
||||||
/* E18 : GPP_E18 ==> TBT_LSX0_TXD */
|
|
||||||
PAD_CFG_NF(GPP_E18, NONE, DEEP, NF4),
|
|
||||||
/* E19 : GPP_E19 ==> TBT_LSX0_RXD */
|
|
||||||
PAD_CFG_NF(GPP_E19, NONE, DEEP, NF4),
|
|
||||||
/* E20 : GPP_E20 ==> TBT_LSX1_TXD */
|
|
||||||
PAD_CFG_NF(GPP_E20, NONE, DEEP, NF4),
|
|
||||||
/* E21 : GPP_E21 ==> TBT_LSX1_RXD */
|
|
||||||
PAD_CFG_NF(GPP_E21, NONE, DEEP, NF4),
|
|
||||||
/* E22 : GPP_E22 ==> NC */
|
|
||||||
PAD_NC(GPP_E22, NONE),
|
|
||||||
/* E23 : GPP_E23 ==> NC */
|
|
||||||
PAD_NC(GPP_E23, NONE),
|
|
||||||
|
|
||||||
/* F0 : GPP_F0 ==> BRI_DT_1P8 */
|
|
||||||
PAD_CFG_NF(GPP_F0, NONE, DEEP, NF1),
|
|
||||||
/* F1 : GPP_F1 ==> CNV_BRI_RSP_1P8 */
|
|
||||||
PAD_CFG_NF(GPP_F1, NONE, DEEP, NF1),
|
|
||||||
/* F2 : GPP_F2 ==> CNV_RGI_DT_1P8 */
|
|
||||||
PAD_CFG_NF(GPP_F2, NONE, DEEP, NF1),
|
|
||||||
/* F3 : GPP_F3 ==> CNV_RGI_RSP_1P8 */
|
|
||||||
PAD_CFG_NF(GPP_F3, NONE, DEEP, NF1),
|
|
||||||
/* F4 : GPP_F4 ==> NC */
|
|
||||||
PAD_NC(GPP_F4, NONE),
|
|
||||||
/* F5 : GPP_F5 ==> NC */
|
|
||||||
PAD_NC(GPP_F5, NONE),
|
|
||||||
/* F6 : GPP_F6 ==> NC */
|
|
||||||
PAD_NC(GPP_F6, NONE),
|
|
||||||
/* F7 : GPP_F7 ==> NC (PIN STRAP, Reserved) */
|
|
||||||
PAD_NC(GPP_F7, NONE),
|
|
||||||
/* F8 : GPP_F8 ==> NC */
|
|
||||||
PAD_NC(GPP_F8, NONE),
|
|
||||||
/* F9 : GPP_F9 ==> NC */
|
|
||||||
PAD_NC(GPP_F9, NONE),
|
|
||||||
/* F10 : GPP_F10 ==> NC (PIN STRAP, Reserved) */
|
|
||||||
PAD_NC(GPP_F10, NONE),
|
|
||||||
/* F11 : GPP_F11 ==> MEM_CONFIG0_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F11, NONE, DEEP),
|
|
||||||
/* F12 : GPP_F12 ==> MEM_CONFIG1_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F12, NONE, DEEP),
|
|
||||||
/* F13 : GPP_F13 ==> MEM_CONFIG2_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F13, NONE, DEEP),
|
|
||||||
/* F14 : GPP_F14 ==> MEM_CONFIG3_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F14, NONE, DEEP),
|
|
||||||
/* F15 : GPP_F15 ==> MEM_CONFIG4_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F15, NONE, DEEP),
|
|
||||||
/* F16 : GPP_F16 ==> WWAN_BB_RST#_1P8 */
|
|
||||||
PAD_CFG_GPO(GPP_F16, 1, DEEP),
|
|
||||||
/* F17 : GPP_F17 ==> WWAN_GPIO_PERST# */
|
|
||||||
PAD_CFG_GPO(GPP_F17, 0, DEEP),
|
|
||||||
/* F18 : GPP_F18 ==> WWAN_GPIO_WAKE# */
|
|
||||||
PAD_CFG_GPI_SCI_LOW(GPP_F18, NONE, DEEP, EDGE_SINGLE),
|
|
||||||
/* F19 : GPP_F19 ==> CAM_MIC_CBL_DET# */
|
|
||||||
PAD_CFG_GPI(GPP_F19, NONE, PLTRST),
|
|
||||||
/* F20 : GPP_F20 ==> NC */
|
|
||||||
PAD_NC(GPP_F20, NONE),
|
|
||||||
/* F21 : GPP_F21 ==> NC */
|
|
||||||
PAD_NC(GPP_F21, NONE),
|
|
||||||
/* F22 : VNN_CTRL */
|
|
||||||
PAD_CFG_NF(GPP_F22, NONE, DEEP, NF1),
|
|
||||||
/* F23 : V1P05_CTRL */
|
|
||||||
PAD_CFG_NF(GPP_F23, NONE, DEEP, NF1),
|
|
||||||
|
|
||||||
/* H0 : GPPH0_BOOT_STRAP1 */
|
|
||||||
PAD_NC(GPP_H0, NONE),
|
|
||||||
/* H1 : GPPH1_BOOT_STRAP2 */
|
|
||||||
PAD_NC(GPP_H1, NONE),
|
|
||||||
/* H2 : GPPH2_BOOT_STRAP3 */
|
|
||||||
PAD_NC(GPP_H2, NONE),
|
|
||||||
/* H3 : GPP_H3 ==> NC */
|
|
||||||
PAD_NC(GPP_H3, NONE),
|
|
||||||
/* H4 : GPP_H4 ==> DDR_CHA_EN_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_H4, NONE, DEEP),
|
|
||||||
/* H5 : GPP_H5 ==> DDR_CHB_EN_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_H5, NONE, DEEP),
|
|
||||||
/* H6 : GPP_H6 ==> I2C_SDA_PCH_H1 */
|
|
||||||
PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1),
|
|
||||||
/* H7 : GPP_H7 ==> I2C_SCL_PCH_H1 */
|
|
||||||
PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1),
|
|
||||||
/* H8 : GPP_H8 ==> NC */
|
|
||||||
PAD_NC(GPP_H8, NONE),
|
|
||||||
/* H9 : GPP_H9 ==> NC */
|
|
||||||
PAD_NC(GPP_H9, NONE),
|
|
||||||
/* H10 : GPP_H10 ==> CLKREQ_PCIE#4 */
|
|
||||||
PAD_CFG_NF(GPP_H10, NONE, DEEP, NF1),
|
|
||||||
/* H11 : GPP_H11 ==> CLKREQ_PCIE#5 */
|
|
||||||
PAD_CFG_NF(GPP_H11, NONE, DEEP, NF1),
|
|
||||||
/* H12 : GPP_H12 ==> NC */
|
|
||||||
PAD_NC(GPP_H12, NONE),
|
|
||||||
/* H13 : GPP_H13 ==> NC */
|
|
||||||
PAD_NC(GPP_H13, NONE),
|
|
||||||
/* H14 : GPP_H14 ==> NC */
|
|
||||||
PAD_NC(GPP_H14, NONE),
|
|
||||||
/* H15 : GPP_H15 ==> NC */
|
|
||||||
PAD_NC(GPP_H15, NONE),
|
|
||||||
/* H16 : GPP_H16 ==> CPU_DPB_CTRL_CLK */
|
|
||||||
PAD_CFG_NF(GPP_H16, NONE, DEEP, NF1),
|
|
||||||
/* H17 : GPP_H17 ==> CPU_DPB_CTRL_DATA */
|
|
||||||
PAD_CFG_NF(GPP_H17, NONE, DEEP, NF1),
|
|
||||||
/* H18 : CPU_C10_GATE# ==> CPU_C10_GATE# */
|
|
||||||
PAD_CFG_NF(GPP_H18, NONE, DEEP, NF1),
|
|
||||||
/* H19 : GPP_H19 ==> NC */
|
|
||||||
PAD_NC(GPP_H19, NONE),
|
|
||||||
/* H20 : GPP_H20 ==> NC */
|
|
||||||
PAD_NC(GPP_H20, NONE),
|
|
||||||
/* H21 : GPP_H21 ==> NC */
|
|
||||||
PAD_NC(GPP_H21, NONE),
|
|
||||||
/* H22 : GPP_H22 ==> NC */
|
|
||||||
PAD_NC(GPP_H22, NONE),
|
|
||||||
/* H23 : GPP_H23 ==> NC */
|
|
||||||
PAD_NC(GPP_H23, NONE),
|
|
||||||
|
|
||||||
/* R0 : GPP_R0 ==> HDA_BCLK */
|
|
||||||
PAD_CFG_NF(GPP_R0, NONE, DEEP, NF1),
|
|
||||||
/* R1 : GPP_R1 ==> HDA_SYNC */
|
|
||||||
PAD_CFG_NF(GPP_R1, NONE, DEEP, NF1),
|
|
||||||
/* R2 : GPP_R2 ==> HDA_SDO (PIN STRAP, Flash Descriptor Security Override */
|
|
||||||
PAD_CFG_NF(GPP_R2, NONE, DEEP, NF1),
|
|
||||||
/* R3 : GPP_R3 ==> HDA_SDIO */
|
|
||||||
PAD_CFG_NF(GPP_R3, NONE, DEEP, NF1),
|
|
||||||
/* R4 : GPP_R4 ==> HDA_RST# */
|
|
||||||
PAD_CFG_NF(GPP_R4, NONE, DEEP, NF1),
|
|
||||||
/* R5 : GPP_R5 ==> NC */
|
|
||||||
PAD_NC(GPP_R5, NONE),
|
|
||||||
/* R6 : GPP_R6 ==> SD_PWR_EN1 */
|
|
||||||
PAD_CFG_GPO(GPP_R6, 0, PLTRST),
|
|
||||||
/* R7 : GPP_R7 ==> SD_PWR_EN2 */
|
|
||||||
PAD_CFG_GPO(GPP_R7, 0, PLTRST),
|
|
||||||
|
|
||||||
/* S0 : GPP_S0 ==> NC */
|
|
||||||
PAD_NC(GPP_S0, NONE),
|
|
||||||
/* S1 : GPP_S1 ==> NC */
|
|
||||||
PAD_NC(GPP_S1, NONE),
|
|
||||||
/* S2 : GPP_S2 ==> NC */
|
|
||||||
PAD_NC(GPP_S2, NONE),
|
|
||||||
/* S3 : GPP_S3 ==> NC */
|
|
||||||
PAD_NC(GPP_S3, NONE),
|
|
||||||
/* S4 : GPP_S4 ==> NC */
|
|
||||||
PAD_NC(GPP_S4, NONE),
|
|
||||||
/* S5 : GPP_S5 ==> NC */
|
|
||||||
PAD_NC(GPP_S5, NONE),
|
|
||||||
/* S6 : GPP_S6 ==> NC */
|
|
||||||
PAD_NC(GPP_S6, NONE),
|
|
||||||
/* S7 : GPP_S7 ==> NC */
|
|
||||||
PAD_NC(GPP_S7, NONE),
|
|
||||||
|
|
||||||
/* GPD0: GPD0 ==> PCH_BATLOW# */
|
|
||||||
PAD_CFG_NF(GPD0, NONE, DEEP, NF1),
|
|
||||||
/* GPD1: GPD1 ==> AC_PRESENT */
|
|
||||||
PAD_CFG_NF(GPD1, NONE, DEEP, NF1),
|
|
||||||
/* GPD2: GPD2 ==> LAN_WAKE# */
|
|
||||||
PAD_CFG_NF(GPD2, NONE, DEEP, NF1),
|
|
||||||
/* GPD3: GPD3 ==> SIO_PWRBTN# */
|
|
||||||
PAD_CFG_NF(GPD3, UP_20K, DEEP, NF1),
|
|
||||||
/* GPD4: GPD4 ==> SIO_SLP_S3# */
|
|
||||||
PAD_CFG_NF(GPD4, NONE, DEEP, NF1),
|
|
||||||
/* GPD5: GPD5 ==> SIO_SLP_S4# */
|
|
||||||
PAD_CFG_NF(GPD5, NONE, DEEP, NF1),
|
|
||||||
/* GPD6: GPD6 ==> SIO_SLP_A# */
|
|
||||||
PAD_CFG_NF(GPD6, NONE, DEEP, NF1),
|
|
||||||
/* GPD7: GPD7 ==> PCH_TBT_PERST# (PIN STRAP, Reserved) */
|
|
||||||
PAD_CFG_GPO(GPD7, 0, PLTRST),
|
|
||||||
/* GPD8: GPD8 ==> SUSCLK */
|
|
||||||
PAD_CFG_NF(GPD8, NONE, DEEP, NF1),
|
|
||||||
/* GPD9: GPD9 ==> SIO_SLP_WLAN# */
|
|
||||||
PAD_CFG_NF(GPD9, NONE, DEEP, NF1),
|
|
||||||
/* GPD10: GPD10 ==> SIO_SLP_S5# */
|
|
||||||
PAD_CFG_NF(GPD10, NONE, DEEP, NF1),
|
|
||||||
/* GPD11: GPD11 ==> PM_LANPHY_EN */
|
|
||||||
PAD_CFG_NF(GPD11, NONE, DEEP, NF1),
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct pad_config *__weak variant_base_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = ARRAY_SIZE(gpio_table);
|
|
||||||
return gpio_table;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct cros_gpio cros_gpios[] = {
|
|
||||||
CROS_GPIO_REC_AL(GPIO_REC_MODE, CROS_GPIO_DEVICE_NAME),
|
|
||||||
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
|
||||||
};
|
|
||||||
|
|
||||||
DECLARE_WEAK_CROS_GPIOS(cros_gpios);
|
|
||||||
|
|
||||||
/* Weak implementation of overrides */
|
|
||||||
const struct pad_config *__weak variant_override_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = 0;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Weak implementation of early gpio */
|
|
||||||
const struct pad_config *__weak variant_early_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = 0;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
int __weak has_360_sensor_board(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef __MAINBOARD_EC_H__
|
|
||||||
#define __MAINBOARD_EC_H__
|
|
||||||
|
|
||||||
/* Enable PS/2 keyboard */
|
|
||||||
#define SIO_EC_ENABLE_PS2K
|
|
||||||
|
|
||||||
#endif /* __MAINBOARD_EC_H__ */
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef VARIANT_GPIO_H
|
|
||||||
#define VARIANT_GPIO_H
|
|
||||||
|
|
||||||
#include <soc/gpe.h>
|
|
||||||
#include <soc/gpio.h>
|
|
||||||
|
|
||||||
/* Flash Write Protect */
|
|
||||||
#define GPIO_PCH_WP GPP_C22
|
|
||||||
|
|
||||||
/* Recovery mode */
|
|
||||||
#define GPIO_REC_MODE GPP_A23
|
|
||||||
|
|
||||||
/* DDR channel enable pin */
|
|
||||||
#define DDR_CHA_EN GPP_H4
|
|
||||||
#define DDR_CHB_EN GPP_H5
|
|
||||||
|
|
||||||
/* Memory configuration board straps */
|
|
||||||
#define GPIO_MEM_CONFIG_0 GPP_F11
|
|
||||||
#define GPIO_MEM_CONFIG_1 GPP_F12
|
|
||||||
#define GPIO_MEM_CONFIG_2 GPP_F13
|
|
||||||
#define GPIO_MEM_CONFIG_3 GPP_F14
|
|
||||||
#define GPIO_MEM_CONFIG_4 GPP_F15
|
|
||||||
|
|
||||||
/* DQ Memory Interleaved */
|
|
||||||
#define MEMORY_INTERLEAVED GPP_E3
|
|
||||||
|
|
||||||
const struct pad_config *override_gpio_table(size_t *num);
|
|
||||||
const struct pad_config *override_early_gpio_table(size_t *num);
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,196 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
#ifndef MAINBOARD_HDA_VERB_H
|
|
||||||
#define MAINBOARD_HDA_VERB_H
|
|
||||||
|
|
||||||
#include <device/azalia_device.h>
|
|
||||||
|
|
||||||
const u32 cim_verb_data[] = {
|
|
||||||
/* coreboot specific header */
|
|
||||||
0x10ec0236, // Codec Vendor / Device ID: Realtek ALC3204
|
|
||||||
0xffffffff, // Subsystem ID
|
|
||||||
0x0000002b, // Number of jacks (NID entries)
|
|
||||||
/* Rest Codec First */
|
|
||||||
AZALIA_RESET(0x1),
|
|
||||||
/* HDA Codec Subsystem ID Verb-table
|
|
||||||
HDA Codec Subsystem ID : 0x10280A20 */
|
|
||||||
0x00172020,
|
|
||||||
0x0017210A,
|
|
||||||
0x00172228,
|
|
||||||
0x00172310,
|
|
||||||
/* Pin Widget Verb-table */
|
|
||||||
/* Widget node 0x01 : Widget Reset */
|
|
||||||
0x0017FF00,
|
|
||||||
0x0017FF00,
|
|
||||||
0x0017FF00,
|
|
||||||
0x0017FF00,
|
|
||||||
/* Pin widget 0x12 - DMIC1-2 */
|
|
||||||
0x01271C40,
|
|
||||||
0x01271D01,
|
|
||||||
0x01271EA6,
|
|
||||||
0x01271F90,
|
|
||||||
/* Pin widget 0x13 - DMIC3-4 */
|
|
||||||
0x01371C00,
|
|
||||||
0x01371D00,
|
|
||||||
0x01371E00,
|
|
||||||
0x01371F40,
|
|
||||||
/* Pin widget 0x14 - FRONT (Port-D) */
|
|
||||||
0x01471C10,
|
|
||||||
0x01471D01,
|
|
||||||
0x01471E17,
|
|
||||||
0x01471F90,
|
|
||||||
/* Pin widget 0x18 - MIC1 */
|
|
||||||
0x01871CF0,
|
|
||||||
0x01871D11,
|
|
||||||
0x01871E11,
|
|
||||||
0x01871F41,
|
|
||||||
/* Pin widget 0x19 - MIC2 (Port-F) */
|
|
||||||
0x01971C30,
|
|
||||||
0x01971D10,
|
|
||||||
0x01971Ea1,
|
|
||||||
0x01971F02,
|
|
||||||
/* Pin widget 0x1A - LINE1 (Port-C) */
|
|
||||||
0x01A71CF0,
|
|
||||||
0x01A71D11,
|
|
||||||
0x01A71E11,
|
|
||||||
0x01A71F41,
|
|
||||||
/* Pin widget 0x1B - LINE2 (Port-E) */
|
|
||||||
0x01B71CF0,
|
|
||||||
0x01B71D11,
|
|
||||||
0x01B71E11,
|
|
||||||
0x01B71F41,
|
|
||||||
/* Pin widget 0x1D - BEEP-IN */
|
|
||||||
0x01D71C01,
|
|
||||||
0x01D71D00,
|
|
||||||
0x01D71E70,
|
|
||||||
0x01D71F40,
|
|
||||||
/* Pin widget 0x1E - S/PDIF-OUT1 (Define special SKU for driver) */
|
|
||||||
0x01E71CF2,
|
|
||||||
0x01E71D12,
|
|
||||||
0x01E71E12,
|
|
||||||
0x01E71F42,
|
|
||||||
/* Pin widget 0x21 - HP-OUT (Port-I) */
|
|
||||||
0x02171C20,
|
|
||||||
0x02171D10,
|
|
||||||
0x02171E21,
|
|
||||||
0x02171F02,
|
|
||||||
|
|
||||||
/* RESET to D0 */
|
|
||||||
0x00170500,
|
|
||||||
0x00170500,
|
|
||||||
0x00170500,
|
|
||||||
0x00170500,
|
|
||||||
/* RESET Register */
|
|
||||||
0x0205001A,
|
|
||||||
0x02048003,
|
|
||||||
0x0205001A,
|
|
||||||
0x0204C003,
|
|
||||||
/* ALC3204 default-1(Class D RESET) */
|
|
||||||
0x0205003C,
|
|
||||||
0x02040354,
|
|
||||||
0x0205003C,
|
|
||||||
0x02040314,
|
|
||||||
/* ALC3204 default-2 */
|
|
||||||
0x02050040,
|
|
||||||
0x02049800,
|
|
||||||
0x02050034,
|
|
||||||
0x0204023C,
|
|
||||||
/* ALC3204 Speaker output power - 4 ohm 2W (+12dB gain)
|
|
||||||
+ Combo Jack TRS setting */
|
|
||||||
0x02050038,
|
|
||||||
0x02043901,
|
|
||||||
0x02050045,
|
|
||||||
0x02045089,
|
|
||||||
/* H/W AGC setting-1 */
|
|
||||||
0x02050016,
|
|
||||||
0x02040C50,
|
|
||||||
0x02050012,
|
|
||||||
0x0204EBC2,
|
|
||||||
/* H/W AGC setting-2 */
|
|
||||||
0x02050013,
|
|
||||||
0x0204401D,
|
|
||||||
0x02050016,
|
|
||||||
0x02044E50,
|
|
||||||
/* Zero data + EAPD to verb-control */
|
|
||||||
0x02050037,
|
|
||||||
0x0204FE15,
|
|
||||||
0x02050010,
|
|
||||||
0x02040020,
|
|
||||||
/* Zero data */
|
|
||||||
0x02050030,
|
|
||||||
0x02048000,
|
|
||||||
0x02050030,
|
|
||||||
0x02048000,
|
|
||||||
/* ALC3204 default-3 */
|
|
||||||
0x05750003,
|
|
||||||
0x05740DA3,
|
|
||||||
0x02050046,
|
|
||||||
0x02040004,
|
|
||||||
/* ALC3204 default-4 */
|
|
||||||
0x0205001B,
|
|
||||||
0x02040A4B,
|
|
||||||
0x02050008,
|
|
||||||
0x02046A6C,
|
|
||||||
/* JD1 */
|
|
||||||
0x02050009,
|
|
||||||
0x0204E003,
|
|
||||||
0x0205000A,
|
|
||||||
0x02047770,
|
|
||||||
/* Microphone + Array MIC security Disable +ADC clock Enable */
|
|
||||||
0x0205000D,
|
|
||||||
0x0204A020,
|
|
||||||
0x02050005,
|
|
||||||
0x02040700,
|
|
||||||
/* Speaker Enable */
|
|
||||||
0x0205000C,
|
|
||||||
0x020401EF,
|
|
||||||
0x0205000C,
|
|
||||||
0x020401EF,
|
|
||||||
/* EQ Bypass + EQ HPF cutoff 250Hz */
|
|
||||||
0x05350000,
|
|
||||||
0x0534201A,
|
|
||||||
0x0535001d,
|
|
||||||
0x05340800,
|
|
||||||
/* EQ-2 */
|
|
||||||
0x0535001e,
|
|
||||||
0x05340800,
|
|
||||||
0x05350003,
|
|
||||||
0x05341EF8,
|
|
||||||
/* EQ-3 */
|
|
||||||
0x05350004,
|
|
||||||
0x05340000,
|
|
||||||
0x05450000,
|
|
||||||
0x05442000,
|
|
||||||
/* EQ-4 */
|
|
||||||
0x0545001d,
|
|
||||||
0x05440800,
|
|
||||||
0x0545001e,
|
|
||||||
0x05440800,
|
|
||||||
/* EQ-5 */
|
|
||||||
0x05450003,
|
|
||||||
0x05441EF8,
|
|
||||||
0x05450004,
|
|
||||||
0x05440000,
|
|
||||||
/* EQ Update */
|
|
||||||
0x05350000,
|
|
||||||
0x0534E01A,
|
|
||||||
0x05350000,
|
|
||||||
0x0534E01A,
|
|
||||||
};
|
|
||||||
|
|
||||||
const u32 pc_beep_verbs[] = {
|
|
||||||
/* PCBeep pass through to NID14 for ePSA test-1 */
|
|
||||||
0x02050036,
|
|
||||||
0x02047717,
|
|
||||||
0x02050036,
|
|
||||||
0x02047717,
|
|
||||||
/* PCBeep pass through to NID14 for ePSA test-2 */
|
|
||||||
0x01470740,
|
|
||||||
0x0143B000,
|
|
||||||
0x01470C02,
|
|
||||||
0x01470C02,
|
|
||||||
};
|
|
||||||
|
|
||||||
AZALIA_ARRAY_SIZES;
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,30 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef __BASEBOARD_VARIANTS_H__
|
|
||||||
#define __BASEBOARD_VARIANTS_H__
|
|
||||||
|
|
||||||
#include <soc/gpio.h>
|
|
||||||
#include <soc/meminit.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The next set of functions return the gpio table and fill in the number of
|
|
||||||
* entries for each table.
|
|
||||||
*/
|
|
||||||
const struct pad_config *variant_base_gpio_table(size_t *num);
|
|
||||||
const struct pad_config *variant_early_gpio_table(size_t *num);
|
|
||||||
const struct pad_config *variant_override_gpio_table(size_t *num);
|
|
||||||
|
|
||||||
const struct mb_cfg *variant_memory_params(void);
|
|
||||||
void variant_memory_init(FSPM_UPD *mupd);
|
|
||||||
|
|
||||||
/* SKU ID structure */
|
|
||||||
typedef struct {
|
|
||||||
int id;
|
|
||||||
const char *name;
|
|
||||||
} sku_info;
|
|
||||||
|
|
||||||
/* Check if the device has a 360 sensor board present */
|
|
||||||
int has_360_sensor_board(void);
|
|
||||||
|
|
||||||
#endif /* __BASEBOARD_VARIANTS_H__ */
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <boardid.h>
|
|
||||||
#include <ec/google/wilco/commands.h>
|
|
||||||
#include <smbios.h>
|
|
||||||
#include <variant/variant.h>
|
|
||||||
|
|
||||||
static uint32_t get_sku_index(void)
|
|
||||||
{
|
|
||||||
return ((!has_360_sensor_board()) | (wilco_ec_signed_fw() << 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t sku_id(void)
|
|
||||||
{
|
|
||||||
return skus[get_sku_index()].id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *smbios_system_sku(void)
|
|
||||||
{
|
|
||||||
return skus[get_sku_index()].name;
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
## SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
bootblock-y += gpio.c
|
|
||||||
ramstage-y += gpio.c
|
|
||||||
romstage-y += memory.c
|
|
|
@ -1,60 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <commonlib/helpers.h>
|
|
||||||
|
|
||||||
/* Pad configuration in ramstage */
|
|
||||||
static const struct pad_config gpio_table[] = {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct pad_config *variant_override_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = ARRAY_SIZE(gpio_table);
|
|
||||||
return gpio_table;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Early pad configuration in bootblock */
|
|
||||||
static const struct pad_config early_gpio_table[] = {
|
|
||||||
/* A23 : GPP_A23 ==> RECOVERY# */
|
|
||||||
PAD_CFG_GPI(GPP_A23, NONE, DEEP),
|
|
||||||
/* C20 : GPP_C20 ==> PCHRX_SERVOTX_UART */
|
|
||||||
PAD_CFG_NF(GPP_C20, NONE, DEEP, NF1),
|
|
||||||
/* C21 : CPP_G21 ==> PCHTX_SERVORX_UART */
|
|
||||||
PAD_CFG_NF(GPP_C21, NONE, DEEP, NF1),
|
|
||||||
/* C22 : GPP_C22 ==> H1_FLASH_WP */
|
|
||||||
PAD_CFG_GPI(GPP_C22, NONE, DEEP),
|
|
||||||
/* C23 : GPP_C23 ==> H1_PCH_INT# */
|
|
||||||
PAD_CFG_GPI_APIC(GPP_C23, NONE, DEEP, LEVEL, INVERT),
|
|
||||||
/* E3 : GPP_E3 ==> MEM_INTERLEAVED */
|
|
||||||
PAD_CFG_GPI(GPP_E3, NONE, PLTRST),
|
|
||||||
/* F11 : GPP_F11 ==> MEM_CONFIG0_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F11, NONE, DEEP),
|
|
||||||
/* F12 : GPP_F12 ==> MEM_CONFIG1_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F12, NONE, DEEP),
|
|
||||||
/* F13 : GPP_F13 ==> MEM_CONFIG2_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F13, NONE, DEEP),
|
|
||||||
/* F14 : GPP_F14 ==> MEM_CONFIG3_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F14, NONE, DEEP),
|
|
||||||
/* F15 : GPP_F15 ==> MEM_CONFIG4_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_F15, NONE, DEEP),
|
|
||||||
/* F16 : GPP_F16 ==> WWAN_BB_RST#_1P8 */
|
|
||||||
PAD_CFG_GPO(GPP_F16, 0, DEEP),
|
|
||||||
/* H4 : GPP_H4 ==> DDR_CHA_EN_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_H4, NONE, DEEP),
|
|
||||||
/* H5 : GPP_H5 ==> DDR_CHB_EN_1P8 */
|
|
||||||
PAD_CFG_GPI(GPP_H5, NONE, DEEP),
|
|
||||||
/* H6 : GPP_H6 ==> I2C_SDA_PCH_H1 */
|
|
||||||
PAD_CFG_NF(GPP_H6, NONE, DEEP, NF1),
|
|
||||||
/* H7 : GPP_H7 ==> I2C_SCL_PCH_H1 */
|
|
||||||
PAD_CFG_NF(GPP_H7, NONE, DEEP, NF1),
|
|
||||||
/* GPD3: GPD3 ==> SIO_PWRBTN# */
|
|
||||||
PAD_CFG_NF(GPD3, UP_20K, DEEP, NF1),
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct pad_config *variant_early_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = ARRAY_SIZE(early_gpio_table);
|
|
||||||
return early_gpio_table;
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef __VARIANT_EC_H__
|
|
||||||
#define __VARIANT_EC_H__
|
|
||||||
|
|
||||||
#include <baseboard/ec.h>
|
|
||||||
|
|
||||||
/* eSPI virtual wire reporting */
|
|
||||||
#define EC_SCI_GPI GPE0_ESPI
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,10 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef VARIANT_GPIO_H
|
|
||||||
#define VARIANT_GPIO_H
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
|
|
||||||
/* Copied from baseboard and may need to change for the new variant. */
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,21 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef VARIANT_H
|
|
||||||
#define VARIANT_H
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <gpio.h>
|
|
||||||
#include <variant/gpio.h>
|
|
||||||
|
|
||||||
const static sku_info skus[] = {
|
|
||||||
/* Deltan 360 - invalid configuration */
|
|
||||||
{ .id = -1, .name = "sku_invalid" },
|
|
||||||
/* Deltan */
|
|
||||||
{ .id = 1, .name = "sku1" },
|
|
||||||
/* Deltan 360 signed - invalid configuration */
|
|
||||||
{ .id = -1, .name = "sku_invalid" },
|
|
||||||
/* Deltan signed */
|
|
||||||
{ .id = 2, .name = "sku2" },
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,81 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <gpio.h>
|
|
||||||
#include <soc/romstage.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
static const struct mb_cfg baseboard_memcfg = {
|
|
||||||
.type = MEM_TYPE_DDR4,
|
|
||||||
|
|
||||||
/* DQ byte map */
|
|
||||||
.ddr4_dq_map = {
|
|
||||||
.ddr0 = {
|
|
||||||
.dq0 = { 10, 15, 11, 14, 13, 8, 12, 9, }, /* Byte 0 */
|
|
||||||
.dq1 = { 3, 5, 1, 0, 4, 7, 2, 6, }, /* Byte 1 */
|
|
||||||
.dq2 = { 15, 8, 11, 13, 10, 12, 14, 9, }, /* Byte 2 */
|
|
||||||
.dq3 = { 1, 6, 2, 4, 7, 5, 3, 0, }, /* Byte 3 */
|
|
||||||
.dq4 = { 7, 2, 6, 3, 4, 0, 5, 1, }, /* Byte 4 */
|
|
||||||
.dq5 = { 14, 10, 15, 11, 9, 13, 8, 12, }, /* Byte 5 */
|
|
||||||
.dq6 = { 8, 10, 14, 12, 9, 13, 11, 15, }, /* Byte 6 */
|
|
||||||
.dq7 = { 2, 7, 4, 5, 1, 3, 0, 6 }, /* Byte 7 */
|
|
||||||
},
|
|
||||||
|
|
||||||
.ddr1 = {
|
|
||||||
.dq0 = { 12, 14, 10, 11, 15, 13, 9, 8, }, /* Byte 0 */
|
|
||||||
.dq1 = { 0, 6, 2, 7, 3, 5, 1, 4, }, /* Byte 1 */
|
|
||||||
.dq2 = { 10, 9, 14, 12, 11, 8, 15, 13, }, /* Byte 2 */
|
|
||||||
.dq3 = { 7, 3, 1, 4, 6, 2, 0, 5, }, /* Byte 3 */
|
|
||||||
.dq4 = { 10, 9, 13, 12, 8, 14, 11, 15, }, /* Byte 4 */
|
|
||||||
.dq5 = { 5, 4, 0, 2, 7, 3, 6, 1, }, /* Byte 5 */
|
|
||||||
.dq6 = { 15, 9, 11, 13, 10, 14, 8, 12, }, /* Byte 6 */
|
|
||||||
.dq7 = { 7, 3, 0, 4, 2, 5, 1, 6 }, /* Byte 7 */
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
/* DQS CPU<>DRAM map */
|
|
||||||
.ddr4_dqs_map = {
|
|
||||||
.ddr0 = {
|
|
||||||
.dqs0 = 1,
|
|
||||||
.dqs1 = 0,
|
|
||||||
.dqs2 = 1,
|
|
||||||
.dqs3 = 0,
|
|
||||||
.dqs4 = 0,
|
|
||||||
.dqs5 = 1,
|
|
||||||
.dqs6 = 1,
|
|
||||||
.dqs7 = 0,
|
|
||||||
},
|
|
||||||
.ddr1 = {
|
|
||||||
.dqs0 = 1,
|
|
||||||
.dqs1 = 0,
|
|
||||||
.dqs2 = 1,
|
|
||||||
.dqs3 = 0,
|
|
||||||
.dqs4 = 1,
|
|
||||||
.dqs5 = 0,
|
|
||||||
.dqs6 = 1,
|
|
||||||
.dqs7 = 0,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
.ect = false, /* Disable Early Command Training */
|
|
||||||
};
|
|
||||||
|
|
||||||
void variant_memory_init(FSPM_UPD *mupd)
|
|
||||||
{
|
|
||||||
const struct mem_spd spd_info = {
|
|
||||||
.topo = MEM_TOPO_DIMM_MODULE,
|
|
||||||
.smbus = {
|
|
||||||
[0] = { .addr_dimm[0] = 0x50, },
|
|
||||||
[1] = { .addr_dimm[0] = 0x52, },
|
|
||||||
},
|
|
||||||
};
|
|
||||||
const bool half_populated = false;
|
|
||||||
struct mb_cfg new_board_cfg_ddr4;
|
|
||||||
|
|
||||||
memcpy(&new_board_cfg_ddr4, &baseboard_memcfg, sizeof(baseboard_memcfg));
|
|
||||||
|
|
||||||
new_board_cfg_ddr4.ddr4_config.dq_pins_interleaved = gpio_get(MEMORY_INTERLEAVED);
|
|
||||||
|
|
||||||
memcfg_init(mupd, &new_board_cfg_ddr4, &spd_info, half_populated);
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
chip soc/intel/tigerlake
|
|
||||||
|
|
||||||
# PCIe Port 8 for LAN
|
|
||||||
register "PcieRpEnable[7]" = "1"
|
|
||||||
register "PcieClkSrcUsage[3]" = "PCIE_CLK_LAN"
|
|
||||||
register "PcieClkSrcClkReq[3]" = "3"
|
|
||||||
|
|
||||||
device domain 0 on
|
|
||||||
device pci 1f.6 on end # GbE 0x15FC
|
|
||||||
device pci 15.0 on
|
|
||||||
chip drivers/i2c/generic
|
|
||||||
register "hid" = ""MLFS0000""
|
|
||||||
register "desc" = ""Melfas Touchscreen""
|
|
||||||
register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E1_IRQ)"
|
|
||||||
register "probed" = "1"
|
|
||||||
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A10)"
|
|
||||||
register "reset_delay_ms" = "10"
|
|
||||||
register "reset_off_delay_ms" = "5"
|
|
||||||
register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B3)"
|
|
||||||
register "stop_delay_ms" = "10"
|
|
||||||
register "enable_gpio" =
|
|
||||||
"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B21)"
|
|
||||||
register "enable_delay_ms" = "55"
|
|
||||||
register "has_power_resource" = "1"
|
|
||||||
register "device_present_gpio" = "GPP_B4"
|
|
||||||
register "device_present_gpio_invert" = "1"
|
|
||||||
device i2c 34 on end
|
|
||||||
end
|
|
||||||
end # I2C #0
|
|
||||||
device pci 15.1 on
|
|
||||||
chip drivers/i2c/hid
|
|
||||||
register "generic.hid" = ""PNP0C50""
|
|
||||||
register "generic.desc" = ""Cirque Touchpad""
|
|
||||||
register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E7_IRQ)"
|
|
||||||
register "generic.probed" = "1"
|
|
||||||
register "generic.wake" = "GPE0_DW1_07"
|
|
||||||
register "hid_desc_reg_offset" = "0x20"
|
|
||||||
device i2c 2c on end
|
|
||||||
end
|
|
||||||
end # I2C #1
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,5 +0,0 @@
|
||||||
## SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
bootblock-y += gpio.c
|
|
||||||
ramstage-y += gpio.c
|
|
||||||
romstage-y += memory.c
|
|
|
@ -1,35 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <commonlib/helpers.h>
|
|
||||||
#include <gpio.h>
|
|
||||||
#include <variant/variant.h>
|
|
||||||
|
|
||||||
/* Pad configuration in ramstage */
|
|
||||||
static const struct pad_config gpio_table[] = {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct pad_config *variant_override_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = ARRAY_SIZE(gpio_table);
|
|
||||||
return gpio_table;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Early pad configuration in bootblock */
|
|
||||||
static const struct pad_config early_gpio_table[] = {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct pad_config *variant_early_gpio_table(size_t *num)
|
|
||||||
{
|
|
||||||
*num = ARRAY_SIZE(early_gpio_table);
|
|
||||||
return early_gpio_table;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check if the device has a 360 sensor board present */
|
|
||||||
int has_360_sensor_board(void)
|
|
||||||
{
|
|
||||||
return gpio_get(SENSOR_DET_360) == 0;
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef __VARIANT_EC_H__
|
|
||||||
#define __VARIANT_EC_H__
|
|
||||||
|
|
||||||
#include <baseboard/ec.h>
|
|
||||||
|
|
||||||
/* eSPI virtual wire reporting */
|
|
||||||
#define EC_SCI_GPI GPE0_ESPI
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,10 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef VARIANT_GPIO_H
|
|
||||||
#define VARIANT_GPIO_H
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
|
|
||||||
/* Copied from baseboard and may need to change for the new variant. */
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#ifndef VARIANT_H
|
|
||||||
#define VARIANT_H
|
|
||||||
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
|
|
||||||
/* TODO b/153027724: Sensor detection pin */
|
|
||||||
#define SENSOR_DET_360 GPP_C10
|
|
||||||
|
|
||||||
const static sku_info skus[] = {
|
|
||||||
/* Deltaur 360 */
|
|
||||||
{ .id = 1, .name = "sku1" },
|
|
||||||
/* Deltaur */
|
|
||||||
{ .id = 2, .name = "sku2" },
|
|
||||||
/* Deltaur 360 signed */
|
|
||||||
{ .id = 3, .name = "sku3" },
|
|
||||||
/* Deltaur signed */
|
|
||||||
{ .id = 4, .name = "sku4" },
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,89 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
||||||
|
|
||||||
#include <baseboard/gpio.h>
|
|
||||||
#include <baseboard/variants.h>
|
|
||||||
#include <gpio.h>
|
|
||||||
#include <variant/gpio.h>
|
|
||||||
|
|
||||||
static const struct mb_cfg baseboard_memcfg = {
|
|
||||||
.type = MEM_TYPE_LP4X,
|
|
||||||
|
|
||||||
/* DQ byte map */
|
|
||||||
.lp4x_dq_map = {
|
|
||||||
.ddr0 = {
|
|
||||||
.dq0 = { 8, 9, 12, 11, 13, 15, 10, 14, }, /* DDR0_DQ0[7:0] */
|
|
||||||
.dq1 = { 4, 6, 0, 2, 5, 7, 1, 3, }, /* DDR0_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr1 = {
|
|
||||||
.dq0 = { 2, 3, 0, 6, 1, 7, 5, 4, }, /* DDR1_DQ0[7:0] */
|
|
||||||
.dq1 = { 15, 14, 13, 8, 12, 11, 9, 10, }, /* DDR1_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr2 = {
|
|
||||||
.dq0 = { 1, 0, 3, 2, 5, 4, 7, 6, }, /* DDR2_DQ0[7:0] */
|
|
||||||
.dq1 = { 14, 15, 12, 13, 8, 10, 9, 11, }, /* DDR2_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr3 = {
|
|
||||||
.dq0 = { 8, 10, 11, 9, 15, 12, 14, 13, }, /* DDR3_DQ0[7:0] */
|
|
||||||
.dq1 = { 4, 7, 6, 5, 2, 0, 1, 3, }, /* DDR3_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr4 = {
|
|
||||||
.dq0 = { 8, 9, 10, 11, 13, 12, 15, 14, }, /* DDR4_DQ0[7:0] */
|
|
||||||
.dq1 = { 7, 6, 4, 5, 0, 2, 1, 3, }, /* DDR4_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr5 = {
|
|
||||||
.dq0 = { 1, 3, 0, 2, 6, 4, 5, 7, }, /* DDR5_DQ0[7:0] */
|
|
||||||
.dq1 = { 14, 15, 10, 12, 8, 13, 11, 9, }, /* DDR5_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr6 = {
|
|
||||||
.dq0 = { 1, 0, 2, 4, 5, 3, 7, 6, }, /* DDR6_DQ0[7:0] */
|
|
||||||
.dq1 = { 12, 14, 15, 13, 9, 10, 8, 11, }, /* DDR6_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
.ddr7 = {
|
|
||||||
.dq0 = { 11, 9, 8, 13, 12, 14, 15, 10, }, /* DDR7_DQ0[7:0] */
|
|
||||||
.dq1 = { 4, 7, 5, 1, 2, 6, 3, 0, }, /* DDR7_DQ1[7:0] */
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
/* DQS CPU<>DRAM map */
|
|
||||||
.lp4x_dqs_map = {
|
|
||||||
.ddr0 = { .dqs0 = 1, .dqs1 = 0 }, /* DDR0_DQS[1:0] */
|
|
||||||
.ddr1 = { .dqs0 = 0, .dqs1 = 1 }, /* DDR1_DQS[1:0] */
|
|
||||||
.ddr2 = { .dqs0 = 0, .dqs1 = 1 }, /* DDR2_DQS[1:0] */
|
|
||||||
.ddr3 = { .dqs0 = 1, .dqs1 = 0 }, /* DDR3_DQS[1:0] */
|
|
||||||
.ddr4 = { .dqs0 = 1, .dqs1 = 0 }, /* DDR4_DQS[1:0] */
|
|
||||||
.ddr5 = { .dqs0 = 0, .dqs1 = 1 }, /* DDR5_DQS[1:0] */
|
|
||||||
.ddr6 = { .dqs0 = 0, .dqs1 = 1 }, /* DDR6_DQS[1:0] */
|
|
||||||
.ddr7 = { .dqs0 = 1, .dqs1 = 0 }, /* DDR7_DQS[1:0] */
|
|
||||||
},
|
|
||||||
|
|
||||||
.ect = false, /* Early Command Training */
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct mb_cfg *variant_memory_params(void)
|
|
||||||
{
|
|
||||||
return &baseboard_memcfg;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int variant_memory_sku(void)
|
|
||||||
{
|
|
||||||
gpio_t spd_gpios[] = {
|
|
||||||
GPIO_MEM_CONFIG_0,
|
|
||||||
GPIO_MEM_CONFIG_1,
|
|
||||||
GPIO_MEM_CONFIG_2,
|
|
||||||
GPIO_MEM_CONFIG_3,
|
|
||||||
GPIO_MEM_CONFIG_4,
|
|
||||||
};
|
|
||||||
|
|
||||||
return gpio_base2_value(spd_gpios, ARRAY_SIZE(spd_gpios));
|
|
||||||
}
|
|
||||||
|
|
||||||
void variant_memory_init(FSPM_UPD *mupd)
|
|
||||||
{
|
|
||||||
const struct mb_cfg *board_cfg = variant_memory_params();
|
|
||||||
const struct mem_spd spd_info = {
|
|
||||||
.topo = MEM_TOPO_MEMORY_DOWN,
|
|
||||||
.cbfs_index = variant_memory_sku(),
|
|
||||||
};
|
|
||||||
const bool half_populated = false;
|
|
||||||
memcfg_init(mupd, board_cfg, &spd_info, half_populated);
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
chip soc/intel/tigerlake
|
|
||||||
|
|
||||||
device domain 0 on
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
Loading…
Reference in New Issue