.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (c) 2016, The Linux Foundation. All rights reserved. |
---|
3 | | - * |
---|
4 | | - * This program is free software; you can redistribute it and/or modify |
---|
5 | | - * it under the terms of the GNU General Public License version 2 and |
---|
6 | | - * only version 2 as published by the Free Software Foundation. |
---|
7 | | - * |
---|
8 | | - * This program is distributed in the hope that it will be useful, |
---|
9 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
10 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
11 | | - * GNU General Public License for more details. |
---|
12 | 4 | */ |
---|
| 5 | + |
---|
| 6 | +#include <linux/delay.h> |
---|
13 | 7 | |
---|
14 | 8 | #include "dsi_phy.h" |
---|
15 | 9 | #include "dsi.xml.h" |
---|
.. | .. |
---|
64 | 58 | void __iomem *lane_base = phy->lane_base; |
---|
65 | 59 | |
---|
66 | 60 | if (msm_dsi_dphy_timing_calc_v2(timing, clk_req)) { |
---|
67 | | - dev_err(&phy->pdev->dev, |
---|
| 61 | + DRM_DEV_ERROR(&phy->pdev->dev, |
---|
68 | 62 | "%s: D-PHY timing calculation failed\n", __func__); |
---|
69 | 63 | return -EINVAL; |
---|
70 | 64 | } |
---|
.. | .. |
---|
115 | 109 | |
---|
116 | 110 | ret = msm_dsi_pll_set_usecase(phy->pll, phy->usecase); |
---|
117 | 111 | if (ret) { |
---|
118 | | - dev_err(&phy->pdev->dev, "%s: set pll usecase failed, %d\n", |
---|
| 112 | + DRM_DEV_ERROR(&phy->pdev->dev, "%s: set pll usecase failed, %d\n", |
---|
119 | 113 | __func__, ret); |
---|
120 | 114 | return ret; |
---|
121 | 115 | } |
---|
.. | .. |
---|
142 | 136 | phy->lane_base = msm_ioremap(pdev, "dsi_phy_lane", |
---|
143 | 137 | "DSI_PHY_LANE"); |
---|
144 | 138 | if (IS_ERR(phy->lane_base)) { |
---|
145 | | - dev_err(&pdev->dev, "%s: failed to map phy lane base\n", |
---|
| 139 | + DRM_DEV_ERROR(&pdev->dev, "%s: failed to map phy lane base\n", |
---|
146 | 140 | __func__); |
---|
147 | 141 | return -ENOMEM; |
---|
148 | 142 | } |
---|
.. | .. |
---|
167 | 161 | .io_start = { 0x994400, 0x996400 }, |
---|
168 | 162 | .num_dsi_phy = 2, |
---|
169 | 163 | }; |
---|
| 164 | + |
---|
| 165 | +const struct msm_dsi_phy_cfg dsi_phy_14nm_660_cfgs = { |
---|
| 166 | + .type = MSM_DSI_PHY_14NM, |
---|
| 167 | + .src_pll_truthtable = { {false, false}, {true, false} }, |
---|
| 168 | + .reg_cfg = { |
---|
| 169 | + .num = 1, |
---|
| 170 | + .regs = { |
---|
| 171 | + {"vcca", 73400, 32}, |
---|
| 172 | + }, |
---|
| 173 | + }, |
---|
| 174 | + .ops = { |
---|
| 175 | + .enable = dsi_14nm_phy_enable, |
---|
| 176 | + .disable = dsi_14nm_phy_disable, |
---|
| 177 | + .init = dsi_14nm_phy_init, |
---|
| 178 | + }, |
---|
| 179 | + .io_start = { 0xc994400, 0xc996000 }, |
---|
| 180 | + .num_dsi_phy = 2, |
---|
| 181 | +}; |
---|