Yidi Lin has submitted this change. ( https://review.coreboot.org/c/coreboot/+/85742?usp=email )
Change subject: mb/google/corsola: Add new board variant Wyrdeer ......................................................................
mb/google/corsola: Add new board variant Wyrdeer
Add a new Staryu follower device 'Wyrdeer'. And add MIPI panel support.
BUG=b:379810871 TEST=emerge-staryu coreboot chromeos-bootimage and check FW screen BRANCH=corsola
Change-Id: I07b73c97d8d51b32f557e31d834ffc6cfb8420ed Signed-off-by: Yang Wu wuyang5@huaqin.corp-partner.google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/85742 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Yidi Lin yidilin@google.com Reviewed-by: Yu-Ping Wu yupingso@google.com --- M src/mainboard/google/corsola/Kconfig M src/mainboard/google/corsola/Kconfig.name M src/mainboard/google/corsola/Makefile.mk A src/mainboard/google/corsola/panel_wyrdeer.c 4 files changed, 47 insertions(+), 2 deletions(-)
Approvals: build bot (Jenkins): Verified Yidi Lin: Looks good to me, approved Yu-Ping Wu: Looks good to me, approved
diff --git a/src/mainboard/google/corsola/Kconfig b/src/mainboard/google/corsola/Kconfig index 41f9845..6977bd4 100644 --- a/src/mainboard/google/corsola/Kconfig +++ b/src/mainboard/google/corsola/Kconfig @@ -23,7 +23,8 @@
config BOARD_GOOGLE_STARYU_COMMON def_bool BOARD_GOOGLE_STARMIE || \ - BOARD_GOOGLE_WUGTRIO + BOARD_GOOGLE_WUGTRIO || \ + BOARD_GOOGLE_WYRDEER
if BOARD_GOOGLE_CORSOLA_COMMON
@@ -31,7 +32,8 @@ def_bool BOARD_GOOGLE_KINGLER_COMMON || \ BOARD_GOOGLE_MAGIKARP || \ BOARD_GOOGLE_TENTACRUEL || \ - BOARD_GOOGLE_WUGTRIO + BOARD_GOOGLE_WUGTRIO || \ + BOARD_GOOGLE_WYRDEER
config BOARD_SPECIFIC_OPTIONS def_bool y @@ -70,6 +72,7 @@ select FW_CONFIG select FW_CONFIG_SOURCE_CHROMEEC_CBI select MIPI_PANEL_KD_KD101NE3_40TI if BOARD_GOOGLE_WUGTRIO + select MIPI_PANEL_KD_KD110N11_51IE if BOARD_GOOGLE_WYRDEER select MIPI_PANEL_LCE_LMFBX101117480 if BOARD_GOOGLE_WUGTRIO select MIPI_PANEL_STA_ER88577 if BOARD_GOOGLE_WUGTRIO select MIPI_PANEL_STA_HIMAX83102_J02 if BOARD_GOOGLE_STARMIE @@ -99,6 +102,7 @@ default "Veluza" if BOARD_GOOGLE_VELUZA default "Voltorb" if BOARD_GOOGLE_VOLTORB default "Wugtrio" if BOARD_GOOGLE_WUGTRIO + default "Wyrdeer" if BOARD_GOOGLE_WYRDEER
config BOOT_DEVICE_SPI_FLASH_BUS int diff --git a/src/mainboard/google/corsola/Kconfig.name b/src/mainboard/google/corsola/Kconfig.name index ab6a1328..5de50c3 100644 --- a/src/mainboard/google/corsola/Kconfig.name +++ b/src/mainboard/google/corsola/Kconfig.name @@ -47,3 +47,6 @@
config BOARD_GOOGLE_WUGTRIO bool "-> Wugtrio" + +config BOARD_GOOGLE_WYRDEER + bool "-> Wyrdeer" diff --git a/src/mainboard/google/corsola/Makefile.mk b/src/mainboard/google/corsola/Makefile.mk index 6ff22c6..ef60282 100644 --- a/src/mainboard/google/corsola/Makefile.mk +++ b/src/mainboard/google/corsola/Makefile.mk @@ -29,3 +29,4 @@
ramstage-$(CONFIG_BOARD_GOOGLE_STARMIE) += panel_starmie.c ramstage-$(CONFIG_BOARD_GOOGLE_WUGTRIO) += panel_wugtrio.c +ramstage-$(CONFIG_BOARD_GOOGLE_WYRDEER) += panel_wyrdeer.c diff --git a/src/mainboard/google/corsola/panel_wyrdeer.c b/src/mainboard/google/corsola/panel_wyrdeer.c new file mode 100644 index 0000000..5ae3120 --- /dev/null +++ b/src/mainboard/google/corsola/panel_wyrdeer.c @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <console/console.h> +#include <soc/tps65132s.h> + +#include "gpio.h" +#include "panel.h" + +static void mipi_panel_power_on(void) +{ + struct tps65132s_cfg config = { + .i2c_bus = PMIC_I2C_BUS, + .en = GPIO_EN_PP3300_DISP_X, + .sync = GPIO_TCHPAD_INT_ODL, + }; + tps65132s_power_on(&config); +} + +static struct panel_description wyrdeer_panels[] = { + /* K&D Technology panel */ + [6] = { + .configure_backlight = backlight_control, + .power_on = mipi_panel_power_on, + .name = "KD_KD110N11_51IE", + .disp_path = DISP_PATH_MIPI, + .orientation = LB_FB_ORIENTATION_LEFT_UP, + }, +}; + +struct panel_description *get_panel_description(void) +{ + uint32_t id = panel_id() & 0xF; + if (id >= ARRAY_SIZE(wyrdeer_panels)) + return NULL; + + return &wyrdeer_panels[id]; +}