summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCliff Huang <cliff.huang@intel.corp-partner.google.com>2022-04-28 18:38:44 -0700
committerFelix Held <felix-coreboot@felixheld.de>2022-06-10 13:13:03 +0000
commit6c6be42c9fe1e03550aae6bf33bd8357021831b9 (patch)
tree997f07ab1802cb36d21664df4d94b8b5548239b7
parentedbbabcbe7d3f3dd4e636ab7f363b22687c0399e (diff)
mb/intel/adlrvp: x4 slot support (SD card support) for Adl-P RVP
Use clock src and clock req to 7 for x4 slot. Remove free running clock setting for clock 6. Configure gpio for source clock OEB native function going to x4 slot. BUG=b:233252409 BRANCH=firmware-brya-14505.B TEST=insert SD AIC to x4 slot. boot to OS and use 'lspci' to check the device. ex: 58:00.0 SD Host controller: O2 Micro, Inc. Device 8621 (rev 01) NOTE: The bus number varies. Signed-off-by: Cliff Huang <cliff.huang@intel.corp-partner.google.com> Change-Id: Iba5d83d133b6ae8cd389ddd971db308170094300 Reviewed-on: https://review.coreboot.org/c/coreboot/+/63945 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
-rw-r--r--src/mainboard/intel/adlrvp/devicetree.cb10
-rw-r--r--src/mainboard/intel/adlrvp/early_gpio.c9
-rw-r--r--src/mainboard/intel/adlrvp/gpio.c6
3 files changed, 15 insertions, 10 deletions
diff --git a/src/mainboard/intel/adlrvp/devicetree.cb b/src/mainboard/intel/adlrvp/devicetree.cb
index 8847d88f93..df4ac6046a 100644
--- a/src/mainboard/intel/adlrvp/devicetree.cb
+++ b/src/mainboard/intel/adlrvp/devicetree.cb
@@ -52,12 +52,14 @@ chip soc/intel/alderlake
.flags = PCIE_RP_CLK_REQ_DETECT,
}"
- # Enable PCH PCIE RP 8 using free running CLK (0x80)
- # Clock source is shared with LAN and hence marked as free running.
+ # NOTE: requires GPP_A7 set to Native Function 1 for SRCCLK_OE7
register "pch_pcie_rp[PCH_RP(8)]" = "{
- .flags = PCIE_RP_CLK_SRC_UNUSED,
+ .clk_src = 7,
+ .clk_req = 7,
+ .flags = PCIE_RP_CLK_REQ_DETECT | PCIE_RP_LTR,
+ .PcieRpL1Substates = L1_SS_L1_2,
+ .pcie_rp_detect_timeout_ms = 50,
}"
- register "pcie_clk_config_flag[6]" = "PCIE_CLK_FREE_RUNNING"
# Enable PCH PCIE RP 9 using CLK 1
register "pch_pcie_rp[PCH_RP(9)]" = "{
diff --git a/src/mainboard/intel/adlrvp/early_gpio.c b/src/mainboard/intel/adlrvp/early_gpio.c
index 57cadfade8..af933ebd8a 100644
--- a/src/mainboard/intel/adlrvp/early_gpio.c
+++ b/src/mainboard/intel/adlrvp/early_gpio.c
@@ -18,6 +18,15 @@ static const struct pad_config early_gpio_table[] = {
/* EC_IN_RW */
PAD_CFG_GPI(GPP_E7, NONE, DEEP),
+ /* x4 PCIE slot 1 RESET */
+ PAD_CFG_GPO(GPP_F10, 0, PLTRST),
+
+ /* Support external source clock via OEB6 and OEB7 */
+ /* SRCCLK_OEB6 for built-in LAN */
+ PAD_CFG_NF(GPP_E5, NONE, PLTRST, NF2),
+ /* SRCCLK_OEB7 for x4 slot */
+ PAD_CFG_NF(GPP_A7, NONE, PLTRST, NF1),
+
/* CPU PCIe VGPIO for RP0 */
PAD_CFG_NF_VWEN(GPP_vGPIO_PCIE_0, NONE, PLTRST, NF1),
PAD_CFG_NF_VWEN(GPP_vGPIO_PCIE_1, NONE, PLTRST, NF1),
diff --git a/src/mainboard/intel/adlrvp/gpio.c b/src/mainboard/intel/adlrvp/gpio.c
index 92a8c30420..e4483d2257 100644
--- a/src/mainboard/intel/adlrvp/gpio.c
+++ b/src/mainboard/intel/adlrvp/gpio.c
@@ -67,10 +67,6 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_GPO(GPP_B4, 1, PLTRST),
/* M.2_PCH_SSD_PWREN */
PAD_CFG_GPO(GPP_D16, 1, PLTRST),
- /* SRCCLK_OEB7 */
- PAD_CFG_GPO(GPP_A7, 0, PLTRST),
- /* SRCCLK_OEB6 */
- PAD_CFG_GPO(GPP_E5, 0, PLTRST),
/* CAM1_RST */
PAD_CFG_GPO(GPP_R5, 1, PLTRST),
@@ -189,8 +185,6 @@ static const struct pad_config gpio_table[] = {
/* I2S0_RXD */
PAD_CFG_NF(GPP_R3, NONE, DEEP, NF2),
- /* I2S2_SCLK */
- PAD_CFG_NF(GPP_A7, NONE, DEEP, NF1),
/* I2S2_SFRM */
PAD_CFG_NF(GPP_A8, NONE, DEEP, NF1),
/* I2S2_TXD */