Adapted from Chromium commits 59938a0, 5a4ea6e, 88999de. Add UPD to config USB2 PERPORTRXISET for D-stepping BSW SoC. Ensure PerPortRXISet UPD offsets align with FSP. Ensure UPD values not defined in devicetree.cb are referred from *.dsc. Original-Change-Id: Ib0cdee47692e492a78c34e2dd192447b92253e35 Original-Change-Id: If0d8419d4c70864bd385b5699e0e6d1ec515d26a Original-Change-Id: I3a1d688282303e8c367620ac8bb3e2cba7ab3dcf Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Original-Tested-by: Keith Tzeng <keith.tzeng@quantatw.com> Change-Id: I87eda6ea6688931f1a1b069c38ffc515398ad396 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/21373 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
181 lines
4.9 KiB
C
181 lines
4.9 KiB
C
/*
|
|
* This file is part of the coreboot project.
|
|
*
|
|
* Copyright (C) 2013 Google Inc.
|
|
* Copyright (C) 2015 Intel Corp.
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
/*
|
|
* The devicetree parser expects chip.h to reside directly in the path
|
|
* specified by the devicetree.
|
|
*/
|
|
|
|
#ifndef _SOC_CHIP_H_
|
|
#define _SOC_CHIP_H_
|
|
|
|
#include <stdint.h>
|
|
#include <fsp/util.h>
|
|
#include <soc/pci_devs.h>
|
|
|
|
#define SVID_CONFIG1 1
|
|
#define SVID_CONFIG3 3
|
|
#define SVID_PMIC_CONFIG 8
|
|
|
|
#define MEM_DDR3 0
|
|
#define MEM_LPDDR3 1
|
|
|
|
enum lpe_clk_src {
|
|
LPE_CLK_SRC_XTAL,
|
|
LPE_CLK_SRC_PLL,
|
|
};
|
|
|
|
enum usb_comp_bg_value {
|
|
USB_COMP_BG_575_MV = 7,
|
|
USB_COMP_BG_650_MV = 6,
|
|
USB_COMP_BG_550_MV = 5,
|
|
USB_COMP_BG_537_MV = 4,
|
|
USB_COMP_BG_625_MV = 3,
|
|
USB_COMP_BG_700_MV = 2,
|
|
USB_COMP_BG_600_MV = 1,
|
|
USB_COMP_BG_675_MV = 0,
|
|
};
|
|
|
|
|
|
struct soc_intel_braswell_config {
|
|
uint8_t enable_xdp_tap;
|
|
uint8_t clkreq_enable;
|
|
|
|
/* Disable SLP_X stretching after SUS power well loss. */
|
|
int disable_slp_x_stretch_sus_fail;
|
|
|
|
/* LPE Audio Clock configuration. */
|
|
enum lpe_clk_src lpe_codec_clk_src; /* 0=xtal 1=PLL, Both are 19.2Mhz */
|
|
|
|
/* Native SD Card controller - override controller capabilities. */
|
|
uint32_t sdcard_cap_low;
|
|
uint32_t sdcard_cap_high;
|
|
|
|
/* Enable devices in ACPI mode */
|
|
int lpss_acpi_mode;
|
|
int emmc_acpi_mode;
|
|
int sd_acpi_mode;
|
|
int lpe_acpi_mode;
|
|
|
|
/* Allow PCIe devices to wake system from suspend. */
|
|
int pcie_wake_enable;
|
|
|
|
/* Program USB2_COMPBG register.
|
|
* [10:7] - select vref to AFE port
|
|
* x111 - 575mV, x110 - 650mV, x101 - 550mV, x100 - 537.5mV,
|
|
* x011 - 625mV, x010 - 700mV, x001 - 600mV, x000 - 675mV
|
|
*/
|
|
enum usb_comp_bg_value usb_comp_bg;
|
|
|
|
|
|
/*
|
|
* The following fields come from fsp_vpd.h .aka. VpdHeader.h.
|
|
* These are configuration values that are passed to FSP during
|
|
* MemoryInit.
|
|
*/
|
|
UINT16 PcdMrcInitTsegSize;
|
|
UINT16 PcdMrcInitMmioSize;
|
|
UINT8 PcdMrcInitSpdAddr1;
|
|
UINT8 PcdMrcInitSpdAddr2;
|
|
UINT8 PcdIgdDvmt50PreAlloc;
|
|
UINT8 PcdApertureSize;
|
|
UINT8 PcdGttSize;
|
|
UINT8 PcdLegacySegDecode;
|
|
UINT8 PcdDvfsEnable;
|
|
UINT8 PcdCaMirrorEn; /* Command Address Mirroring Enabled */
|
|
|
|
/*
|
|
* The following fields come from fsp_vpd.h .aka. VpdHeader.h.
|
|
* These are configuration values that are passed to FSP during
|
|
* SiliconInit.
|
|
*/
|
|
UINT8 PcdSdcardMode;
|
|
UINT8 PcdEnableHsuart0;
|
|
UINT8 PcdEnableHsuart1;
|
|
UINT8 PcdEnableAzalia;
|
|
UINT8 PcdEnableSata;
|
|
UINT8 PcdEnableXhci;
|
|
UINT8 PcdEnableLpe;
|
|
UINT8 PcdEnableDma0;
|
|
UINT8 PcdEnableDma1;
|
|
UINT8 PcdEnableI2C0;
|
|
UINT8 PcdEnableI2C1;
|
|
UINT8 PcdEnableI2C2;
|
|
UINT8 PcdEnableI2C3;
|
|
UINT8 PcdEnableI2C4;
|
|
UINT8 PcdEnableI2C5;
|
|
UINT8 PcdEnableI2C6;
|
|
UINT8 PunitPwrConfigDisable;
|
|
UINT8 ChvSvidConfig;
|
|
UINT8 DptfDisable;
|
|
UINT8 PcdEmmcMode;
|
|
UINT8 PcdUsb3ClkSsc;
|
|
UINT8 PcdDispClkSsc;
|
|
UINT8 PcdSataClkSsc;
|
|
UINT8 Usb2Port0PerPortPeTxiSet;
|
|
UINT8 Usb2Port0PerPortTxiSet;
|
|
UINT8 Usb2Port0IUsbTxEmphasisEn;
|
|
UINT8 Usb2Port0PerPortTxPeHalf;
|
|
UINT8 Usb2Port1PerPortPeTxiSet;
|
|
UINT8 Usb2Port1PerPortTxiSet;
|
|
UINT8 Usb2Port1IUsbTxEmphasisEn;
|
|
UINT8 Usb2Port1PerPortTxPeHalf;
|
|
UINT8 Usb2Port2PerPortPeTxiSet;
|
|
UINT8 Usb2Port2PerPortTxiSet;
|
|
UINT8 Usb2Port2IUsbTxEmphasisEn;
|
|
UINT8 Usb2Port2PerPortTxPeHalf;
|
|
UINT8 Usb2Port3PerPortPeTxiSet;
|
|
UINT8 Usb2Port3PerPortTxiSet;
|
|
UINT8 Usb2Port3IUsbTxEmphasisEn;
|
|
UINT8 Usb2Port3PerPortTxPeHalf;
|
|
UINT8 Usb2Port4PerPortPeTxiSet;
|
|
UINT8 Usb2Port4PerPortTxiSet;
|
|
UINT8 Usb2Port4IUsbTxEmphasisEn;
|
|
UINT8 Usb2Port4PerPortTxPeHalf;
|
|
UINT8 Usb3Lane0Ow2tapgen2deemph3p5;
|
|
UINT8 Usb3Lane1Ow2tapgen2deemph3p5;
|
|
UINT8 Usb3Lane2Ow2tapgen2deemph3p5;
|
|
UINT8 Usb3Lane3Ow2tapgen2deemph3p5;
|
|
UINT8 PcdSataInterfaceSpeed;
|
|
UINT8 PcdPchUsbSsicPort;
|
|
UINT8 PcdPchUsbHsicPort;
|
|
UINT8 PcdPcieRootPortSpeed;
|
|
UINT8 PcdPchSsicEnable;
|
|
UINT32 PcdLogoPtr;
|
|
UINT32 PcdLogoSize;
|
|
UINT8 PcdRtcLock;
|
|
UINT8 PMIC_I2CBus;
|
|
UINT8 ISPEnable;
|
|
UINT8 ISPPciDevConfig;
|
|
UINT8 PcdSdDetectChk; /*Enable\Disable SD Card Detect Simulation*/
|
|
UINT8 I2C0Frequency; /* 0 - 100Khz, 1 - 400Khz, 2 - 1Mhz */
|
|
UINT8 I2C1Frequency;
|
|
UINT8 I2C2Frequency;
|
|
UINT8 I2C3Frequency;
|
|
UINT8 I2C4Frequency;
|
|
UINT8 I2C5Frequency;
|
|
UINT8 I2C6Frequency;
|
|
UINT8 D0Usb2Port0PerPortRXISet; /*setting for D0 stepping SOC*/
|
|
UINT8 D0Usb2Port1PerPortRXISet; /*setting for D0 stepping SOC*/
|
|
UINT8 D0Usb2Port2PerPortRXISet; /*setting for D0 stepping SOC*/
|
|
UINT8 D0Usb2Port3PerPortRXISet; /*setting for D0 stepping SOC*/
|
|
UINT8 D0Usb2Port4PerPortRXISet; /*setting for D0 stepping SOC*/
|
|
};
|
|
|
|
extern struct chip_operations soc_intel_braswell_ops;
|
|
|
|
#endif /* _SOC_CHIP_H_ */
|