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); }
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); }
void display_init(void) { #if defined(TCC_LCD_USE) fb_config = lcdc_init(); ASSERT(fb_config); fbcon_setup(fb_config); #endif }
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 }
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 }
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 }
void display_init(void) { struct fbcon_config *fb_cfg; fb_cfg = lcdc_init(); fbcon_setup(fb_cfg); }
void display_init(void) { fb_config = lcdc_init(); ASSERT(fb_config); fbcon_setup(fb_config); }