| .. | .. |
|---|
| 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 | +}; |
|---|