35
35
#define RDMA0_SOUT_DSI1 0x1
36
36
#define RDMA0_SOUT_DSI2 0x4
37
37
#define RDMA0_SOUT_DSI3 0x5
38
+ #define RDMA0_SOUT_MASK 0x7
38
39
#define RDMA1_SOUT_DPI0 0x2
39
40
#define RDMA1_SOUT_DPI1 0x3
40
41
#define RDMA1_SOUT_DSI1 0x1
41
42
#define RDMA1_SOUT_DSI2 0x4
42
43
#define RDMA1_SOUT_DSI3 0x5
44
+ #define RDMA1_SOUT_MASK 0x7
43
45
#define RDMA2_SOUT_DPI0 0x2
44
46
#define RDMA2_SOUT_DPI1 0x3
45
47
#define RDMA2_SOUT_DSI1 0x1
46
48
#define RDMA2_SOUT_DSI2 0x4
47
49
#define RDMA2_SOUT_DSI3 0x5
50
+ #define RDMA2_SOUT_MASK 0x7
48
51
#define DPI0_SEL_IN_RDMA1 0x1
49
52
#define DPI0_SEL_IN_RDMA2 0x3
53
+ #define DPI0_SEL_IN_MASK 0x3
50
54
#define DPI1_SEL_IN_RDMA1 (0x1 << 8)
51
55
#define DPI1_SEL_IN_RDMA2 (0x3 << 8)
56
+ #define DPI1_SEL_IN_MASK (0x3 << 8)
52
57
#define DSI0_SEL_IN_RDMA1 0x1
53
58
#define DSI0_SEL_IN_RDMA2 0x4
59
+ #define DSI0_SEL_IN_MASK 0x7
54
60
#define DSI1_SEL_IN_RDMA1 0x1
55
61
#define DSI1_SEL_IN_RDMA2 0x4
62
+ #define DSI1_SEL_IN_MASK 0x7
56
63
#define DSI2_SEL_IN_RDMA1 (0x1 << 16)
57
64
#define DSI2_SEL_IN_RDMA2 (0x4 << 16)
65
+ #define DSI2_SEL_IN_MASK (0x7 << 16)
58
66
#define DSI3_SEL_IN_RDMA1 (0x1 << 16)
59
67
#define DSI3_SEL_IN_RDMA2 (0x4 << 16)
68
+ #define DSI3_SEL_IN_MASK (0x7 << 16)
60
69
#define COLOR1_SEL_IN_OVL1 0x1
61
70
62
71
#define OVL_MOUT_EN_RDMA 0x1
63
72
#define BLS_TO_DSI_RDMA1_TO_DPI1 0x8
64
73
#define BLS_TO_DPI_RDMA1_TO_DSI 0x2
74
+ #define BLS_RDMA1_DSI_DPI_MASK 0xf
65
75
#define DSI_SEL_IN_BLS 0x0
66
76
#define DPI_SEL_IN_BLS 0x0
77
+ #define DPI_SEL_IN_MASK 0x1
67
78
#define DSI_SEL_IN_RDMA 0x1
79
+ #define DSI_SEL_IN_MASK 0x1
68
80
69
81
struct mtk_mmsys_routes {
70
82
u32 from_comp ;
71
83
u32 to_comp ;
72
84
u32 addr ;
85
+ u32 mask ;
73
86
u32 val ;
74
87
};
75
88
@@ -91,124 +104,164 @@ struct mtk_mmsys_driver_data {
91
104
static const struct mtk_mmsys_routes mmsys_default_routing_table [] = {
92
105
{
93
106
DDP_COMPONENT_BLS , DDP_COMPONENT_DSI0 ,
94
- DISP_REG_CONFIG_OUT_SEL , BLS_TO_DSI_RDMA1_TO_DPI1
107
+ DISP_REG_CONFIG_OUT_SEL , BLS_RDMA1_DSI_DPI_MASK ,
108
+ BLS_TO_DSI_RDMA1_TO_DPI1
95
109
}, {
96
110
DDP_COMPONENT_BLS , DDP_COMPONENT_DSI0 ,
97
- DISP_REG_CONFIG_DSI_SEL , DSI_SEL_IN_BLS
111
+ DISP_REG_CONFIG_DSI_SEL , DSI_SEL_IN_MASK ,
112
+ DSI_SEL_IN_BLS
98
113
}, {
99
114
DDP_COMPONENT_BLS , DDP_COMPONENT_DPI0 ,
100
- DISP_REG_CONFIG_OUT_SEL , BLS_TO_DPI_RDMA1_TO_DSI
115
+ DISP_REG_CONFIG_OUT_SEL , BLS_RDMA1_DSI_DPI_MASK ,
116
+ BLS_TO_DPI_RDMA1_TO_DSI
101
117
}, {
102
118
DDP_COMPONENT_BLS , DDP_COMPONENT_DPI0 ,
103
- DISP_REG_CONFIG_DSI_SEL , DSI_SEL_IN_RDMA
119
+ DISP_REG_CONFIG_DSI_SEL , DSI_SEL_IN_MASK ,
120
+ DSI_SEL_IN_RDMA
104
121
}, {
105
122
DDP_COMPONENT_BLS , DDP_COMPONENT_DPI0 ,
106
- DISP_REG_CONFIG_DPI_SEL , DPI_SEL_IN_BLS
123
+ DISP_REG_CONFIG_DPI_SEL , DPI_SEL_IN_MASK ,
124
+ DPI_SEL_IN_BLS
107
125
}, {
108
126
DDP_COMPONENT_GAMMA , DDP_COMPONENT_RDMA1 ,
109
- DISP_REG_CONFIG_DISP_GAMMA_MOUT_EN , GAMMA_MOUT_EN_RDMA1
127
+ DISP_REG_CONFIG_DISP_GAMMA_MOUT_EN , GAMMA_MOUT_EN_RDMA1 ,
128
+ GAMMA_MOUT_EN_RDMA1
110
129
}, {
111
130
DDP_COMPONENT_OD0 , DDP_COMPONENT_RDMA0 ,
112
- DISP_REG_CONFIG_DISP_OD_MOUT_EN , OD_MOUT_EN_RDMA0
131
+ DISP_REG_CONFIG_DISP_OD_MOUT_EN , OD_MOUT_EN_RDMA0 ,
132
+ OD_MOUT_EN_RDMA0
113
133
}, {
114
134
DDP_COMPONENT_OD1 , DDP_COMPONENT_RDMA1 ,
115
- DISP_REG_CONFIG_DISP_OD_MOUT_EN , OD1_MOUT_EN_RDMA1
135
+ DISP_REG_CONFIG_DISP_OD_MOUT_EN , OD1_MOUT_EN_RDMA1 ,
136
+ OD1_MOUT_EN_RDMA1
116
137
}, {
117
138
DDP_COMPONENT_OVL0 , DDP_COMPONENT_COLOR0 ,
118
- DISP_REG_CONFIG_DISP_OVL0_MOUT_EN , OVL0_MOUT_EN_COLOR0
139
+ DISP_REG_CONFIG_DISP_OVL0_MOUT_EN , OVL0_MOUT_EN_COLOR0 ,
140
+ OVL0_MOUT_EN_COLOR0
119
141
}, {
120
142
DDP_COMPONENT_OVL0 , DDP_COMPONENT_COLOR0 ,
121
- DISP_REG_CONFIG_DISP_COLOR0_SEL_IN , COLOR0_SEL_IN_OVL0
143
+ DISP_REG_CONFIG_DISP_COLOR0_SEL_IN , COLOR0_SEL_IN_OVL0 ,
144
+ COLOR0_SEL_IN_OVL0
122
145
}, {
123
146
DDP_COMPONENT_OVL0 , DDP_COMPONENT_RDMA0 ,
124
- DISP_REG_CONFIG_DISP_OVL_MOUT_EN , OVL_MOUT_EN_RDMA
147
+ DISP_REG_CONFIG_DISP_OVL_MOUT_EN , OVL_MOUT_EN_RDMA ,
148
+ OVL_MOUT_EN_RDMA
125
149
}, {
126
150
DDP_COMPONENT_OVL1 , DDP_COMPONENT_COLOR1 ,
127
- DISP_REG_CONFIG_DISP_OVL1_MOUT_EN , OVL1_MOUT_EN_COLOR1
151
+ DISP_REG_CONFIG_DISP_OVL1_MOUT_EN , OVL1_MOUT_EN_COLOR1 ,
152
+ OVL1_MOUT_EN_COLOR1
128
153
}, {
129
154
DDP_COMPONENT_OVL1 , DDP_COMPONENT_COLOR1 ,
130
- DISP_REG_CONFIG_DISP_COLOR1_SEL_IN , COLOR1_SEL_IN_OVL1
155
+ DISP_REG_CONFIG_DISP_COLOR1_SEL_IN , COLOR1_SEL_IN_OVL1 ,
156
+ COLOR1_SEL_IN_OVL1
131
157
}, {
132
158
DDP_COMPONENT_RDMA0 , DDP_COMPONENT_DPI0 ,
133
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_DPI0
159
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_MASK ,
160
+ RDMA0_SOUT_DPI0
134
161
}, {
135
162
DDP_COMPONENT_RDMA0 , DDP_COMPONENT_DPI1 ,
136
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_DPI1
163
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_MASK ,
164
+ RDMA0_SOUT_DPI1
137
165
}, {
138
166
DDP_COMPONENT_RDMA0 , DDP_COMPONENT_DSI1 ,
139
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_DSI1
167
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_MASK ,
168
+ RDMA0_SOUT_DSI1
140
169
}, {
141
170
DDP_COMPONENT_RDMA0 , DDP_COMPONENT_DSI2 ,
142
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_DSI2
171
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_MASK ,
172
+ RDMA0_SOUT_DSI2
143
173
}, {
144
174
DDP_COMPONENT_RDMA0 , DDP_COMPONENT_DSI3 ,
145
- DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_DSI3
175
+ DISP_REG_CONFIG_DISP_RDMA0_SOUT_EN , RDMA0_SOUT_MASK ,
176
+ RDMA0_SOUT_DSI3
146
177
}, {
147
178
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DPI0 ,
148
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_DPI0
179
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_MASK ,
180
+ RDMA1_SOUT_DPI0
149
181
}, {
150
182
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DPI0 ,
151
- DISP_REG_CONFIG_DPI_SEL_IN , DPI0_SEL_IN_RDMA1
183
+ DISP_REG_CONFIG_DPI_SEL_IN , DPI0_SEL_IN_MASK ,
184
+ DPI0_SEL_IN_RDMA1
152
185
}, {
153
186
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DPI1 ,
154
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_DPI1
187
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_MASK ,
188
+ RDMA1_SOUT_DPI1
155
189
}, {
156
190
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DPI1 ,
157
- DISP_REG_CONFIG_DPI_SEL_IN , DPI1_SEL_IN_RDMA1
191
+ DISP_REG_CONFIG_DPI_SEL_IN , DPI1_SEL_IN_MASK ,
192
+ DPI1_SEL_IN_RDMA1
158
193
}, {
159
194
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI0 ,
160
- DISP_REG_CONFIG_DSIE_SEL_IN , DSI0_SEL_IN_RDMA1
195
+ DISP_REG_CONFIG_DSIE_SEL_IN , DSI0_SEL_IN_MASK ,
196
+ DSI0_SEL_IN_RDMA1
161
197
}, {
162
198
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI1 ,
163
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_DSI1
199
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_MASK ,
200
+ RDMA1_SOUT_DSI1
164
201
}, {
165
202
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI1 ,
166
- DISP_REG_CONFIG_DSIO_SEL_IN , DSI1_SEL_IN_RDMA1
203
+ DISP_REG_CONFIG_DSIO_SEL_IN , DSI1_SEL_IN_MASK ,
204
+ DSI1_SEL_IN_RDMA1
167
205
}, {
168
206
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI2 ,
169
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_DSI2
207
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_MASK ,
208
+ RDMA1_SOUT_DSI2
170
209
}, {
171
210
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI2 ,
172
- DISP_REG_CONFIG_DSIE_SEL_IN , DSI2_SEL_IN_RDMA1
211
+ DISP_REG_CONFIG_DSIE_SEL_IN , DSI2_SEL_IN_MASK ,
212
+ DSI2_SEL_IN_RDMA1
173
213
}, {
174
214
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI3 ,
175
- DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_DSI3
215
+ DISP_REG_CONFIG_DISP_RDMA1_SOUT_EN , RDMA1_SOUT_MASK ,
216
+ RDMA1_SOUT_DSI3
176
217
}, {
177
218
DDP_COMPONENT_RDMA1 , DDP_COMPONENT_DSI3 ,
178
- DISP_REG_CONFIG_DSIO_SEL_IN , DSI3_SEL_IN_RDMA1
219
+ DISP_REG_CONFIG_DSIO_SEL_IN , DSI3_SEL_IN_MASK ,
220
+ DSI3_SEL_IN_RDMA1
179
221
}, {
180
222
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DPI0 ,
181
- DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_DPI0
223
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_MASK ,
224
+ RDMA2_SOUT_DPI0
182
225
}, {
183
226
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DPI0 ,
184
- DISP_REG_CONFIG_DPI_SEL_IN , DPI0_SEL_IN_RDMA2
227
+ DISP_REG_CONFIG_DPI_SEL_IN , DPI0_SEL_IN_MASK ,
228
+ DPI0_SEL_IN_RDMA2
185
229
}, {
186
230
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DPI1 ,
187
- DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_DPI1
231
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_MASK ,
232
+ RDMA2_SOUT_DPI1
188
233
}, {
189
234
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DPI1 ,
190
- DISP_REG_CONFIG_DPI_SEL_IN , DPI1_SEL_IN_RDMA2
235
+ DISP_REG_CONFIG_DPI_SEL_IN , DPI1_SEL_IN_MASK ,
236
+ DPI1_SEL_IN_RDMA2
191
237
}, {
192
238
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI0 ,
193
- DISP_REG_CONFIG_DSIE_SEL_IN , DSI0_SEL_IN_RDMA2
239
+ DISP_REG_CONFIG_DSIE_SEL_IN , DSI0_SEL_IN_MASK ,
240
+ DSI0_SEL_IN_RDMA2
194
241
}, {
195
242
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI1 ,
196
- DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_DSI1
243
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_MASK ,
244
+ RDMA2_SOUT_DSI1
197
245
}, {
198
246
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI1 ,
199
- DISP_REG_CONFIG_DSIO_SEL_IN , DSI1_SEL_IN_RDMA2
247
+ DISP_REG_CONFIG_DSIO_SEL_IN , DSI1_SEL_IN_MASK ,
248
+ DSI1_SEL_IN_RDMA2
200
249
}, {
201
250
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI2 ,
202
- DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_DSI2
251
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_MASK ,
252
+ RDMA2_SOUT_DSI2
203
253
}, {
204
254
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI2 ,
205
- DISP_REG_CONFIG_DSIE_SEL_IN , DSI2_SEL_IN_RDMA2
255
+ DISP_REG_CONFIG_DSIE_SEL_IN , DSI2_SEL_IN_MASK ,
256
+ DSI2_SEL_IN_RDMA2
206
257
}, {
207
258
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI3 ,
208
- DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_DSI3
259
+ DISP_REG_CONFIG_DISP_RDMA2_SOUT , RDMA2_SOUT_MASK ,
260
+ RDMA2_SOUT_DSI3
209
261
}, {
210
262
DDP_COMPONENT_RDMA2 , DDP_COMPONENT_DSI3 ,
211
- DISP_REG_CONFIG_DSIO_SEL_IN , DSI3_SEL_IN_RDMA2
263
+ DISP_REG_CONFIG_DSIO_SEL_IN , DSI3_SEL_IN_MASK ,
264
+ DSI3_SEL_IN_RDMA2
212
265
}
213
266
};
214
267
0 commit comments