static void hdmi_msm_reset_core()
{
	uint32_t reg_val = 0;
	hdmi_msm_set_mode(0);
	// Disable clocks
	hdmi_app_clk_init(0);
	udelay(5);
	// Enable clocks
	hdmi_app_clk_init(1);

	reg_val = secure_readl(SW_RESET_CORE_REG);
	reg_val |= BIT(11);
	secure_writel(reg_val, SW_RESET_CORE_REG);
	udelay(5);
	reg_val = secure_readl(SW_RESET_AHB_REG);
	reg_val |= BIT(9);
	secure_writel(reg_val, SW_RESET_AHB_REG);
	udelay(5);
	reg_val = secure_readl(SW_RESET_AHB_REG);
	reg_val |= BIT(9);
	secure_writel(reg_val, SW_RESET_AHB_REG);
	udelay(20);
	reg_val = secure_readl(SW_RESET_CORE_REG);
	reg_val &= ~(BIT(11));
	secure_writel(reg_val, SW_RESET_CORE_REG);
	udelay(5);
	reg_val = secure_readl(SW_RESET_AHB_REG);
	reg_val &= ~(BIT(9));
	secure_writel(reg_val, SW_RESET_AHB_REG);
	udelay(5);
	reg_val = secure_readl(SW_RESET_AHB_REG);
	reg_val &= ~(BIT(9));
	secure_writel(reg_val, SW_RESET_AHB_REG);
	udelay(5);
}
void hdmi_msm_reset_core(void)
{
	hdmi_msm_set_mode(FALSE);
	hdmi_msm_clk(0);
	udelay(5);
	hdmi_msm_clk(1);
}
/*
 * This is the start function which initializes clocks , gpios for hdmi
 * & powers on the HDMI core
 */
void hdmi_power_init()
{
	pm8921_low_voltage_switch_enable(lvs_7);
	apq8064_ext_3p3V_enable();
	pm8921_HDMI_Switch();
	hdmi_gpio_config();
	hdmi_phy_reset();
	hdmi_msm_set_mode(1);
}
Beispiel #4
0
void hdmi_msm_reset_core(void)
{
	hdmi_msm_set_mode(FALSE);
	hdmi_msm_clk(0);
	udelay(5);
	hdmi_msm_clk(1);

	clk_reset(hdmi_msm_state->hdmi_app_clk, CLK_RESET_ASSERT);
	udelay(20);
	clk_reset(hdmi_msm_state->hdmi_app_clk, CLK_RESET_DEASSERT);
}
int hdmi_msm_turn_on(void)
{
	uint32_t hotplug_control;

	hdmi_msm_set_mode(0);

	hdmi_msm_reset_core();	// Reset the core
	hdmi_msm_init_phy();

	// Enable USEC REF timer
	writel(0x0001001B, HDMI_USEC_REFTIMER);

	// Write 1 to HDMI_CTRL to enable HDMI
	hdmi_msm_set_mode(1);

	// Video setup for HDMI
	hdmi_video_setup();

	// AVI info setup
	hdmi_msm_avi_info_frame();

	return 0;
}
void hdmi_msm_turn_on(void)
{
	uint32_t hotplug_control;
	hdmi_msm_reset_core();	// Reset the core
	hdmi_msm_init_phy();
	// Enable USEC REF timer
	writel(0x0001001B, HDMI_USEC_REFTIMER);
	// Video setup for HDMI
	hdmi_video_setup();
	// Write 1 to HDMI_CTRL to enable HDMI
	hdmi_msm_set_mode(1);
	dprintf(SPEW, "HDMI Core is: %s\n",
		(readl(HDMI_CTRL) & 0x00000001) ? "on" : "off");
}