Esempio n. 1
0
static void sunxi_lcdc_init(void)
{
	struct sunxi_ccm_reg * const ccm =
		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
	struct sunxi_lcdc_reg * const lcdc =
		(struct sunxi_lcdc_reg *)SUNXI_LCD0_BASE;

	/* Reset off */
#ifdef CONFIG_SUNXI_GEN_SUN6I
	setbits_le32(&ccm->ahb_reset1_cfg, 1 << AHB_RESET_OFFSET_LCD0);
#else
	setbits_le32(&ccm->lcd0_ch0_clk_cfg, CCM_LCD_CH0_CTRL_RST);
#endif

	/* Clock on */
	setbits_le32(&ccm->ahb_gate1, 1 << AHB_GATE_OFFSET_LCD0);
#ifdef CONFIG_VIDEO_LCD_IF_LVDS
#ifdef CONFIG_SUNXI_GEN_SUN6I
	setbits_le32(&ccm->ahb_reset2_cfg, 1 << AHB_RESET_OFFSET_LVDS);
#else
	setbits_le32(&ccm->lvds_clk_cfg, CCM_LVDS_CTRL_RST);
#endif
#endif

	lcdc_init(lcdc);
}
Esempio n. 2
0
static void sunxi_dw_hdmi_lcdc_init(int mux, const struct display_timing *edid,
				    int bpp)
{
	struct sunxi_ccm_reg * const ccm =
		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
	int div = sunxi_dw_hdmi_get_divider(edid->pixelclock.typ);
	struct sunxi_lcdc_reg *lcdc;

	if (mux == 0) {
		lcdc = (struct sunxi_lcdc_reg *)SUNXI_LCD0_BASE;

		/* Reset off */
		setbits_le32(&ccm->ahb_reset1_cfg, 1 << AHB_RESET_OFFSET_LCD0);

		/* Clock on */
		setbits_le32(&ccm->ahb_gate1, 1 << AHB_GATE_OFFSET_LCD0);
		writel(CCM_LCD0_CTRL_GATE | CCM_LCD0_CTRL_M(div),
		       &ccm->lcd0_clk_cfg);
	} else {
		lcdc = (struct sunxi_lcdc_reg *)SUNXI_LCD1_BASE;

		/* Reset off */
		setbits_le32(&ccm->ahb_reset1_cfg, 1 << AHB_RESET_OFFSET_LCD1);

		/* Clock on */
		setbits_le32(&ccm->ahb_gate1, 1 << AHB_GATE_OFFSET_LCD1);
		writel(CCM_LCD1_CTRL_GATE | CCM_LCD1_CTRL_M(div),
		       &ccm->lcd1_clk_cfg);
	}

	lcdc_init(lcdc);
	lcdc_tcon1_mode_set(lcdc, edid, false, false);
	lcdc_enable(lcdc, bpp);
}
Esempio n. 3
0
void display_init(void)
{
#if defined(TCC_LCD_USE)
	fb_config = lcdc_init();
	ASSERT(fb_config);
	fbcon_setup(fb_config);	
#endif
}
Esempio n. 4
0
void display_init(void)
{
#if DISPLAY_TYPE_MDDI
    fb_config = mddi_init();
    ASSERT(fb_config);
    fbcon_setup(fb_config);
#endif
#if DISPLAY_TYPE_LCDC
    fb_config = lcdc_init();
    ASSERT(fb_config);
    fbcon_setup(fb_config);
#endif
}
Esempio n. 5
0
void display_init(void)
{
    struct fbcon_config *fb_cfg;
#if DISPLAY_TYPE_LCDC
    mdp_clock_init();
    fb_cfg = lcdc_init();
    panel_poweron();
    fbcon_setup(fb_cfg);
#endif
#if DISPLAY_TYPE_MIPI
    mdp_clock_init();
    fb_cfg = mipi_init();
    fbcon_setup(fb_cfg);
#endif

}
Esempio n. 6
0
void display_init(void)
{
#if DISPLAY_TYPE_MDDI
	fb_config = mddi_init();
	ASSERT(fb_config);
	fbcon_setup(fb_config);
#endif
#if DISPLAY_TYPE_LCDC
	fb_config = lcdc_init();
	ASSERT(fb_config);
	fbcon_setup(fb_config);
#endif
#if DISPLAY_TYPE_MIPI
	dprintf(SPEW, "display_init()\n");
	panel_dsi_init();
	fb_config = mipi_init();
	ASSERT(fb_config);
	fbcon_setup(fb_config);
#endif
}
Esempio n. 7
0
void display_init(void)
{
        struct fbcon_config *fb_cfg;
        fb_cfg = lcdc_init();
        fbcon_setup(fb_cfg);
}
Esempio n. 8
0
void display_init(void)
{
	fb_config = lcdc_init();
	ASSERT(fb_config);
	fbcon_setup(fb_config);	
}