blob: 9cfdcf1c95d5ecfb47f4dc1f515f1bd99a08984a [file] [log] [blame]
Hai Lid248b612015-08-13 17:49:29 -04001/*
2 * Copyright (c) 2015, 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 */
13
14#ifndef __MSM_DSI_CFG_H__
15#define __MSM_DSI_CFG_H__
16
17#include "dsi.h"
18
19#define MSM_DSI_VER_MAJOR_V2 0x02
20#define MSM_DSI_VER_MAJOR_6G 0x03
21#define MSM_DSI_6G_VER_MINOR_V1_0 0x10000000
22#define MSM_DSI_6G_VER_MINOR_V1_1 0x10010000
23#define MSM_DSI_6G_VER_MINOR_V1_1_1 0x10010001
24#define MSM_DSI_6G_VER_MINOR_V1_2 0x10020000
25#define MSM_DSI_6G_VER_MINOR_V1_3 0x10030000
26#define MSM_DSI_6G_VER_MINOR_V1_3_1 0x10030001
Archit Taneja3a3ff882016-09-14 12:23:07 +053027#define MSM_DSI_6G_VER_MINOR_V1_4_1 0x10040001
Archit Taneja02f7a6c2018-01-17 15:04:43 +053028#define MSM_DSI_6G_VER_MINOR_V2_2_1 0x20020001
Hai Lid248b612015-08-13 17:49:29 -040029
Archit Tanejacea65db2015-10-12 11:16:48 +053030#define MSM_DSI_V2_VER_MINOR_8064 0x0
31
Hai Lid248b612015-08-13 17:49:29 -040032#define DSI_6G_REG_SHIFT 4
33
34struct msm_dsi_config {
35 u32 io_offset;
36 struct dsi_reg_config reg_cfg;
Archit Taneja6e0eb522015-10-09 15:21:12 +053037 const char * const *bus_clk_names;
38 const int num_bus_clks;
Archit Taneja32280d62016-06-23 15:26:04 +053039 const resource_size_t io_start[DSI_MAX];
40 const int num_dsi;
Hai Lid248b612015-08-13 17:49:29 -040041};
42
43struct msm_dsi_cfg_handler {
44 u32 major;
45 u32 minor;
46 const struct msm_dsi_config *cfg;
47};
48
49const struct msm_dsi_cfg_handler *msm_dsi_cfg_get(u32 major, u32 minor);
50
51#endif /* __MSM_DSI_CFG_H__ */
52