Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2013 Red Hat
0004  * Author: Rob Clark <robdclark@gmail.com>
0005  */
0006 
0007 #include "hdmi.h"
0008 
0009 static void hdmi_phy_8960_powerup(struct hdmi_phy *phy,
0010                   unsigned long int pixclock)
0011 {
0012     DBG("pixclock: %lu", pixclock);
0013 
0014     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG2, 0x00);
0015     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG0, 0x1b);
0016     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG1, 0xf2);
0017     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG4, 0x00);
0018     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG5, 0x00);
0019     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG6, 0x00);
0020     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG7, 0x00);
0021     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG8, 0x00);
0022     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG9, 0x00);
0023     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG10, 0x00);
0024     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG11, 0x00);
0025     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG3, 0x20);
0026 }
0027 
0028 static void hdmi_phy_8960_powerdown(struct hdmi_phy *phy)
0029 {
0030     DBG("");
0031 
0032     hdmi_phy_write(phy, REG_HDMI_8960_PHY_REG2, 0x7f);
0033 }
0034 
0035 static const char * const hdmi_phy_8960_reg_names[] = {
0036     "core-vdda",
0037 };
0038 
0039 static const char * const hdmi_phy_8960_clk_names[] = {
0040     "slave_iface",
0041 };
0042 
0043 const struct hdmi_phy_cfg msm_hdmi_phy_8960_cfg = {
0044     .type = MSM_HDMI_PHY_8960,
0045     .powerup = hdmi_phy_8960_powerup,
0046     .powerdown = hdmi_phy_8960_powerdown,
0047     .reg_names = hdmi_phy_8960_reg_names,
0048     .num_regs = ARRAY_SIZE(hdmi_phy_8960_reg_names),
0049     .clk_names = hdmi_phy_8960_clk_names,
0050     .num_clks = ARRAY_SIZE(hdmi_phy_8960_clk_names),
0051 };