forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/media/pci/solo6x10/solo6x10-regs.h
....@@ -1,25 +1,18 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
2
- * Copyright (C) 2010-2013 Bluecherry, LLC <http://www.bluecherrydvr.com>
3
+ * Copyright (C) 2010-2013 Bluecherry, LLC <https://www.bluecherrydvr.com>
34 *
45 * Original author:
56 * Ben Collins <bcollins@ubuntu.com>
67 *
78 * Additional work by:
89 * John Brooks <john.brooks@bluecherry.net>
9
- *
10
- * This program is free software; you can redistribute it and/or modify
11
- * it under the terms of the GNU General Public License as published by
12
- * the Free Software Foundation; either version 2 of the License, or
13
- * (at your option) any later version.
14
- *
15
- * This program is distributed in the hope that it will be useful,
16
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
- * GNU General Public License for more details.
1910 */
2011
2112 #ifndef __SOLO6X10_REGISTERS_H
2213 #define __SOLO6X10_REGISTERS_H
14
+
15
+#include <linux/bitops.h>
2316
2417 #include "solo6x10-offsets.h"
2518
....@@ -41,17 +34,17 @@
4134 #define SOLO_DMA_CTRL_REFRESH_CYCLE(n) ((n)<<8)
4235 /* 0=16/32MB, 1=32/64MB, 2=64/128MB, 3=128/256MB */
4336 #define SOLO_DMA_CTRL_SDRAM_SIZE(n) ((n)<<6)
44
-#define SOLO_DMA_CTRL_SDRAM_CLK_INVERT (1<<5)
45
-#define SOLO_DMA_CTRL_STROBE_SELECT (1<<4)
46
-#define SOLO_DMA_CTRL_READ_DATA_SELECT (1<<3)
47
-#define SOLO_DMA_CTRL_READ_CLK_SELECT (1<<2)
37
+#define SOLO_DMA_CTRL_SDRAM_CLK_INVERT BIT(5)
38
+#define SOLO_DMA_CTRL_STROBE_SELECT BIT(4)
39
+#define SOLO_DMA_CTRL_READ_DATA_SELECT BIT(3)
40
+#define SOLO_DMA_CTRL_READ_CLK_SELECT BIT(2)
4841 #define SOLO_DMA_CTRL_LATENCY(n) ((n)<<0)
4942
5043 /* Some things we set in this are undocumented. Why Softlogic?!?! */
5144 #define SOLO_DMA_CTRL1 0x0008
5245
5346 #define SOLO_SYS_VCLK 0x000C
54
-#define SOLO_VCLK_INVERT (1<<22)
47
+#define SOLO_VCLK_INVERT BIT(22)
5548 /* 0=sys_clk/4, 1=sys_clk/2, 2=clk_in/2 of system input */
5649 #define SOLO_VCLK_SELECT(n) ((n)<<20)
5750 #define SOLO_VCLK_VIN1415_DELAY(n) ((n)<<14)
....@@ -65,22 +58,22 @@
6558
6659 #define SOLO_IRQ_STAT 0x0010
6760 #define SOLO_IRQ_MASK 0x0014
68
-#define SOLO_IRQ_P2M(n) (1<<((n)+17))
69
-#define SOLO_IRQ_GPIO (1<<16)
70
-#define SOLO_IRQ_VIDEO_LOSS (1<<15)
71
-#define SOLO_IRQ_VIDEO_IN (1<<14)
72
-#define SOLO_IRQ_MOTION (1<<13)
73
-#define SOLO_IRQ_ATA_CMD (1<<12)
74
-#define SOLO_IRQ_ATA_DIR (1<<11)
75
-#define SOLO_IRQ_PCI_ERR (1<<10)
76
-#define SOLO_IRQ_PS2_1 (1<<9)
77
-#define SOLO_IRQ_PS2_0 (1<<8)
78
-#define SOLO_IRQ_SPI (1<<7)
79
-#define SOLO_IRQ_IIC (1<<6)
80
-#define SOLO_IRQ_UART(n) (1<<((n) + 4))
81
-#define SOLO_IRQ_G723 (1<<3)
82
-#define SOLO_IRQ_DECODER (1<<1)
83
-#define SOLO_IRQ_ENCODER (1<<0)
61
+#define SOLO_IRQ_P2M(n) BIT((n) + 17)
62
+#define SOLO_IRQ_GPIO BIT(16)
63
+#define SOLO_IRQ_VIDEO_LOSS BIT(15)
64
+#define SOLO_IRQ_VIDEO_IN BIT(14)
65
+#define SOLO_IRQ_MOTION BIT(13)
66
+#define SOLO_IRQ_ATA_CMD BIT(12)
67
+#define SOLO_IRQ_ATA_DIR BIT(11)
68
+#define SOLO_IRQ_PCI_ERR BIT(10)
69
+#define SOLO_IRQ_PS2_1 BIT(9)
70
+#define SOLO_IRQ_PS2_0 BIT(8)
71
+#define SOLO_IRQ_SPI BIT(7)
72
+#define SOLO_IRQ_IIC BIT(6)
73
+#define SOLO_IRQ_UART(n) BIT((n) + 4)
74
+#define SOLO_IRQ_G723 BIT(3)
75
+#define SOLO_IRQ_DECODER BIT(1)
76
+#define SOLO_IRQ_ENCODER BIT(0)
8477
8578 #define SOLO_CHIP_OPTION 0x001C
8679 #define SOLO_CHIP_ID_MASK 0x00000007
....@@ -88,11 +81,11 @@
8881 #define SOLO_PLL_CONFIG 0x0020 /* 6110 Only */
8982
9083 #define SOLO_EEPROM_CTRL 0x0060
91
-#define SOLO_EEPROM_ACCESS_EN (1<<7)
92
-#define SOLO_EEPROM_CS (1<<3)
93
-#define SOLO_EEPROM_CLK (1<<2)
94
-#define SOLO_EEPROM_DO (1<<1)
95
-#define SOLO_EEPROM_DI (1<<0)
84
+#define SOLO_EEPROM_ACCESS_EN BIT(7)
85
+#define SOLO_EEPROM_CS BIT(3)
86
+#define SOLO_EEPROM_CLK BIT(2)
87
+#define SOLO_EEPROM_DO BIT(1)
88
+#define SOLO_EEPROM_DI BIT(0)
9689 #define SOLO_EEPROM_ENABLE (SOLO_EEPROM_ACCESS_EN | SOLO_EEPROM_CS)
9790
9891 #define SOLO_PCI_ERR 0x0070
....@@ -111,13 +104,13 @@
111104
112105 #define SOLO_P2M_CONFIG(n) (0x0080 + ((n)*0x20))
113106 #define SOLO_P2M_DMA_INTERVAL(n) ((n)<<6)/* N*32 clocks */
114
-#define SOLO_P2M_CSC_BYTE_REORDER (1<<5) /* BGR -> RGB */
107
+#define SOLO_P2M_CSC_BYTE_REORDER BIT(5) /* BGR -> RGB */
115108 /* 0:r=[14:10] g=[9:5] b=[4:0], 1:r=[15:11] g=[10:5] b=[4:0] */
116
-#define SOLO_P2M_CSC_16BIT_565 (1<<4)
117
-#define SOLO_P2M_UV_SWAP (1<<3)
118
-#define SOLO_P2M_PCI_MASTER_MODE (1<<2)
119
-#define SOLO_P2M_DESC_INTR_OPT (1<<1) /* 1:Empty, 0:Each */
120
-#define SOLO_P2M_DESC_MODE (1<<0)
109
+#define SOLO_P2M_CSC_16BIT_565 BIT(4)
110
+#define SOLO_P2M_UV_SWAP BIT(3)
111
+#define SOLO_P2M_PCI_MASTER_MODE BIT(2)
112
+#define SOLO_P2M_DESC_INTR_OPT BIT(1) /* 1:Empty, 0:Each */
113
+#define SOLO_P2M_DESC_MODE BIT(0)
121114
122115 #define SOLO_P2M_DES_ADR(n) (0x0084 + ((n)*0x20))
123116
....@@ -125,7 +118,7 @@
125118 #define SOLO_P2M_UPDATE_ID(n) ((n)<<0)
126119
127120 #define SOLO_P2M_STATUS(n) (0x008C + ((n)*0x20))
128
-#define SOLO_P2M_COMMAND_DONE (1<<8)
121
+#define SOLO_P2M_COMMAND_DONE BIT(8)
129122 #define SOLO_P2M_CURRENT_ID(stat) (0xff & (stat))
130123
131124 #define SOLO_P2M_CONTROL(n) (0x0090 + ((n)*0x20))
....@@ -138,13 +131,13 @@
138131 #define SOLO_P2M_BURST_128 2
139132 #define SOLO_P2M_BURST_64 3
140133 #define SOLO_P2M_BURST_32 4
141
-#define SOLO_P2M_CSC_16BIT (1<<6) /* 0:24bit, 1:16bit */
134
+#define SOLO_P2M_CSC_16BIT BIT(6) /* 0:24bit, 1:16bit */
142135 /* 0:Y[0]<-0(OFF), 1:Y[0]<-1(ON), 2:Y[0]<-G[0], 3:Y[0]<-Bit[15] */
143136 #define SOLO_P2M_ALPHA_MODE(n) ((n)<<4)
144
-#define SOLO_P2M_CSC_ON (1<<3)
145
-#define SOLO_P2M_INTERRUPT_REQ (1<<2)
146
-#define SOLO_P2M_WRITE (1<<1)
147
-#define SOLO_P2M_TRANS_ON (1<<0)
137
+#define SOLO_P2M_CSC_ON BIT(3)
138
+#define SOLO_P2M_INTERRUPT_REQ BIT(2)
139
+#define SOLO_P2M_WRITE BIT(1)
140
+#define SOLO_P2M_TRANS_ON BIT(0)
148141
149142 #define SOLO_P2M_EXT_CFG(n) (0x0094 + ((n)*0x20))
150143 #define SOLO_P2M_EXT_INC(n) ((n)<<20)
....@@ -166,9 +159,9 @@
166159 #define SOLO_VI_PROG_MASK(n) ((n)<<0)
167160
168161 #define SOLO_VI_FMT_CFG 0x0114
169
-#define SOLO_VI_FMT_CHECK_VCOUNT (1<<31)
170
-#define SOLO_VI_FMT_CHECK_HCOUNT (1<<30)
171
-#define SOLO_VI_FMT_TEST_SIGNAL (1<<28)
162
+#define SOLO_VI_FMT_CHECK_VCOUNT BIT(31)
163
+#define SOLO_VI_FMT_CHECK_HCOUNT BIT(30)
164
+#define SOLO_VI_FMT_TEST_SIGNAL BIT(28)
172165
173166 #define SOLO_VI_PAGE_SW 0x0118
174167 #define SOLO_FI_INV_DISP_LIVE(n) ((n)<<8)
....@@ -180,7 +173,7 @@
180173 #define SOLO_VI_ACT_I_P 0x011C
181174 #define SOLO_VI_ACT_I_S 0x0120
182175 #define SOLO_VI_ACT_P 0x0124
183
-#define SOLO_VI_FI_INVERT (1<<31)
176
+#define SOLO_VI_FI_INVERT BIT(31)
184177 #define SOLO_VI_H_START(n) ((n)<<21)
185178 #define SOLO_VI_V_START(n) ((n)<<11)
186179 #define SOLO_VI_V_STOP(n) ((n)<<0)
....@@ -193,8 +186,8 @@
193186 #define DISP_PAGE(stat) ((stat) & 0x07)
194187
195188 #define SOLO_VI_PB_CONFIG 0x0130
196
-#define SOLO_VI_PB_USER_MODE (1<<1)
197
-#define SOLO_VI_PB_PAL (1<<0)
189
+#define SOLO_VI_PB_USER_MODE BIT(1)
190
+#define SOLO_VI_PB_PAL BIT(0)
198191 #define SOLO_VI_PB_RANGE_HV 0x0134
199192 #define SOLO_VI_PB_HSIZE(h) ((h)<<12)
200193 #define SOLO_VI_PB_VSIZE(v) ((v)<<0)
....@@ -235,35 +228,35 @@
235228 #define SOLO_VI_MOT_CTRL 0x0264
236229 #define SOLO_VI_MOTION_FRAME_COUNT(n) ((n)<<24)
237230 #define SOLO_VI_MOTION_SAMPLE_LENGTH(n) ((n)<<16)
238
-#define SOLO_VI_MOTION_INTR_START_STOP (1<<15)
239
-#define SOLO_VI_MOTION_FREEZE_DATA (1<<14)
231
+#define SOLO_VI_MOTION_INTR_START_STOP BIT(15)
232
+#define SOLO_VI_MOTION_FREEZE_DATA BIT(14)
240233 #define SOLO_VI_MOTION_SAMPLE_COUNT(n) ((n)<<0)
241234 #define SOLO_VI_MOT_CLEAR 0x0268
242235 #define SOLO_VI_MOT_STATUS 0x026C
243236 #define SOLO_VI_MOTION_CNT(n) ((n)<<0)
244237 #define SOLO_VI_MOTION_BORDER 0x0270
245238 #define SOLO_VI_MOTION_BAR 0x0274
246
-#define SOLO_VI_MOTION_Y_SET (1<<29)
247
-#define SOLO_VI_MOTION_Y_ADD (1<<28)
248
-#define SOLO_VI_MOTION_CB_SET (1<<27)
249
-#define SOLO_VI_MOTION_CB_ADD (1<<26)
250
-#define SOLO_VI_MOTION_CR_SET (1<<25)
251
-#define SOLO_VI_MOTION_CR_ADD (1<<24)
239
+#define SOLO_VI_MOTION_Y_SET BIT(29)
240
+#define SOLO_VI_MOTION_Y_ADD BIT(28)
241
+#define SOLO_VI_MOTION_CB_SET BIT(27)
242
+#define SOLO_VI_MOTION_CB_ADD BIT(26)
243
+#define SOLO_VI_MOTION_CR_SET BIT(25)
244
+#define SOLO_VI_MOTION_CR_ADD BIT(24)
252245 #define SOLO_VI_MOTION_Y_VALUE(v) ((v)<<16)
253246 #define SOLO_VI_MOTION_CB_VALUE(v) ((v)<<8)
254247 #define SOLO_VI_MOTION_CR_VALUE(v) ((v)<<0)
255248
256249 #define SOLO_VO_FMT_ENC 0x0300
257
-#define SOLO_VO_SCAN_MODE_PROGRESSIVE (1<<31)
258
-#define SOLO_VO_FMT_TYPE_PAL (1<<30)
250
+#define SOLO_VO_SCAN_MODE_PROGRESSIVE BIT(31)
251
+#define SOLO_VO_FMT_TYPE_PAL BIT(30)
259252 #define SOLO_VO_FMT_TYPE_NTSC 0
260
-#define SOLO_VO_USER_SET (1<<29)
253
+#define SOLO_VO_USER_SET BIT(29)
261254
262
-#define SOLO_VO_FI_CHANGE (1<<20)
263
-#define SOLO_VO_USER_COLOR_SET_VSYNC (1<<19)
264
-#define SOLO_VO_USER_COLOR_SET_HSYNC (1<<18)
265
-#define SOLO_VO_USER_COLOR_SET_NAH (1<<17)
266
-#define SOLO_VO_USER_COLOR_SET_NAV (1<<16)
255
+#define SOLO_VO_FI_CHANGE BIT(20)
256
+#define SOLO_VO_USER_COLOR_SET_VSYNC BIT(19)
257
+#define SOLO_VO_USER_COLOR_SET_HSYNC BIT(18)
258
+#define SOLO_VO_USER_COLOR_SET_NAH BIT(17)
259
+#define SOLO_VO_USER_COLOR_SET_NAV BIT(16)
267260 #define SOLO_VO_NA_COLOR_Y(Y) ((Y)<<8)
268261 #define SOLO_VO_NA_COLOR_CB(CB) (((CB)/16)<<4)
269262 #define SOLO_VO_NA_COLOR_CR(CR) (((CR)/16)<<0)
....@@ -279,32 +272,32 @@
279272 #define SOLO_VO_V_STOP(n) ((n)<<0)
280273
281274 #define SOLO_VO_RANGE_HV 0x030C
282
-#define SOLO_VO_SYNC_INVERT (1<<24)
283
-#define SOLO_VO_HSYNC_INVERT (1<<23)
284
-#define SOLO_VO_VSYNC_INVERT (1<<22)
275
+#define SOLO_VO_SYNC_INVERT BIT(24)
276
+#define SOLO_VO_HSYNC_INVERT BIT(23)
277
+#define SOLO_VO_VSYNC_INVERT BIT(22)
285278 #define SOLO_VO_H_LEN(n) ((n)<<11)
286279 #define SOLO_VO_V_LEN(n) ((n)<<0)
287280
288281 #define SOLO_VO_DISP_CTRL 0x0310
289
-#define SOLO_VO_DISP_ON (1<<31)
282
+#define SOLO_VO_DISP_ON BIT(31)
290283 #define SOLO_VO_DISP_ERASE_COUNT(n) ((n&0xf)<<24)
291
-#define SOLO_VO_DISP_DOUBLE_SCAN (1<<22)
292
-#define SOLO_VO_DISP_SINGLE_PAGE (1<<21)
284
+#define SOLO_VO_DISP_DOUBLE_SCAN BIT(22)
285
+#define SOLO_VO_DISP_SINGLE_PAGE BIT(21)
293286 #define SOLO_VO_DISP_BASE(n) (((n)>>16) & 0xffff)
294287
295288 #define SOLO_VO_DISP_ERASE 0x0314
296
-#define SOLO_VO_DISP_ERASE_ON (1<<0)
289
+#define SOLO_VO_DISP_ERASE_ON BIT(0)
297290
298291 #define SOLO_VO_ZOOM_CTRL 0x0318
299
-#define SOLO_VO_ZOOM_VER_ON (1<<24)
300
-#define SOLO_VO_ZOOM_HOR_ON (1<<23)
301
-#define SOLO_VO_ZOOM_V_COMP (1<<22)
292
+#define SOLO_VO_ZOOM_VER_ON BIT(24)
293
+#define SOLO_VO_ZOOM_HOR_ON BIT(23)
294
+#define SOLO_VO_ZOOM_V_COMP BIT(22)
302295 #define SOLO_VO_ZOOM_SX(h) (((h)/2)<<11)
303296 #define SOLO_VO_ZOOM_SY(v) (((v)/2)<<0)
304297
305298 #define SOLO_VO_FREEZE_CTRL 0x031C
306
-#define SOLO_VO_FREEZE_ON (1<<1)
307
-#define SOLO_VO_FREEZE_INTERPOLATION (1<<0)
299
+#define SOLO_VO_FREEZE_ON BIT(1)
300
+#define SOLO_VO_FREEZE_INTERPOLATION BIT(0)
308301
309302 #define SOLO_VO_BKG_COLOR 0x0320
310303 #define SOLO_BG_Y(y) ((y)<<16)
....@@ -343,8 +336,8 @@
343336 #define SOLO_VO_EXPANSION(id) (0x0250+((id)*4))
344337
345338 #define SOLO_OSG_CONFIG 0x03E0
346
-#define SOLO_VO_OSG_ON (1<<31)
347
-#define SOLO_VO_OSG_COLOR_MUTE (1<<28)
339
+#define SOLO_VO_OSG_ON BIT(31)
340
+#define SOLO_VO_OSG_COLOR_MUTE BIT(28)
348341 #define SOLO_VO_OSG_ALPHA_RATE(n) ((n)<<22)
349342 #define SOLO_VO_OSG_ALPHA_BG_RATE(n) ((n)<<16)
350343 #define SOLO_VO_OSG_BASE(offset) (((offset)>>16)&0xffff)
....@@ -354,8 +347,8 @@
354347 #define SOLO_OSG_ERASE_OFF (0x00)
355348
356349 #define SOLO_VO_OSG_BLINK 0x03E8
357
-#define SOLO_VO_OSG_BLINK_ON (1<<1)
358
-#define SOLO_VO_OSG_BLINK_INTREVAL18 (1<<0)
350
+#define SOLO_VO_OSG_BLINK_ON BIT(1)
351
+#define SOLO_VO_OSG_BLINK_INTREVAL18 BIT(0)
359352
360353 #define SOLO_CAP_BASE 0x0400
361354 #define SOLO_CAP_MAX_PAGE(n) ((n)<<16)
....@@ -383,19 +376,19 @@
383376
384377
385378 #define SOLO_VE_CFG0 0x0610
386
-#define SOLO_VE_TWO_PAGE_MODE (1<<31)
379
+#define SOLO_VE_TWO_PAGE_MODE BIT(31)
387380 #define SOLO_VE_INTR_CTRL(n) ((n)<<24)
388381 #define SOLO_VE_BLOCK_SIZE(n) ((n)<<16)
389382 #define SOLO_VE_BLOCK_BASE(n) ((n)<<0)
390383
391384 #define SOLO_VE_CFG1 0x0614
392385 #define SOLO_VE_BYTE_ALIGN(n) ((n)<<24)
393
-#define SOLO_VE_INSERT_INDEX (1<<18)
386
+#define SOLO_VE_INSERT_INDEX BIT(18)
394387 #define SOLO_VE_MOTION_MODE(n) ((n)<<16)
395388 #define SOLO_VE_MOTION_BASE(n) ((n)<<0)
396389 #define SOLO_VE_MPEG_SIZE_H(n) ((n)<<28) /* 6110 Only */
397390 #define SOLO_VE_JPEG_SIZE_H(n) ((n)<<20) /* 6110 Only */
398
-#define SOLO_VE_INSERT_INDEX_JPEG (1<<19) /* 6110 Only */
391
+#define SOLO_VE_INSERT_INDEX_JPEG BIT(19) /* 6110 Only */
399392
400393 #define SOLO_VE_WMRK_POLY 0x061C
401394 #define SOLO_VE_VMRK_INIT_KEY 0x0620
....@@ -403,8 +396,8 @@
403396 #define SOLO_VE_ENCRYP_POLY 0x0628
404397 #define SOLO_VE_ENCRYP_INIT 0x062C
405398 #define SOLO_VE_ATTR 0x0630
406
-#define SOLO_VE_LITTLE_ENDIAN (1<<31)
407
-#define SOLO_COMP_ATTR_RN (1<<30)
399
+#define SOLO_VE_LITTLE_ENDIAN BIT(31)
400
+#define SOLO_COMP_ATTR_RN BIT(30)
408401 #define SOLO_COMP_ATTR_FCODE(n) ((n)<<27)
409402 #define SOLO_COMP_TIME_INC(n) ((n)<<25)
410403 #define SOLO_COMP_TIME_WIDTH(n) ((n)<<21)
....@@ -425,9 +418,9 @@
425418 #define SOLO_VE_OSD_BASE 0x0694
426419 #define SOLO_VE_OSD_CLR 0x0698
427420 #define SOLO_VE_OSD_OPT 0x069C
428
-#define SOLO_VE_OSD_V_DOUBLE (1<<16) /* 6110 Only */
429
-#define SOLO_VE_OSD_H_SHADOW (1<<15)
430
-#define SOLO_VE_OSD_V_SHADOW (1<<14)
421
+#define SOLO_VE_OSD_V_DOUBLE BIT(16) /* 6110 Only */
422
+#define SOLO_VE_OSD_H_SHADOW BIT(15)
423
+#define SOLO_VE_OSD_V_SHADOW BIT(14)
431424 #define SOLO_VE_OSD_H_OFFSET(n) ((n & 0x7f)<<7)
432425 #define SOLO_VE_OSD_V_OFFSET(n) (n & 0x7f)
433426
....@@ -444,18 +437,18 @@
444437 #define SOLO_VE_JPEG_QUE(n) (0x0A04+((n)*8))
445438
446439 #define SOLO_VD_CFG0 0x0900
447
-#define SOLO_VD_CFG_NO_WRITE_NO_WINDOW (1<<24)
448
-#define SOLO_VD_CFG_BUSY_WIAT_CODE (1<<23)
449
-#define SOLO_VD_CFG_BUSY_WIAT_REF (1<<22)
450
-#define SOLO_VD_CFG_BUSY_WIAT_RES (1<<21)
451
-#define SOLO_VD_CFG_BUSY_WIAT_MS (1<<20)
452
-#define SOLO_VD_CFG_SINGLE_MODE (1<<18)
453
-#define SOLO_VD_CFG_SCAL_MANUAL (1<<17)
454
-#define SOLO_VD_CFG_USER_PAGE_CTRL (1<<16)
455
-#define SOLO_VD_CFG_LITTLE_ENDIAN (1<<15)
456
-#define SOLO_VD_CFG_START_FI (1<<14)
457
-#define SOLO_VD_CFG_ERR_LOCK (1<<13)
458
-#define SOLO_VD_CFG_ERR_INT_ENA (1<<12)
440
+#define SOLO_VD_CFG_NO_WRITE_NO_WINDOW BIT(24)
441
+#define SOLO_VD_CFG_BUSY_WIAT_CODE BIT(23)
442
+#define SOLO_VD_CFG_BUSY_WIAT_REF BIT(22)
443
+#define SOLO_VD_CFG_BUSY_WIAT_RES BIT(21)
444
+#define SOLO_VD_CFG_BUSY_WIAT_MS BIT(20)
445
+#define SOLO_VD_CFG_SINGLE_MODE BIT(18)
446
+#define SOLO_VD_CFG_SCAL_MANUAL BIT(17)
447
+#define SOLO_VD_CFG_USER_PAGE_CTRL BIT(16)
448
+#define SOLO_VD_CFG_LITTLE_ENDIAN BIT(15)
449
+#define SOLO_VD_CFG_START_FI BIT(14)
450
+#define SOLO_VD_CFG_ERR_LOCK BIT(13)
451
+#define SOLO_VD_CFG_ERR_INT_ENA BIT(12)
459452 #define SOLO_VD_CFG_TIME_WIDTH(n) ((n)<<8)
460453 #define SOLO_VD_CFG_DCT_INTERVAL(n) ((n)<<0)
461454
....@@ -468,37 +461,37 @@
468461 #define SOLO_VD_CODE_ADR 0x090C
469462
470463 #define SOLO_VD_CTRL 0x0910
471
-#define SOLO_VD_OPER_ON (1<<31)
464
+#define SOLO_VD_OPER_ON BIT(31)
472465 #define SOLO_VD_MAX_ITEM(n) ((n)<<0)
473466
474467 #define SOLO_VD_STATUS0 0x0920
475
-#define SOLO_VD_STATUS0_INTR_ACK (1<<22)
476
-#define SOLO_VD_STATUS0_INTR_EMPTY (1<<21)
477
-#define SOLO_VD_STATUS0_INTR_ERR (1<<20)
468
+#define SOLO_VD_STATUS0_INTR_ACK BIT(22)
469
+#define SOLO_VD_STATUS0_INTR_EMPTY BIT(21)
470
+#define SOLO_VD_STATUS0_INTR_ERR BIT(20)
478471
479472 #define SOLO_VD_STATUS1 0x0924
480473
481474 #define SOLO_VD_IDX0 0x0930
482
-#define SOLO_VD_IDX_INTERLACE (1<<30)
475
+#define SOLO_VD_IDX_INTERLACE BIT(30)
483476 #define SOLO_VD_IDX_CHANNEL(n) ((n)<<24)
484477 #define SOLO_VD_IDX_SIZE(n) ((n)<<0)
485478
486479 #define SOLO_VD_IDX1 0x0934
487480 #define SOLO_VD_IDX_SRC_SCALE(n) ((n)<<28)
488481 #define SOLO_VD_IDX_WINDOW(n) ((n)<<24)
489
-#define SOLO_VD_IDX_DEINTERLACE (1<<16)
482
+#define SOLO_VD_IDX_DEINTERLACE BIT(16)
490483 #define SOLO_VD_IDX_H_BLOCK(n) ((n)<<8)
491484 #define SOLO_VD_IDX_V_BLOCK(n) ((n)<<0)
492485
493486 #define SOLO_VD_IDX2 0x0938
494
-#define SOLO_VD_IDX_REF_BASE_SIDE (1<<31)
487
+#define SOLO_VD_IDX_REF_BASE_SIDE BIT(31)
495488 #define SOLO_VD_IDX_REF_BASE(n) (((n)>>16)&0xffff)
496489
497490 #define SOLO_VD_IDX3 0x093C
498491 #define SOLO_VD_IDX_DISP_SCALE(n) ((n)<<28)
499
-#define SOLO_VD_IDX_INTERLACE_WR (1<<27)
500
-#define SOLO_VD_IDX_INTERPOL (1<<26)
501
-#define SOLO_VD_IDX_HOR2X (1<<25)
492
+#define SOLO_VD_IDX_INTERLACE_WR BIT(27)
493
+#define SOLO_VD_IDX_INTERPOL BIT(26)
494
+#define SOLO_VD_IDX_HOR2X BIT(25)
502495 #define SOLO_VD_IDX_OFFSET_X(n) ((n)<<12)
503496 #define SOLO_VD_IDX_OFFSET_Y(n) ((n)<<0)
504497
....@@ -520,21 +513,21 @@
520513
521514
522515 #define SOLO_IIC_CFG 0x0B20
523
-#define SOLO_IIC_ENABLE (1<<8)
516
+#define SOLO_IIC_ENABLE BIT(8)
524517 #define SOLO_IIC_PRESCALE(n) ((n)<<0)
525518
526519 #define SOLO_IIC_CTRL 0x0B24
527
-#define SOLO_IIC_AUTO_CLEAR (1<<20)
528
-#define SOLO_IIC_STATE_RX_ACK (1<<19)
529
-#define SOLO_IIC_STATE_BUSY (1<<18)
530
-#define SOLO_IIC_STATE_SIG_ERR (1<<17)
531
-#define SOLO_IIC_STATE_TRNS (1<<16)
520
+#define SOLO_IIC_AUTO_CLEAR BIT(20)
521
+#define SOLO_IIC_STATE_RX_ACK BIT(19)
522
+#define SOLO_IIC_STATE_BUSY BIT(18)
523
+#define SOLO_IIC_STATE_SIG_ERR BIT(17)
524
+#define SOLO_IIC_STATE_TRNS BIT(16)
532525 #define SOLO_IIC_CH_SET(n) ((n)<<5)
533
-#define SOLO_IIC_ACK_EN (1<<4)
534
-#define SOLO_IIC_START (1<<3)
535
-#define SOLO_IIC_STOP (1<<2)
536
-#define SOLO_IIC_READ (1<<1)
537
-#define SOLO_IIC_WRITE (1<<0)
526
+#define SOLO_IIC_ACK_EN BIT(4)
527
+#define SOLO_IIC_START BIT(3)
528
+#define SOLO_IIC_STOP BIT(2)
529
+#define SOLO_IIC_READ BIT(1)
530
+#define SOLO_IIC_WRITE BIT(0)
538531
539532 #define SOLO_IIC_TXD 0x0B28
540533 #define SOLO_IIC_RXD 0x0B2C
....@@ -544,15 +537,15 @@
544537 */
545538 #define SOLO_UART_CONTROL(n) (0x0BA0 + ((n)*0x20))
546539 #define SOLO_UART_CLK_DIV(n) ((n)<<24)
547
-#define SOLO_MODEM_CTRL_EN (1<<20)
548
-#define SOLO_PARITY_ERROR_DROP (1<<18)
549
-#define SOLO_IRQ_ERR_EN (1<<17)
550
-#define SOLO_IRQ_RX_EN (1<<16)
551
-#define SOLO_IRQ_TX_EN (1<<15)
552
-#define SOLO_RX_EN (1<<14)
553
-#define SOLO_TX_EN (1<<13)
554
-#define SOLO_UART_HALF_DUPLEX (1<<12)
555
-#define SOLO_UART_LOOPBACK (1<<11)
540
+#define SOLO_MODEM_CTRL_EN BIT(20)
541
+#define SOLO_PARITY_ERROR_DROP BIT(18)
542
+#define SOLO_IRQ_ERR_EN BIT(17)
543
+#define SOLO_IRQ_RX_EN BIT(16)
544
+#define SOLO_IRQ_TX_EN BIT(15)
545
+#define SOLO_RX_EN BIT(14)
546
+#define SOLO_TX_EN BIT(13)
547
+#define SOLO_UART_HALF_DUPLEX BIT(12)
548
+#define SOLO_UART_LOOPBACK BIT(11)
556549
557550 #define SOLO_BAUDRATE_230400 ((0<<9)|(0<<6))
558551 #define SOLO_BAUDRATE_115200 ((0<<9)|(1<<6))
....@@ -578,12 +571,12 @@
578571 #define SOLO_UART_PARITY_ODD (3<<0)
579572
580573 #define SOLO_UART_STATUS(n) (0x0BA4 + ((n)*0x20))
581
-#define SOLO_UART_CTS (1<<15)
582
-#define SOLO_UART_RX_BUSY (1<<14)
583
-#define SOLO_UART_OVERRUN (1<<13)
584
-#define SOLO_UART_FRAME_ERR (1<<12)
585
-#define SOLO_UART_PARITY_ERR (1<<11)
586
-#define SOLO_UART_TX_BUSY (1<<5)
574
+#define SOLO_UART_CTS BIT(15)
575
+#define SOLO_UART_RX_BUSY BIT(14)
576
+#define SOLO_UART_OVERRUN BIT(13)
577
+#define SOLO_UART_FRAME_ERR BIT(12)
578
+#define SOLO_UART_PARITY_ERR BIT(11)
579
+#define SOLO_UART_TX_BUSY BIT(5)
587580
588581 #define SOLO_UART_RX_BUFF_CNT(stat) (((stat)>>6) & 0x1f)
589582 #define SOLO_UART_RX_BUFF_SIZE 8
....@@ -591,9 +584,9 @@
591584 #define SOLO_UART_TX_BUFF_SIZE 8
592585
593586 #define SOLO_UART_TX_DATA(n) (0x0BA8 + ((n)*0x20))
594
-#define SOLO_UART_TX_DATA_PUSH (1<<8)
587
+#define SOLO_UART_TX_DATA_PUSH BIT(8)
595588 #define SOLO_UART_RX_DATA(n) (0x0BAC + ((n)*0x20))
596
-#define SOLO_UART_RX_DATA_POP (1<<8)
589
+#define SOLO_UART_RX_DATA_POP BIT(8)
597590
598591 #define SOLO_TIMER_CLOCK_NUM 0x0be0
599592 #define SOLO_TIMER_USEC 0x0be8
....@@ -601,19 +594,19 @@
601594 #define SOLO_TIMER_USEC_LSB 0x0d20 /* 6110 Only */
602595
603596 #define SOLO_AUDIO_CONTROL 0x0D00
604
-#define SOLO_AUDIO_ENABLE (1<<31)
605
-#define SOLO_AUDIO_MASTER_MODE (1<<30)
606
-#define SOLO_AUDIO_I2S_MODE (1<<29)
607
-#define SOLO_AUDIO_I2S_LR_SWAP (1<<27)
608
-#define SOLO_AUDIO_I2S_8BIT (1<<26)
597
+#define SOLO_AUDIO_ENABLE BIT(31)
598
+#define SOLO_AUDIO_MASTER_MODE BIT(30)
599
+#define SOLO_AUDIO_I2S_MODE BIT(29)
600
+#define SOLO_AUDIO_I2S_LR_SWAP BIT(27)
601
+#define SOLO_AUDIO_I2S_8BIT BIT(26)
609602 #define SOLO_AUDIO_I2S_MULTI(n) ((n)<<24)
610
-#define SOLO_AUDIO_MIX_9TO0 (1<<23)
603
+#define SOLO_AUDIO_MIX_9TO0 BIT(23)
611604 #define SOLO_AUDIO_DEC_9TO0_VOL(n) ((n)<<20)
612
-#define SOLO_AUDIO_MIX_19TO10 (1<<19)
605
+#define SOLO_AUDIO_MIX_19TO10 BIT(19)
613606 #define SOLO_AUDIO_DEC_19TO10_VOL(n) ((n)<<16)
614607 #define SOLO_AUDIO_MODE(n) ((n)<<0)
615608 #define SOLO_AUDIO_SAMPLE 0x0D04
616
-#define SOLO_AUDIO_EE_MODE_ON (1<<30)
609
+#define SOLO_AUDIO_EE_MODE_ON BIT(30)
617610 #define SOLO_AUDIO_EE_ENC_CH(ch) ((ch)<<25)
618611 #define SOLO_AUDIO_BITRATE(n) ((n)<<16)
619612 #define SOLO_AUDIO_CLK_DIV(n) ((n)<<0)