mb/google/rauru: Add FORCE_MAX_SWING quirk for ATNA40HQ01-0
The flickering issue on ATNA40HQ01-0 panel can be resolved by setting the swing level to the maximum (500mV). Therefore, add FORCE_MAX_SWING quirk for ATNA40HQ01-0 panel where the fw config's OLED_WQXGA_PLUS field is set to PRESENT. As OLED_WQXGA_PLUS is currently only available on Navi, add an overridetree.cb for Navi. BRANCH=rauru BUG=b:392040003 TEST=check edp training pass and show log: [INFO ] fw_config match found: OLED_WQXGA_PLUS=PRESENT ... [INFO ] update_swing_preemphasis: Force swing setting to 3 (500 mV) Change-Id: I4797ef8fe2257a9b578a969794d624d6e0f97d07 Signed-off-by: Yidi Lin <yidilin@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/87028 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
This commit is contained in:
parent
5ef9259d76
commit
ee16627a6d
7 changed files with 56 additions and 2 deletions
|
|
@ -48,6 +48,12 @@ config MAINBOARD_PART_NUMBER
|
|||
default "Navi" if BOARD_GOOGLE_NAVI
|
||||
default "Rauru" if BOARD_GOOGLE_RAURU
|
||||
|
||||
config VARIANT_DIR
|
||||
default "navi" if BOARD_GOOGLE_NAVI
|
||||
|
||||
config OVERRIDE_DEVICETREE
|
||||
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" if BOARD_GOOGLE_NAVI
|
||||
|
||||
config BOOT_DEVICE_SPI_FLASH_BUS
|
||||
int
|
||||
default 8
|
||||
|
|
|
|||
|
|
@ -12,3 +12,7 @@ ramstage-y += boardid.c
|
|||
ramstage-y += mainboard.c
|
||||
ramstage-y += panel.c
|
||||
ramstage-y += regulator.c
|
||||
|
||||
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include
|
||||
|
||||
subdirs-y += variants/$(VARIANT_DIR)
|
||||
|
|
|
|||
10
src/mainboard/google/rauru/include/variants.h
Normal file
10
src/mainboard/google/rauru/include/variants.h
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#ifndef __MAINBOARD_GOOGLE_RAURU_VARIANTS_H__
|
||||
#define __MAINBOARD_GOOGLE_RAURU_VARIANTS_H__
|
||||
|
||||
#include <soc/display.h>
|
||||
|
||||
void fw_config_panel_override(struct panel_description *panel);
|
||||
|
||||
#endif /* __MAINBOARD_GOOGLE_RAURU_VARIANTS_H__ */
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
#include <gpio.h>
|
||||
#include <soc/ddp.h>
|
||||
#include <soc/dsi.h>
|
||||
#include <variants.h>
|
||||
|
||||
#include "gpio.h"
|
||||
#include "panel.h"
|
||||
|
|
@ -20,7 +21,7 @@ static void power_on_panel(void)
|
|||
gpio_set_mode(GPIO_EDP_HPD_1V8, GPIO_FUNC(EINT13, EDP_TX_HPD));
|
||||
}
|
||||
|
||||
static struct panel_description panel = {
|
||||
static struct panel_description rauru_panel = {
|
||||
.configure_backlight = configure_backlight,
|
||||
.power_on = power_on_panel,
|
||||
.disp_path = DISP_PATH_EDP,
|
||||
|
|
@ -41,10 +42,16 @@ static struct panel_description edp_panel = {
|
|||
.orientation = LB_FB_ORIENTATION_NORMAL,
|
||||
};
|
||||
|
||||
__weak void fw_config_panel_override(struct panel_description *panel)
|
||||
{
|
||||
}
|
||||
|
||||
struct panel_description *get_active_panel(void)
|
||||
{
|
||||
if (CONFIG(BOARD_GOOGLE_RAURU))
|
||||
return &panel;
|
||||
return &rauru_panel;
|
||||
|
||||
fw_config_panel_override(&edp_panel);
|
||||
|
||||
return &edp_panel;
|
||||
}
|
||||
|
|
|
|||
3
src/mainboard/google/rauru/variants/navi/Makefile.mk
Normal file
3
src/mainboard/google/rauru/variants/navi/Makefile.mk
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
ramstage-y += fw_config.c
|
||||
11
src/mainboard/google/rauru/variants/navi/fw_config.c
Normal file
11
src/mainboard/google/rauru/variants/navi/fw_config.c
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
|
||||
|
||||
#include <fw_config.h>
|
||||
#include <soc/display.h>
|
||||
#include <variants.h>
|
||||
|
||||
void fw_config_panel_override(struct panel_description *panel)
|
||||
{
|
||||
if (fw_config_probe(FW_CONFIG(OLED_WQXGA_PLUS, PRESENT)))
|
||||
panel->quirks |= PANEL_QUIRK_FORCE_MAX_SWING;
|
||||
}
|
||||
13
src/mainboard/google/rauru/variants/navi/overridetree.cb
Normal file
13
src/mainboard/google/rauru/variants/navi/overridetree.cb
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
## SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
fw_config
|
||||
field OLED_WQXGA_PLUS 1 1
|
||||
option PRESENT 1
|
||||
option ABSENT 0
|
||||
end
|
||||
end
|
||||
|
||||
chip soc/mediatek/mt8196
|
||||
device domain 0 on
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue