aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephane Viau <sviau@codeaurora.org>2015-03-24 15:06:02 -0400
committerRob Clark <robdclark@gmail.com>2015-04-01 19:29:36 -0400
commit02dfd9d2ba2b86068a23fb1ff8b9b633a61e732e (patch)
treedd5eea5e43770742902842ad7d2dc93e3ccb15f9
parent6fa6acdfa37737fce6f69a7aa50606825ccea5ea (diff)
drm/msm/mdp5: Add hardware configuration for msm8x16
This change adds the hw configuration for msm8x16 chipsets in mdp5_cfg module. Note that only one external display interface is present in this configuration (DSI) but has not been enabled yet. It will be enabled once drm/msm driver supports DSI connectors. v2: add CTL flush register's hardware mask [pointed by Archit] Signed-off-by: Stephane Viau <sviau@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c52
1 files changed, 51 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c
index 9626951bb896..56dfc5b626dd 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2014 The Linux Foundation. All rights reserved. 2 * Copyright (c) 2014-2015 The Linux Foundation. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify 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 5 * it under the terms of the GNU General Public License version 2 and
@@ -150,10 +150,60 @@ const struct mdp5_cfg_hw apq8084_config = {
150 .max_clk = 320000000, 150 .max_clk = 320000000,
151}; 151};
152 152
153const struct mdp5_cfg_hw msm8x16_config = {
154 .name = "msm8x16",
155 .mdp = {
156 .count = 1,
157 .base = { 0x01000 },
158 },
159 .smp = {
160 .mmb_count = 8,
161 .mmb_size = 8192,
162 .clients = {
163 [SSPP_VIG0] = 1, [SSPP_DMA0] = 4,
164 [SSPP_RGB0] = 7, [SSPP_RGB1] = 8,
165 },
166 },
167 .ctl = {
168 .count = 5,
169 .base = { 0x02000, 0x02200, 0x02400, 0x02600, 0x02800 },
170 .flush_hw_mask = 0x4003ffff,
171 },
172 .pipe_vig = {
173 .count = 1,
174 .base = { 0x05000 },
175 },
176 .pipe_rgb = {
177 .count = 2,
178 .base = { 0x15000, 0x17000 },
179 },
180 .pipe_dma = {
181 .count = 1,
182 .base = { 0x25000 },
183 },
184 .lm = {
185 .count = 2, /* LM0 and LM3 */
186 .base = { 0x45000, 0x48000 },
187 .nb_stages = 5,
188 },
189 .dspp = {
190 .count = 1,
191 .base = { 0x55000 },
192
193 },
194 .intf = {
195 .count = 1, /* INTF_1 */
196 .base = { 0x6B800 },
197 },
198 /* TODO enable .intfs[] with [1] = INTF_DSI, once DSI is implemented */
199 .max_clk = 320000000,
200};
201
153static const struct mdp5_cfg_handler cfg_handlers[] = { 202static const struct mdp5_cfg_handler cfg_handlers[] = {
154 { .revision = 0, .config = { .hw = &msm8x74_config } }, 203 { .revision = 0, .config = { .hw = &msm8x74_config } },
155 { .revision = 2, .config = { .hw = &msm8x74_config } }, 204 { .revision = 2, .config = { .hw = &msm8x74_config } },
156 { .revision = 3, .config = { .hw = &apq8084_config } }, 205 { .revision = 3, .config = { .hw = &apq8084_config } },
206 { .revision = 6, .config = { .hw = &msm8x16_config } },
157}; 207};
158 208
159 209