1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2013 Red Hat
4 * Author: Rob Clark <robdclark@gmail.com>
9 static void hdmi_phy_8960_powerup(struct hdmi_phy
*phy
,
10 unsigned long int pixclock
)
12 DBG("pixclock: %lu", pixclock
);
14 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG2
, 0x00);
15 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG0
, 0x1b);
16 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG1
, 0xf2);
17 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG4
, 0x00);
18 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG5
, 0x00);
19 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG6
, 0x00);
20 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG7
, 0x00);
21 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG8
, 0x00);
22 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG9
, 0x00);
23 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG10
, 0x00);
24 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG11
, 0x00);
25 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG3
, 0x20);
28 static void hdmi_phy_8960_powerdown(struct hdmi_phy
*phy
)
32 hdmi_phy_write(phy
, REG_HDMI_8960_PHY_REG2
, 0x7f);
35 static const char * const hdmi_phy_8960_reg_names
[] = {
39 static const char * const hdmi_phy_8960_clk_names
[] = {
43 const struct hdmi_phy_cfg msm_hdmi_phy_8960_cfg
= {
44 .type
= MSM_HDMI_PHY_8960
,
45 .powerup
= hdmi_phy_8960_powerup
,
46 .powerdown
= hdmi_phy_8960_powerdown
,
47 .reg_names
= hdmi_phy_8960_reg_names
,
48 .num_regs
= ARRAY_SIZE(hdmi_phy_8960_reg_names
),
49 .clk_names
= hdmi_phy_8960_clk_names
,
50 .num_clks
= ARRAY_SIZE(hdmi_phy_8960_clk_names
),