Ejemplo n.º 1
0
void hdmi_msm_phy_status_poll(void)
{
	unsigned int lock_det, phy_ready;
	lock_det = 0x1 & HDMI_INP_ND(HDMI_PHY_PLL_STATUS0);
	if (lock_det) {
		pr_debug("HDMI Phy PLL Lock Detect Bit is set\n");
	} else {
		pr_debug("HDMI Phy Lock Detect Bit is not set,"
			 "waiting for lock detection\n");
		do {
			lock_det = 0x1 & \
				HDMI_INP_ND(HDMI_PHY_PLL_STATUS0);
		} while (!lock_det);
	}

	phy_ready = 0x1 & HDMI_INP_ND(HDMI_PHY_REG_15);
	if (phy_ready) {
		pr_debug("HDMI Phy Status bit is set and ready\n");
	} else {
		pr_debug("HDMI Phy Status bit is not set,"
			"waiting for ready status\n");
		do {
			phy_ready = 0x1 & HDMI_INP_ND(HDMI_PHY_REG_15);
		} while (!phy_ready);
	}
}
Ejemplo n.º 2
0
void hdmi_msm_phy_status_poll(void)
{
	unsigned int phy_ready;
	phy_ready = 0x1 & HDMI_INP_ND(0x33c);
	if (phy_ready) {
		pr_debug("HDMI Phy Status bit is set and ready\n");
	} else {
		pr_debug("HDMI Phy Status bit is not set,"
			"waiting for ready status\n");
		do {
			phy_ready = 0x1 & HDMI_INP_ND(0x33c);
		} while (!phy_ready);
	}
}
Ejemplo n.º 3
0
void hdmi_phy_reset(void)
{
	unsigned int phy_reset_polarity = 0x0;
	unsigned int pll_reset_polarity = 0x0;

	unsigned int val = HDMI_INP_ND(HDMI_PHY_CTRL);

	phy_reset_polarity = val >> 3 & 0x1;
	pll_reset_polarity = val >> 1 & 0x1;

	if (phy_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET);
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET));

	if (pll_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET_PLL);
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET_PLL));

	msleep(100);

	if (phy_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET));
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET);

	if (pll_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET_PLL));
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET_PLL);
}
Ejemplo n.º 4
0
void hdmi_phy_reset(void)
{
	unsigned int phy_reset_polarity = 0x0;
	unsigned int val = HDMI_INP_ND(0x2D4);

	phy_reset_polarity = val >> 3 & 0x1;

	if (phy_reset_polarity == 0)
		HDMI_OUTP(0x2D4, val | SW_RESET);
	else
		HDMI_OUTP(0x2D4, val & (~SW_RESET));

	msleep(100);

	if (phy_reset_polarity == 0)
		HDMI_OUTP(0x2D4, val & (~SW_RESET));
	else
		HDMI_OUTP(0x2D4, val | SW_RESET);
}
Ejemplo n.º 5
0
void mhl_cable_connect(struct work_struct *work)
{

	if (HDMI_INP_ND(0x0000) & 0x00000001)
	{
		mhl_power_ctrl(1);	
		msleep(10);
				MHL_On(1);
					
				MHL_En_Control(1) ;// switch-MHL
				MHL_Set_Cable_State(MHL_CABLE_CONNCET);
	#ifdef MHL_DEBUG
		printk(KERN_ERR "[SKY_MHL]%s MHL cable Connect \n",__func__);
	#endif
	return;
	}
	else
	{		
		schedule_delayed_work(&sii9244_cable_connect_work.work, msecs_to_jiffies(100));
	}
	
	
 return;
}
Ejemplo n.º 6
0
void hdmi_phy_reset(void)
{
	unsigned int phy_reset_polarity = 0x0;
	unsigned int pll_reset_polarity = 0x0;

	unsigned int val = HDMI_INP_ND(HDMI_PHY_CTRL);

	phy_reset_polarity = val >> 3 & 0x1;
	pll_reset_polarity = val >> 1 & 0x1;

	if (phy_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET);
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET));

	if (pll_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET_PLL);
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET_PLL));

#ifdef CONFIG_SHLCDC_BOARD /* CUST_ID_00048 */
	mipi_sharp_delay_us(100000);
#else	/* CONFIG_SHLCDC_BOARD */
	msleep(100);
#endif	/* CONFIG_SHLCDC_BOARD */

	if (phy_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET));
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET);

	if (pll_reset_polarity == 0)
		HDMI_OUTP(HDMI_PHY_CTRL, val & (~SW_RESET_PLL));
	else
		HDMI_OUTP(HDMI_PHY_CTRL, val | SW_RESET_PLL);
}