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_8x74_powerup(struct hdmi_phy *phy,
0010         unsigned long int pixclock)
0011 {
0012     hdmi_phy_write(phy, REG_HDMI_8x74_ANA_CFG0,   0x1b);
0013     hdmi_phy_write(phy, REG_HDMI_8x74_ANA_CFG1,   0xf2);
0014     hdmi_phy_write(phy, REG_HDMI_8x74_BIST_CFG0,  0x0);
0015     hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN0, 0x0);
0016     hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN1, 0x0);
0017     hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN2, 0x0);
0018     hdmi_phy_write(phy, REG_HDMI_8x74_BIST_PATN3, 0x0);
0019     hdmi_phy_write(phy, REG_HDMI_8x74_PD_CTRL1,   0x20);
0020 }
0021 
0022 static void hdmi_phy_8x74_powerdown(struct hdmi_phy *phy)
0023 {
0024     hdmi_phy_write(phy, REG_HDMI_8x74_PD_CTRL0, 0x7f);
0025 }
0026 
0027 static const char * const hdmi_phy_8x74_reg_names[] = {
0028     "core-vdda",
0029     "vddio",
0030 };
0031 
0032 static const char * const hdmi_phy_8x74_clk_names[] = {
0033     "iface", "alt_iface"
0034 };
0035 
0036 const struct hdmi_phy_cfg msm_hdmi_phy_8x74_cfg = {
0037     .type = MSM_HDMI_PHY_8x74,
0038     .powerup = hdmi_phy_8x74_powerup,
0039     .powerdown = hdmi_phy_8x74_powerdown,
0040     .reg_names = hdmi_phy_8x74_reg_names,
0041     .num_regs = ARRAY_SIZE(hdmi_phy_8x74_reg_names),
0042     .clk_names = hdmi_phy_8x74_clk_names,
0043     .num_clks = ARRAY_SIZE(hdmi_phy_8x74_clk_names),
0044 };