summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2022-08-05 15:29:22 -0700
committerTim Wawrzynczak <twawrzynczak@chromium.org>2022-08-17 19:46:07 +0000
commit9022344cde972437f14a8516abd7354acbdad136 (patch)
tree579708fd1f21199fcb171c5970538513b37d67ef /src
parentc760e41a414d2c1aec31982530944bae62c828f0 (diff)
mb/google/brya/var/ghost: Enable NXP UWB SR150 chip
Add GPIO configuration and device tree to enable the chip. BUG=b:240607130 BRANCH=firmware-brya-14505.B TEST=Patch linux with NXP's pending drivers UWB device is probed and can respond to a simple hello packet Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I83be712d243c365a5cbfe6f69a6bd85440c5bec7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/66471 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/drivers/nxp/uwb/Makefile.inc2
-rw-r--r--src/mainboard/google/brya/Kconfig1
-rw-r--r--src/mainboard/google/brya/variants/ghost/gpio.c12
-rw-r--r--src/mainboard/google/brya/variants/ghost/overridetree.cb17
4 files changed, 25 insertions, 7 deletions
diff --git a/src/drivers/nxp/uwb/Makefile.inc b/src/drivers/nxp/uwb/Makefile.inc
index 11ba2736ab..9501a28c32 100644
--- a/src/drivers/nxp/uwb/Makefile.inc
+++ b/src/drivers/nxp/uwb/Makefile.inc
@@ -1 +1 @@
-ramstage-$(CONFIG_DRIVER_NXP_UWB_SR1XX) += uwb.c
+ramstage-$(CONFIG_DRIVERS_NXP_UWB_SR1XX) += uwb.c
diff --git a/src/mainboard/google/brya/Kconfig b/src/mainboard/google/brya/Kconfig
index 2c27c71a57..9f124b38c4 100644
--- a/src/mainboard/google/brya/Kconfig
+++ b/src/mainboard/google/brya/Kconfig
@@ -67,6 +67,7 @@ config BOARD_GOOGLE_BASEBOARD_GHOST
select DRIVERS_I2C_CS42L42
select DRIVERS_I2C_MAX98396
select DRIVERS_INTEL_MIPI_CAMERA
+ select DRIVERS_NXP_UWB_SR1XX
select GBB_FLAG_DISABLE_LID_SHUTDOWN if VBOOT
select SOC_INTEL_COMMON_BLOCK_IPU
diff --git a/src/mainboard/google/brya/variants/ghost/gpio.c b/src/mainboard/google/brya/variants/ghost/gpio.c
index 73d6c7b025..1240803fb0 100644
--- a/src/mainboard/google/brya/variants/ghost/gpio.c
+++ b/src/mainboard/google/brya/variants/ghost/gpio.c
@@ -46,16 +46,16 @@ static const struct pad_config gpio_table[] = {
/* GPP_A4 : GPP_A4 ==> ESPI_PCH_CS_EC_R_L configured on reset, do not touch */
/* GPP_A5 : GPP_A5 ==> ESPI_ALERT0 configured on reset, do not touch */
/* GPP_A6 : GPP_A6 ==> ESPI_ALERT1 configured on reset, do not touch */
- /* GPP_A7 : No heuristic was found useful */
- PAD_NC(GPP_A7, NONE),
+ /* GPP_A7 : PCH_UWB_WAKE */
+ PAD_CFG_GPO(GPP_A7, 0, DEEP),
/* GPP_A8 : HP_RST_ODL */
PAD_CFG_GPO(GPP_A8, 1, PLTRST),
/* GPP_A9 : GPP_A9 ==> ESPI_PCH_CLK_R configured on reset, do not touch */
/* GPP_A10 : GPP_A10 ==> ESPI_PCH_RST_EC_L configured on reset, do not touch */
/* GPP_A11 : [NF6: USB_C_GPP_A11] ==> EN_SPKR_PA */
PAD_CFG_GPO(GPP_A11, 1, DEEP),
- /* GPP_A12 : No heuristic was found useful */
- PAD_NC(GPP_A12, NONE),
+ /* GPP_A12 : EN_PP1800_UWB */
+ PAD_CFG_GPO(GPP_A12, 0, DEEP),
/* GPP_A13 : [NF6: USB_C_GPP_A13] ==> GSC_PCH_INT_ODL */
PAD_CFG_GPI_APIC(GPP_A13, NONE, PLTRST, LEVEL, INVERT),
/* GPP_A14 : [NF1: USB_OC1# NF2: DDSP_HPD3 NF4: DISP_MISC3 NF6: USB_C_GPP_A14] ==> USB_C1_OC_ODL */
@@ -258,8 +258,8 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_F19, NONE, DEEP, NF6),
/* GPP_F20 : [] ==> UCAM_RST_L */
PAD_CFG_GPO(GPP_F20, 0, DEEP),
- /* GPP_F21 : No heuristic was found useful */
- PAD_NC(GPP_F21, NONE),
+ /* GPP_F21 : UWB_PCH_INT */
+ PAD_CFG_GPI_INT(GPP_F21, NONE, PLTRST, LEVEL),
/* GPP_F22 : No heuristic was found useful */
PAD_NC(GPP_F22, NONE),
/* GPP_F23 : No heuristic was found useful */
diff --git a/src/mainboard/google/brya/variants/ghost/overridetree.cb b/src/mainboard/google/brya/variants/ghost/overridetree.cb
index 211819fa22..95c1b4dba0 100644
--- a/src/mainboard/google/brya/variants/ghost/overridetree.cb
+++ b/src/mainboard/google/brya/variants/ghost/overridetree.cb
@@ -42,6 +42,12 @@ chip soc/intel/alderlake
[PchSerialIoIndexI2C7] = PchSerialIoDisabled,
}"
+ # GSPI config
+ register "serial_io_gspi_mode" = "{
+ [PchSerialIoIndexGSPI0] = PchSerialIoPci,
+ [PchSerialIoIndexGSPI1] = PchSerialIoPci,
+ }"
+
register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC0)" # USB2_C0
register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC1)" # USB2_C1
register "usb2_ports[2]" = "USB2_PORT_EMPTY"
@@ -192,6 +198,17 @@ chip soc/intel/alderlake
device generic 0 on end
end
end
+ device ref gspi0 on
+ chip drivers/nxp/uwb
+ register "name" = ""UWB0""
+ register "desc" = ""NXP UWB Module""
+ register "speed" = "1000000"
+ register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_HIGH(GPP_F21)"
+ register "ce_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A12)"
+ register "ri_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A7)"
+ device spi 0 on end
+ end
+ end
device ref gspi1 on
chip drivers/spi/acpi
register "name" = ""CRFP""