diff options
author | Stephane Viau <sviau@codeaurora.org> | 2015-03-24 15:06:02 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-04-01 19:29:36 -0400 |
commit | 02dfd9d2ba2b86068a23fb1ff8b9b633a61e732e (patch) | |
tree | dd5eea5e43770742902842ad7d2dc93e3ccb15f9 | |
parent | 6fa6acdfa37737fce6f69a7aa50606825ccea5ea (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.c | 52 |
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 | ||
153 | const 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 | |||
153 | static const struct mdp5_cfg_handler cfg_handlers[] = { | 202 | static 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 | ||