mb/google/corsola: Add detachable Starmie as variant
The 'Starmie' is a mt8186 detachable reference design that will share most of Corsola design. For AP firmware, there will be a few changes, mostly in display (MIPI interface and w/o bridge), so we create it as a variant in Corsola. BUG=b:275470328 BRANCH=corsola TEST=./util/abuild/abuild -t google/corsola -b starmie -a Change-Id: Ic1556ad0031e9a24bf26fa84d7713b7b7928312a Signed-off-by: Ruihai Zhou <zhouruihai@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74048 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yidi Lin <yidilin@google.com> Reviewed-by: cong yang <yangcong5@huaqin.corp-partner.google.com> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
		@@ -12,6 +12,10 @@ config BOARD_GOOGLE_KRABBY_COMMON
 | 
				
			|||||||
	def_bool n
 | 
						def_bool n
 | 
				
			||||||
	select BOARD_GOOGLE_CORSOLA_COMMON
 | 
						select BOARD_GOOGLE_CORSOLA_COMMON
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BOARD_GOOGLE_STARMIE_COMMON
 | 
				
			||||||
 | 
						def_bool n
 | 
				
			||||||
 | 
						select BOARD_GOOGLE_CORSOLA_COMMON
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if BOARD_GOOGLE_CORSOLA_COMMON
 | 
					if BOARD_GOOGLE_CORSOLA_COMMON
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config VBOOT
 | 
					config VBOOT
 | 
				
			||||||
@@ -54,6 +58,7 @@ config MAINBOARD_PART_NUMBER
 | 
				
			|||||||
	default "Tentacruel" if BOARD_GOOGLE_TENTACRUEL
 | 
						default "Tentacruel" if BOARD_GOOGLE_TENTACRUEL
 | 
				
			||||||
	default "Magikarp" if BOARD_GOOGLE_MAGIKARP
 | 
						default "Magikarp" if BOARD_GOOGLE_MAGIKARP
 | 
				
			||||||
	default "Voltorb" if BOARD_GOOGLE_VOLTORB
 | 
						default "Voltorb" if BOARD_GOOGLE_VOLTORB
 | 
				
			||||||
 | 
						default "Starmie" if BOARD_GOOGLE_STARMIE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config BOOT_DEVICE_SPI_FLASH_BUS
 | 
					config BOOT_DEVICE_SPI_FLASH_BUS
 | 
				
			||||||
	int
 | 
						int
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,3 +25,9 @@ config BOARD_GOOGLE_TENTACRUEL
 | 
				
			|||||||
config BOARD_GOOGLE_MAGIKARP
 | 
					config BOARD_GOOGLE_MAGIKARP
 | 
				
			||||||
	bool "->  Magikarp"
 | 
						bool "->  Magikarp"
 | 
				
			||||||
	select BOARD_GOOGLE_KRABBY_COMMON
 | 
						select BOARD_GOOGLE_KRABBY_COMMON
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					comment "Starmie"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config BOARD_GOOGLE_STARMIE
 | 
				
			||||||
 | 
						bool "->  Starmie"
 | 
				
			||||||
 | 
						select BOARD_GOOGLE_STARMIE_COMMON
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -125,14 +125,11 @@ static const struct edp_bridge ps8640_bridge = {
 | 
				
			|||||||
	.post_power_on = bridge_ps8640_post_power_on,
 | 
						.post_power_on = bridge_ps8640_post_power_on,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_Static_assert(CONFIG(BOARD_GOOGLE_KINGLER_COMMON) + CONFIG(BOARD_GOOGLE_KRABBY_COMMON) == 1,
 | 
					 | 
				
			||||||
	       "Exactly one of KINGLER and KRABBY must be set");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int configure_display(void)
 | 
					int configure_display(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct edid edid;
 | 
						struct edid edid;
 | 
				
			||||||
	const u8 i2c_bus = I2C0;
 | 
						const u8 i2c_bus = I2C0;
 | 
				
			||||||
	const struct edp_bridge *bridge;
 | 
						const struct edp_bridge *bridge = NULL;
 | 
				
			||||||
	uint32_t board_version = board_id();
 | 
						uint32_t board_version = board_id();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (CONFIG(BOARD_GOOGLE_KINGLER_COMMON))
 | 
						if (CONFIG(BOARD_GOOGLE_KINGLER_COMMON))
 | 
				
			||||||
@@ -140,9 +137,12 @@ int configure_display(void)
 | 
				
			|||||||
			bridge = &ps8640_bridge;
 | 
								bridge = &ps8640_bridge;
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			bridge = &anx7625_bridge;
 | 
								bridge = &anx7625_bridge;
 | 
				
			||||||
	else /* BOARD_GOOGLE_KRABBY_COMMON */
 | 
						else if (CONFIG(BOARD_GOOGLE_KRABBY_COMMON))
 | 
				
			||||||
		bridge = &ps8640_bridge;
 | 
							bridge = &ps8640_bridge;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (!bridge)
 | 
				
			||||||
 | 
							return -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	printk(BIOS_INFO, "%s: Starting display init\n", __func__);
 | 
						printk(BIOS_INFO, "%s: Starting display init\n", __func__);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mtk_i2c_bus_init(i2c_bus, I2C_SPEED_FAST);
 | 
						mtk_i2c_bus_init(i2c_bus, I2C_SPEED_FAST);
 | 
				
			||||||
@@ -181,6 +181,7 @@ int configure_display(void)
 | 
				
			|||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						assert(bridge->post_power_on);
 | 
				
			||||||
	if (bridge->post_power_on(i2c_bus, &edid) < 0) {
 | 
						if (bridge->post_power_on(i2c_bus, &edid) < 0) {
 | 
				
			||||||
		printk(BIOS_ERR, "%s: Failed to post power on bridge\n", __func__);
 | 
							printk(BIOS_ERR, "%s: Failed to post power on bridge\n", __func__);
 | 
				
			||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user