17 #include <soc/gpio_common.h>
27 #include <arm-trusted-firmware/include/export/plat/mediatek/common/plat_params_exp.h>
29 #define MSDC0_BASE 0x11f60000
30 #define MSDC0_TOP_BASE 0x11f50000
32 #define MSDC0_DRV_MASK 0x3fffffff
33 #define MSDC1_DRV_MASK 0x3ffff000
34 #define MSDC0_DRV_VALUE 0x24924924
35 #define MSDC1_DRV_VALUE 0x1b6db000
37 #define MSDC1_GPIO_MODE0_BASE 0x10005360
38 #define MSDC1_GPIO_MODE0_MASK 0x77777000
39 #define MSDC1_GPIO_MODE0_VALUE 0x11111000
41 #define MSDC1_GPIO_MODE1_BASE 0x10005370
42 #define MSDC1_GPIO_MODE1_MASK 0x7
43 #define MSDC1_GPIO_MODE1_VALUE 0x1
46 #define GPIO_EDPBRDG_INT_ODL GPIO(EINT6)
47 #define GPIO_EDPBRDG_PWREN GPIO(DSI_TE)
48 #define GPIO_EDPBRDG_RST_ODL GPIO(LCM_RST)
49 #define GPIO_EN_PP3300_EDP_DX GPIO(PERIPHERAL_EN1)
50 #define GPIO_EN_PP1800_EDPBRDG_DX GPIO(PERIPHERAL_EN2)
51 #define GPIO_EN_PP1000_EDPBRDG GPIO(PERIPHERAL_EN3)
52 #define GPIO_EN_PP3300_DISPLAY_DX GPIO(CAM_CLK3)
53 #define GPIO_AP_EDP_BKLTEN GPIO(KPROW1)
54 #define GPIO_BL_PWM_1V8 GPIO(DISP_PWM)
58 static struct bl_aux_param_gpio param_reset = {
59 .h = { .type = BL_AUX_PARAM_MTK_RESET_GPIO },
60 .gpio = { .polarity = ARM_TF_GPIO_LEVEL_HIGH },
114 name =
"unknown name";
136 printk(
BIOS_ERR,
"%s: Can't start display via ANX7625\n", __func__);
struct chip_operations mainboard_ops
int anx7625_init(uint8_t bus)
int anx7625_dp_get_edid(uint8_t bus, struct edid *out)
int anx7625_dp_start(uint8_t bus, const struct edid *edid)
void register_bl31_aux_param(struct bl_aux_param_header *param)
int display_init_required(void)
#define printk(level,...)
void mdelay(unsigned int msecs)
@ MIPI_DSI_MODE_EOT_PACKET
@ MIPI_DSI_MODE_VIDEO_SYNC_PULSE
struct fb_info * fb_new_framebuffer_info_from_edid(const struct edid *edid, uintptr_t fb_addr)
static void mainboard_init(struct device *dev)
static void configure_backlight_and_bridge(void)
static void configure_audio(void)
#define GPIO_AP_EDP_BKLTEN
#define GPIO_EN_PP1800_EDPBRDG_DX
#define GPIO_EN_PP3300_EDP_DX
static bool configure_display(void)
void mtk_dsi_override_phy_timing(struct mtk_phy_timing *timing)
#define GPIO_EDPBRDG_PWREN
#define GPIO_EN_PP1000_EDPBRDG
#define GPIO_EDPBRDG_RST_ODL
static void mainboard_enable(struct device *dev)
#define GPIO_EN_PP3300_DISPLAY_DX
static void register_reset_to_bl31(void)
void edid_set_framebuffer_bits_per_pixel(struct edid *edid, int fb_bpp, int row_byte_alignment)
void gpio_output(gpio_t gpio, int value)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
void mtk_msdc_configure_sdcard(void)
void mtk_msdc_configure_emmc(bool is_early_init)
void mtk_ddp_mode_set(const struct edid *edid)
void mtcmos_audio_power_on(void)
void mtcmos_display_power_on(void)
void mtcmos_protect_display_bus(void)
void(* enable_dev)(struct device *dev)
void(* init)(struct device *dev)
struct device_operations * ops
char ascii_string[EDID_ASCII_STRING_LENGTH+1]
char manufacturer_name[3+1]