Skip to content

Commit 7b2618e

Browse files
Zheng Yangrkhuangtao
authored andcommitted
phy: rockchip: inno-hdmi: manual power down RK3328 post-PLL with no uboot logo
For 3328, inno hdmi phy post pll is enabled by default, it's need to manual power down post pll if uboot logo is not shown. Change-Id: Ia175ff0aad006be950b8bc13e1cf2ecb4f00e04c Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
1 parent 87d7e43 commit 7b2618e

1 file changed

Lines changed: 22 additions & 19 deletions

File tree

drivers/phy/rockchip/phy-rockchip-inno-hdmi-phy.c

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -726,25 +726,6 @@ inno_hdmi_phy_rk3228_pre_pll_update(struct inno_hdmi_phy *inno,
726726
return 0;
727727
}
728728

729-
static void inno_hdmi_phy_rk3328_init(struct inno_hdmi_phy *inno)
730-
{
731-
/*
732-
* Use phy internal register control
733-
* rxsense/poweron/pllpd/pdataen signal.
734-
*/
735-
inno_write(inno, 0x01, 0x07);
736-
inno_write(inno, 0x02, 0x91);
737-
738-
/*
739-
* reg0xc8 default value is 0xc0, if phy had been set in uboot,
740-
* the value of bit[7:6] will be zero.
741-
*/
742-
if ((inno_read(inno, 0xc8) & 0xc0) == 0) {
743-
dev_info(inno->dev, "phy had been powered up\n");
744-
inno->phy->power_count = 1;
745-
}
746-
}
747-
748729
static int
749730
inno_hdmi_phy_rk3328_power_on(struct inno_hdmi_phy *inno,
750731
const struct post_pll_config *cfg,
@@ -838,6 +819,28 @@ static void inno_hdmi_phy_rk3328_power_off(struct inno_hdmi_phy *inno)
838819
inno_update_bits(inno, 0xaa, 1, 1);
839820
}
840821

822+
static void inno_hdmi_phy_rk3328_init(struct inno_hdmi_phy *inno)
823+
{
824+
/*
825+
* Use phy internal register control
826+
* rxsense/poweron/pllpd/pdataen signal.
827+
*/
828+
inno_write(inno, 0x01, 0x07);
829+
inno_write(inno, 0x02, 0x91);
830+
831+
/*
832+
* reg0xc8 default value is 0xc0, if phy had been set in uboot,
833+
* the value of bit[7:6] will be zero.
834+
*/
835+
if ((inno_read(inno, 0xc8) & 0xc0) == 0) {
836+
dev_info(inno->dev, "phy had been powered up\n");
837+
inno->phy->power_count = 1;
838+
} else {
839+
/* manual power down post-PLL */
840+
inno_hdmi_phy_rk3328_power_off(inno);
841+
}
842+
}
843+
841844
static int
842845
inno_hdmi_phy_rk3328_pre_pll_update(struct inno_hdmi_phy *inno,
843846
const struct pre_pll_config *cfg)

0 commit comments

Comments
 (0)