Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  *  Driver for the Conexant CX23885 PCIe bridge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  *  Copyright (c) 2006 Steven Toth <stoth@linuxtv.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #ifndef _CX23885_REG_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #define _CX23885_REG_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) Address Map
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 0x00000000 -> 0x00009000   TX SRAM  (Fifos)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 0x00010000 -> 0x00013c00   RX SRAM  CMDS + CDT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) EACH CMDS struct is 0x80 bytes long
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) DMAx_PTR1 = 0x03040 address of first cluster
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) DMAx_PTR2 = 0x10600 address of the CDT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) DMAx_CNT1 = cluster size in (bytes >> 4) -1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) DMAx_CNT2 = total cdt size for all entries >> 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) Cluster Descriptor entry = 4 DWORDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)  DWORD 0 -> ptr to cluster
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)  DWORD 1 Reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)  DWORD 2 Reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)  DWORD 3 Reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) Channel manager Data Structure entry = 20 DWORD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)   0  IntialProgramCounterLow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)   1  IntialProgramCounterHigh
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)   2  ClusterDescriptorTableBase
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)   3  ClusterDescriptorTableSize
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34)   4  InstructionQueueBase
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35)   5  InstructionQueueSize
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) ...  Reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)  19  Reserved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) /* Risc Instructions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #define RISC_CNT_INC		 0x00010000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #define RISC_CNT_RESET		 0x00030000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define RISC_IRQ1		 0x01000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) #define RISC_IRQ2		 0x02000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define RISC_EOL		 0x04000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) #define RISC_SOL		 0x08000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) #define RISC_WRITE		 0x10000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #define RISC_SKIP		 0x20000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define RISC_JUMP		 0x70000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) #define RISC_SYNC		 0x80000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) #define RISC_RESYNC		 0x80008000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) #define RISC_READ		 0x90000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) #define RISC_WRITERM		 0xB0000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) #define RISC_WRITECM		 0xC0000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) #define RISC_WRITECR		 0xD0000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) #define RISC_WRITEC		 0x50000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) #define RISC_READC		 0xA0000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) /* Audio and Video Core */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) #define HOST_REG1		0x00000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) #define HOST_REG2		0x00000001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) #define HOST_REG3		0x00000002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) /* Chip Configuration Registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) #define CHIP_CTRL		0x00000100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define AFE_CTRL		0x00000104
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #define VID_PLL_INT_POST	0x00000108
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #define VID_PLL_FRAC		0x0000010C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #define AUX_PLL_INT_POST	0x00000110
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) #define AUX_PLL_FRAC		0x00000114
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #define SYS_PLL_INT_POST	0x00000118
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #define SYS_PLL_FRAC		0x0000011C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) #define PIN_CTRL		0x00000120
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #define AUD_IO_CTRL		0x00000124
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) #define AUD_LOCK1		0x00000128
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) #define AUD_LOCK2		0x0000012C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define POWER_CTRL		0x00000130
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) #define AFE_DIAG_CTRL1		0x00000134
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define AFE_DIAG_CTRL3		0x0000013C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define PLL_DIAG_CTRL		0x00000140
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define AFE_CLK_OUT_CTRL	0x00000144
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) #define DLL1_DIAG_CTRL		0x0000015C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) /* GPIO[23:19] Output Enable */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) #define GPIO2_OUT_EN_REG	0x00000160
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) /* GPIO[23:19] Data Registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define GPIO2			0x00000164
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define IFADC_CTRL		0x00000180
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) /* Infrared Remote Registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) #define IR_CNTRL_REG	0x00000200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define IR_TXCLK_REG	0x00000204
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) #define IR_RXCLK_REG	0x00000208
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) #define IR_CDUTY_REG	0x0000020C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) #define IR_STAT_REG	0x00000210
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) #define IR_IRQEN_REG	0x00000214
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) #define IR_FILTR_REG	0x00000218
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define IR_FIFO_REG	0x0000023C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) /* Video Decoder Registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define MODE_CTRL		0x00000400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #define OUT_CTRL1		0x00000404
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define OUT_CTRL2		0x00000408
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define GEN_STAT		0x0000040C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define INT_STAT_MASK		0x00000410
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define LUMA_CTRL		0x00000414
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #define HSCALE_CTRL		0x00000418
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define VSCALE_CTRL		0x0000041C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define CHROMA_CTRL		0x00000420
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #define VBI_LINE_CTRL1		0x00000424
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #define VBI_LINE_CTRL2		0x00000428
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define VBI_LINE_CTRL3		0x0000042C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define VBI_LINE_CTRL4		0x00000430
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #define VBI_LINE_CTRL5		0x00000434
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) #define VBI_FC_CFG		0x00000438
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) #define VBI_MISC_CFG1		0x0000043C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define VBI_MISC_CFG2		0x00000440
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define VBI_PAY1		0x00000444
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define VBI_PAY2		0x00000448
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define VBI_CUST1_CFG1		0x0000044C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #define VBI_CUST1_CFG2		0x00000450
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) #define VBI_CUST1_CFG3		0x00000454
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define VBI_CUST2_CFG1		0x00000458
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define VBI_CUST2_CFG2		0x0000045C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) #define VBI_CUST2_CFG3		0x00000460
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) #define VBI_CUST3_CFG1		0x00000464
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #define VBI_CUST3_CFG2		0x00000468
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #define VBI_CUST3_CFG3		0x0000046C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define HORIZ_TIM_CTRL		0x00000470
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define VERT_TIM_CTRL		0x00000474
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define SRC_COMB_CFG		0x00000478
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define CHROMA_VBIOFF_CFG	0x0000047C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define FIELD_COUNT		0x00000480
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define MISC_TIM_CTRL		0x00000484
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define DFE_CTRL1		0x00000488
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) #define DFE_CTRL2		0x0000048C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define DFE_CTRL3		0x00000490
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #define PLL_CTRL		0x00000494
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define HTL_CTRL		0x00000498
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #define COMB_CTRL		0x0000049C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) #define CRUSH_CTRL		0x000004A0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #define SOFT_RST_CTRL		0x000004A4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define CX885_VERSION		0x000004B4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #define VBI_PASS_CTRL		0x000004BC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) /* Audio Decoder Registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) /* 8051 Configuration */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define DL_CTL		0x00000800
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) #define STD_DET_STATUS	0x00000804
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) #define STD_DET_CTL	0x00000808
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #define DW8051_INT	0x0000080C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define GENERAL_CTL	0x00000810
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) #define AAGC_CTL	0x00000814
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) #define DEMATRIX_CTL	0x000008CC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) #define PATH1_CTL1	0x000008D0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define PATH1_VOL_CTL	0x000008D4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) #define PATH1_EQ_CTL	0x000008D8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) #define PATH1_SC_CTL	0x000008DC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) #define PATH2_CTL1	0x000008E0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #define PATH2_VOL_CTL	0x000008E4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define PATH2_EQ_CTL	0x000008E8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define PATH2_SC_CTL	0x000008EC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) /* Sample Rate Converter */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define SRC_CTL		0x000008F0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) #define SRC_LF_COEF	0x000008F4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) #define SRC1_CTL	0x000008F8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) #define SRC2_CTL	0x000008FC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) #define SRC3_CTL	0x00000900
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) #define SRC4_CTL	0x00000904
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) #define SRC5_CTL	0x00000908
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) #define SRC6_CTL	0x0000090C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) #define BAND_OUT_SEL	0x00000910
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #define I2S_N_CTL	0x00000914
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) #define I2S_OUT_CTL	0x00000918
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define AUTOCONFIG_REG	0x000009C4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) /* Audio ADC Registers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define DSM_CTRL1	0x00000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) #define DSM_CTRL2	0x00000001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) #define CHP_EN_CTRL	0x00000002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define CHP_CLK_CTRL1	0x00000004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #define CHP_CLK_CTRL2	0x00000005
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) #define BG_REF_CTRL	0x00000006
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) #define SD2_SW_CTRL1	0x00000008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) #define SD2_SW_CTRL2	0x00000009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) #define SD2_BIAS_CTRL	0x0000000A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) #define AMP_BIAS_CTRL	0x0000000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) #define CH_PWR_CTRL1	0x0000000E
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) #define FLD_CH_SEL      (1 << 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) #define CH_PWR_CTRL2	0x0000000F
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) #define DSM_STATUS1	0x00000010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) #define DSM_STATUS2	0x00000011
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) #define DIG_CTL1	0x00000012
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) #define DIG_CTL2	0x00000013
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) #define I2S_TX_CFG	0x0000001A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) #define DEV_CNTRL2	0x00040000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) #define PCI_MSK_IR        (1 << 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) #define PCI_MSK_AV_CORE   (1 << 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) #define PCI_MSK_GPIO1     (1 << 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) #define PCI_MSK_GPIO0     (1 << 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) #define PCI_MSK_APB_DMA   (1 << 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) #define PCI_MSK_AL_WR     (1 << 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) #define PCI_MSK_AL_RD     (1 << 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) #define PCI_MSK_RISC_WR   (1 <<  9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) #define PCI_MSK_RISC_RD   (1 <<  8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) #define PCI_MSK_AUD_EXT   (1 <<  4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) #define PCI_MSK_AUD_INT   (1 <<  3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) #define PCI_MSK_VID_C     (1 <<  2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) #define PCI_MSK_VID_B     (1 <<  1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) #define PCI_MSK_VID_A      1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #define PCI_INT_MSK	0x00040010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) #define PCI_INT_STAT	0x00040014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) #define PCI_INT_MSTAT	0x00040018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) #define VID_A_INT_MSK	0x00040020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) #define VID_A_INT_STAT	0x00040024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define VID_A_INT_MSTAT	0x00040028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) #define VID_A_INT_SSTAT	0x0004002C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define VID_B_INT_MSK	0x00040030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) #define VID_B_MSK_BAD_PKT     (1 << 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) #define VID_B_MSK_VBI_OPC_ERR (1 << 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) #define VID_B_MSK_OPC_ERR     (1 << 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) #define VID_B_MSK_VBI_SYNC    (1 << 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) #define VID_B_MSK_SYNC        (1 << 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) #define VID_B_MSK_VBI_OF      (1 <<  9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #define VID_B_MSK_OF          (1 <<  8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) #define VID_B_MSK_VBI_RISCI2  (1 <<  5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) #define VID_B_MSK_RISCI2      (1 <<  4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) #define VID_B_MSK_VBI_RISCI1  (1 <<  1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) #define VID_B_MSK_RISCI1       1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) #define VID_B_INT_STAT	0x00040034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #define VID_B_INT_MSTAT	0x00040038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) #define VID_B_INT_SSTAT	0x0004003C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) #define VID_B_MSK_BAD_PKT (1 << 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) #define VID_B_MSK_OPC_ERR (1 << 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) #define VID_B_MSK_SYNC    (1 << 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) #define VID_B_MSK_OF      (1 <<  8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) #define VID_B_MSK_RISCI2  (1 <<  4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) #define VID_B_MSK_RISCI1   1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) #define VID_C_MSK_BAD_PKT (1 << 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) #define VID_C_MSK_OPC_ERR (1 << 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) #define VID_C_MSK_SYNC    (1 << 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) #define VID_C_MSK_OF      (1 <<  8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) #define VID_C_MSK_RISCI2  (1 <<  4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) #define VID_C_MSK_RISCI1   1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) /* A superset for testing purposes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) #define VID_BC_MSK_BAD_PKT (1 << 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) #define VID_BC_MSK_OPC_ERR (1 << 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) #define VID_BC_MSK_SYNC    (1 << 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) #define VID_BC_MSK_OF      (1 <<  8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) #define VID_BC_MSK_VBI_RISCI2 (1 <<  5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) #define VID_BC_MSK_RISCI2  (1 <<  4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) #define VID_BC_MSK_VBI_RISCI1 (1 <<  1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) #define VID_BC_MSK_RISCI1   1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) #define VID_C_INT_MSK	0x00040040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #define VID_C_INT_STAT	0x00040044
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) #define VID_C_INT_MSTAT	0x00040048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) #define VID_C_INT_SSTAT	0x0004004C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) #define AUDIO_INT_INT_MSK	0x00040050
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) #define AUDIO_INT_INT_STAT	0x00040054
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define AUDIO_INT_INT_MSTAT	0x00040058
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) #define AUDIO_INT_INT_SSTAT	0x0004005C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) #define AUDIO_EXT_INT_MSK	0x00040060
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) #define AUDIO_EXT_INT_STAT	0x00040064
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) #define AUDIO_EXT_INT_MSTAT	0x00040068
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) #define AUDIO_EXT_INT_SSTAT	0x0004006C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) /* Bits [7:0] set in both TC_REQ and TC_REQ_SET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282)  * indicate a stall in the RISC engine for a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283)  * particular rider traffic class. This causes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284)  * the 885 and 888 bridges (unknown about 887)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285)  * to become inoperable. Setting bits in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)  * TC_REQ_SET resets the corresponding bits
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287)  * in TC_REQ (and TC_REQ_SET) allowing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)  * operation to continue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) #define TC_REQ		0x00040090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) #define TC_REQ_SET	0x00040094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) #define RDR_CFG0	0x00050000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) #define RDR_CFG1	0x00050004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) #define RDR_CFG2	0x00050008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) #define RDR_RDRCTL1	0x0005030c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) #define RDR_TLCTL0	0x00050318
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) /* APB DMAC Current Buffer Pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) #define DMA1_PTR1	0x00100000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) #define DMA2_PTR1	0x00100004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) #define DMA3_PTR1	0x00100008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) #define DMA4_PTR1	0x0010000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) #define DMA5_PTR1	0x00100010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) #define DMA6_PTR1	0x00100014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) #define DMA7_PTR1	0x00100018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) #define DMA8_PTR1	0x0010001C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) /* APB DMAC Current Table Pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) #define DMA1_PTR2	0x00100040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) #define DMA2_PTR2	0x00100044
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) #define DMA3_PTR2	0x00100048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) #define DMA4_PTR2	0x0010004C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) #define DMA5_PTR2	0x00100050
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) #define DMA6_PTR2	0x00100054
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) #define DMA7_PTR2	0x00100058
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) #define DMA8_PTR2	0x0010005C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) /* APB DMAC Buffer Limit */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) #define DMA1_CNT1	0x00100080
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) #define DMA2_CNT1	0x00100084
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) #define DMA3_CNT1	0x00100088
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) #define DMA4_CNT1	0x0010008C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) #define DMA5_CNT1	0x00100090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) #define DMA6_CNT1	0x00100094
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) #define DMA7_CNT1	0x00100098
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) #define DMA8_CNT1	0x0010009C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) /* APB DMAC Table Size */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) #define DMA1_CNT2	0x001000C0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) #define DMA2_CNT2	0x001000C4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) #define DMA3_CNT2	0x001000C8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) #define DMA4_CNT2	0x001000CC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) #define DMA5_CNT2	0x001000D0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) #define DMA6_CNT2	0x001000D4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) #define DMA7_CNT2	0x001000D8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) #define DMA8_CNT2	0x001000DC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) /* Timer Counters */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) #define TM_CNT_LDW	0x00110000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) #define TM_CNT_UW	0x00110004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) #define TM_LMT_LDW	0x00110008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) #define TM_LMT_UW	0x0011000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) /* GPIO */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) #define GP0_IO		0x00110010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) #define GPIO_ISM	0x00110014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) #define SOFT_RESET	0x0011001C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) /* GPIO (417 Microsoftcontroller) RW Data */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) #define MC417_RWD	0x00110020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) /* GPIO (417 Microsoftcontroller) Output Enable, Low Active */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) #define MC417_OEN	0x00110024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) #define MC417_CTL	0x00110028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) #define ALT_PIN_OUT_SEL 0x0011002C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) #define CLK_DELAY	0x00110048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) #define PAD_CTRL	0x0011004C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) /* Video A Interface */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) #define VID_A_GPCNT		0x00130020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) #define VBI_A_GPCNT		0x00130024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) #define VID_A_GPCNT_CTL		0x00130030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) #define VBI_A_GPCNT_CTL		0x00130034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) #define VID_A_DMA_CTL		0x00130040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) #define VID_A_VIP_CTRL		0x00130080
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) #define VID_A_PIXEL_FRMT	0x00130084
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) #define VID_A_VBI_CTRL		0x00130088
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) /* Video B Interface */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) #define VID_B_DMA		0x00130100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) #define VBI_B_DMA		0x00130108
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) #define VID_B_GPCNT		0x00130120
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) #define VBI_B_GPCNT		0x00130124
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) #define VID_B_GPCNT_CTL		0x00130134
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) #define VBI_B_GPCNT_CTL		0x00130138
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) #define VID_B_DMA_CTL		0x00130140
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) #define VID_B_SRC_SEL		0x00130144
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) #define VID_B_LNGTH		0x00130150
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) #define VID_B_HW_SOP_CTL	0x00130154
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) #define VID_B_GEN_CTL		0x00130158
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) #define VID_B_BD_PKT_STATUS	0x0013015C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) #define VID_B_SOP_STATUS	0x00130160
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) #define VID_B_FIFO_OVFL_STAT	0x00130164
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) #define VID_B_VLD_MISC		0x00130168
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) #define VID_B_TS_CLK_EN		0x0013016C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) #define VID_B_VIP_CTRL		0x00130180
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) #define VID_B_PIXEL_FRMT	0x00130184
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) /* Video C Interface */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) #define VID_C_DMA		0x00130200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) #define VBI_C_DMA		0x00130208
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) #define VID_C_GPCNT		0x00130220
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) #define VID_C_GPCNT_CTL		0x00130230
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) #define VBI_C_GPCNT_CTL		0x00130234
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) #define VID_C_DMA_CTL		0x00130240
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) #define VID_C_LNGTH		0x00130250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) #define VID_C_HW_SOP_CTL	0x00130254
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) #define VID_C_GEN_CTL		0x00130258
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) #define VID_C_BD_PKT_STATUS	0x0013025C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) #define VID_C_SOP_STATUS	0x00130260
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) #define VID_C_FIFO_OVFL_STAT	0x00130264
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) #define VID_C_VLD_MISC		0x00130268
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) #define VID_C_TS_CLK_EN		0x0013026C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) /* Internal Audio Interface */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) #define AUD_INT_A_GPCNT		0x00140020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) #define AUD_INT_B_GPCNT		0x00140024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) #define AUD_INT_A_GPCNT_CTL	0x00140030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) #define AUD_INT_B_GPCNT_CTL	0x00140034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) #define AUD_INT_DMA_CTL		0x00140040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) #define AUD_INT_A_LNGTH		0x00140050
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) #define AUD_INT_B_LNGTH		0x00140054
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) #define AUD_INT_A_MODE		0x00140058
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) #define AUD_INT_B_MODE		0x0014005C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) /* External Audio Interface */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) #define AUD_EXT_DMA		0x00140100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) #define AUD_EXT_GPCNT		0x00140120
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) #define AUD_EXT_GPCNT_CTL	0x00140130
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) #define AUD_EXT_DMA_CTL		0x00140140
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) #define AUD_EXT_LNGTH		0x00140150
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) #define AUD_EXT_A_MODE		0x00140158
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) /* I2C Bus 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) #define I2C1_ADDR	0x00180000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) #define I2C1_WDATA	0x00180004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) #define I2C1_CTRL	0x00180008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) #define I2C1_RDATA	0x0018000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) #define I2C1_STAT	0x00180010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) /* I2C Bus 2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) #define I2C2_ADDR	0x00190000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) #define I2C2_WDATA	0x00190004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) #define I2C2_CTRL	0x00190008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) #define I2C2_RDATA	0x0019000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) #define I2C2_STAT	0x00190010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) /* I2C Bus 3 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) #define I2C3_ADDR	0x001A0000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) #define I2C3_WDATA	0x001A0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) #define I2C3_CTRL	0x001A0008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) #define I2C3_RDATA	0x001A000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) #define I2C3_STAT	0x001A0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) /* UART */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) #define UART_CTL	0x001B0000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) #define UART_BRD	0x001B0004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) #define UART_ISR	0x001B000C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) #define UART_CNT	0x001B0010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) #endif /* _CX23885_REG_H_ */