blob: 7241e7ee3fd3c5e13b4ea703be2abc3187c391f0 [file] [log] [blame]
/*
* Driver for the Conexant CX25821 PCIe bridge
*
* Copyright (C) 2009 Conexant Systems Inc.
* Authors <shu.lin@conexant.com>, <hiep.huynh@conexant.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __CX25821_REGISTERS__
#define __CX25821_REGISTERS__
/* Risc Instructions */
#define RISC_CNT_INC 0x00010000
#define RISC_CNT_RESET 0x00030000
#define RISC_IRQ1 0x01000000
#define RISC_IRQ2 0x02000000
#define RISC_EOL 0x04000000
#define RISC_SOL 0x08000000
#define RISC_WRITE 0x10000000
#define RISC_SKIP 0x20000000
#define RISC_JUMP 0x70000000
#define RISC_SYNC 0x80000000
#define RISC_RESYNC 0x80008000
#define RISC_READ 0x90000000
#define RISC_WRITERM 0xB0000000
#define RISC_WRITECM 0xC0000000
#define RISC_WRITECR 0xD0000000
#define RISC_WRITEC 0x50000000
#define RISC_READC 0xA0000000
#define RISC_SYNC_ODD 0x00000000
#define RISC_SYNC_EVEN 0x00000200
#define RISC_SYNC_ODD_VBI 0x00000006
#define RISC_SYNC_EVEN_VBI 0x00000207
#define RISC_NOOP 0xF0000000
//*****************************************************************************
// ASB SRAM
//*****************************************************************************
#define TX_SRAM 0x000000 // Transmit SRAM
//*****************************************************************************
#define RX_RAM 0x010000 // Receive SRAM
//*****************************************************************************
// Application Layer (AL)
//*****************************************************************************
#define DEV_CNTRL2 0x040000 // Device control
#define FLD_RUN_RISC 0x00000020
//*****************************************************************************
#define PCI_INT_MSK 0x040010 // PCI interrupt mask
#define PCI_INT_STAT 0x040014 // PCI interrupt status
#define PCI_INT_MSTAT 0x040018 // PCI interrupt masked status
#define FLD_HAMMERHEAD_INT (1 << 27)
#define FLD_UART_INT (1 << 26)
#define FLD_IRQN_INT (1 << 25)
#define FLD_TM_INT (1 << 28)
#define FLD_I2C_3_RACK (1 << 27)
#define FLD_I2C_3_INT (1 << 26)
#define FLD_I2C_2_RACK (1 << 25)
#define FLD_I2C_2_INT (1 << 24)
#define FLD_I2C_1_RACK (1 << 23)
#define FLD_I2C_1_INT (1 << 22)
#define FLD_APB_DMA_BERR_INT (1 << 21)
#define FLD_AL_WR_BERR_INT (1 << 20)
#define FLD_AL_RD_BERR_INT (1 << 19)
#define FLD_RISC_WR_BERR_INT (1 << 18)
#define FLD_RISC_RD_BERR_INT (1 << 17)
#define FLD_VID_I_INT (1 << 8)
#define FLD_VID_H_INT (1 << 7)
#define FLD_VID_G_INT (1 << 6)
#define FLD_VID_F_INT (1 << 5)
#define FLD_VID_E_INT (1 << 4)
#define FLD_VID_D_INT (1 << 3)
#define FLD_VID_C_INT (1 << 2)
#define FLD_VID_B_INT (1 << 1)
#define FLD_VID_A_INT (1 << 0)
//*****************************************************************************
#define VID_A_INT_MSK 0x040020 // Video A interrupt mask
#define VID_A_INT_STAT 0x040024 // Video A interrupt status
#define VID_A_INT_MSTAT 0x040028 // Video A interrupt masked status
#define VID_A_INT_SSTAT 0x04002C // Video A interrupt set status
//*****************************************************************************
#define VID_B_INT_MSK 0x040030 // Video B interrupt mask
#define VID_B_INT_STAT 0x040034 // Video B interrupt status
#define VID_B_INT_MSTAT 0x040038 // Video B interrupt masked status
#define VID_B_INT_SSTAT 0x04003C // Video B interrupt set status
//*****************************************************************************
#define VID_C_INT_MSK 0x040040 // Video C interrupt mask
#define VID_C_INT_STAT 0x040044 // Video C interrupt status
#define VID_C_INT_MSTAT 0x040048 // Video C interrupt masked status
#define VID_C_INT_SSTAT 0x04004C // Video C interrupt set status
//*****************************************************************************
#define VID_D_INT_MSK 0x040050 // Video D interrupt mask
#define VID_D_INT_STAT 0x040054 // Video D interrupt status
#define VID_D_INT_MSTAT 0x040058 // Video D interrupt masked status
#define VID_D_INT_SSTAT 0x04005C // Video D interrupt set status
//*****************************************************************************
#define VID_E_INT_MSK 0x040060 // Video E interrupt mask
#define VID_E_INT_STAT 0x040064 // Video E interrupt status
#define VID_E_INT_MSTAT 0x040068 // Video E interrupt masked status
#define VID_E_INT_SSTAT 0x04006C // Video E interrupt set status
//*****************************************************************************
#define VID_F_INT_MSK 0x040070 // Video F interrupt mask
#define VID_F_INT_STAT 0x040074 // Video F interrupt status
#define VID_F_INT_MSTAT 0x040078 // Video F interrupt masked status
#define VID_F_INT_SSTAT 0x04007C // Video F interrupt set status
//*****************************************************************************
#define VID_G_INT_MSK 0x040080 // Video G interrupt mask
#define VID_G_INT_STAT 0x040084 // Video G interrupt status
#define VID_G_INT_MSTAT 0x040088 // Video G interrupt masked status
#define VID_G_INT_SSTAT 0x04008C // Video G interrupt set status
//*****************************************************************************
#define VID_H_INT_MSK 0x040090 // Video H interrupt mask
#define VID_H_INT_STAT 0x040094 // Video H interrupt status
#define VID_H_INT_MSTAT 0x040098 // Video H interrupt masked status
#define VID_H_INT_SSTAT 0x04009C // Video H interrupt set status
//*****************************************************************************
#define VID_I_INT_MSK 0x0400A0 // Video I interrupt mask
#define VID_I_INT_STAT 0x0400A4 // Video I interrupt status
#define VID_I_INT_MSTAT 0x0400A8 // Video I interrupt masked status
#define VID_I_INT_SSTAT 0x0400AC // Video I interrupt set status
//*****************************************************************************
#define VID_J_INT_MSK 0x0400B0 // Video J interrupt mask
#define VID_J_INT_STAT 0x0400B4 // Video J interrupt status
#define VID_J_INT_MSTAT 0x0400B8 // Video J interrupt masked status
#define VID_J_INT_SSTAT 0x0400BC // Video J interrupt set status
#define FLD_VID_SRC_OPC_ERR 0x00020000
#define FLD_VID_DST_OPC_ERR 0x00010000
#define FLD_VID_SRC_SYNC 0x00002000
#define FLD_VID_DST_SYNC 0x00001000
#define FLD_VID_SRC_UF 0x00000200
#define FLD_VID_DST_OF 0x00000100
#define FLD_VID_SRC_RISC2 0x00000020
#define FLD_VID_DST_RISC2 0x00000010
#define FLD_VID_SRC_RISC1 0x00000002
#define FLD_VID_DST_RISC1 0x00000001
#define FLD_VID_SRC_ERRORS FLD_VID_SRC_OPC_ERR | FLD_VID_SRC_SYNC | FLD_VID_SRC_UF
#define FLD_VID_DST_ERRORS FLD_VID_DST_OPC_ERR | FLD_VID_DST_SYNC | FLD_VID_DST_OF
//*****************************************************************************
#define AUD_A_INT_MSK 0x0400C0 // Audio Int interrupt mask
#define AUD_A_INT_STAT 0x0400C4 // Audio Int interrupt status
#define AUD_A_INT_MSTAT 0x0400C8 // Audio Int interrupt masked status
#define AUD_A_INT_SSTAT 0x0400CC // Audio Int interrupt set status
//*****************************************************************************
#define AUD_B_INT_MSK 0x0400D0 // Audio Int interrupt mask
#define AUD_B_INT_STAT 0x0400D4 // Audio Int interrupt status
#define AUD_B_INT_MSTAT 0x0400D8 // Audio Int interrupt masked status
#define AUD_B_INT_SSTAT 0x0400DC // Audio Int interrupt set status
//*****************************************************************************
#define AUD_C_INT_MSK 0x0400E0 // Audio Int interrupt mask
#define AUD_C_INT_STAT 0x0400E4 // Audio Int interrupt status
#define AUD_C_INT_MSTAT 0x0400E8 // Audio Int interrupt masked status
#define AUD_C_INT_SSTAT 0x0400EC // Audio Int interrupt set status
//*****************************************************************************
#define AUD_D_INT_MSK 0x0400F0 // Audio Int interrupt mask
#define AUD_D_INT_STAT 0x0400F4 // Audio Int interrupt status
#define AUD_D_INT_MSTAT 0x0400F8 // Audio Int interrupt masked status
#define AUD_D_INT_SSTAT 0x0400FC // Audio Int interrupt set status
//*****************************************************************************
#define AUD_E_INT_MSK 0x040100 // Audio Int interrupt mask
#define AUD_E_INT_STAT 0x040104 // Audio Int interrupt status
#define AUD_E_INT_MSTAT 0x040108 // Audio Int interrupt masked status
#define AUD_E_INT_SSTAT 0x04010C // Audio Int interrupt set status
#define FLD_AUD_SRC_OPC_ERR 0x00020000
#define FLD_AUD_DST_OPC_ERR 0x00010000
#define FLD_AUD_SRC_SYNC 0x00002000
#define FLD_AUD_DST_SYNC 0x00001000
#define FLD_AUD_SRC_OF 0x00000200
#define FLD_AUD_DST_OF 0x00000100
#define FLD_AUD_SRC_RISCI2 0x00000020
#define FLD_AUD_DST_RISCI2 0x00000010
#define FLD_AUD_SRC_RISCI1 0x00000002
#define FLD_AUD_DST_RISCI1 0x00000001
//*****************************************************************************
#define MBIF_A_INT_MSK 0x040110 // MBIF Int interrupt mask
#define MBIF_A_INT_STAT 0x040114 // MBIF Int interrupt status
#define MBIF_A_INT_MSTAT 0x040118 // MBIF Int interrupt masked status
#define MBIF_A_INT_SSTAT 0x04011C // MBIF Int interrupt set status
//*****************************************************************************
#define MBIF_B_INT_MSK 0x040120 // MBIF Int interrupt mask
#define MBIF_B_INT_STAT 0x040124 // MBIF Int interrupt status
#define MBIF_B_INT_MSTAT 0x040128 // MBIF Int interrupt masked status
#define MBIF_B_INT_SSTAT 0x04012C // MBIF Int interrupt set status
#define FLD_MBIF_DST_OPC_ERR 0x00010000
#define FLD_MBIF_DST_SYNC 0x00001000
#define FLD_MBIF_DST_OF 0x00000100
#define FLD_MBIF_DST_RISCI2 0x00000010
#define FLD_MBIF_DST_RISCI1 0x00000001
//*****************************************************************************
#define AUD_EXT_INT_MSK 0x040060 // Audio Ext interrupt mask
#define AUD_EXT_INT_STAT 0x040064 // Audio Ext interrupt status
#define AUD_EXT_INT_MSTAT 0x040068 // Audio Ext interrupt masked status
#define AUD_EXT_INT_SSTAT 0x04006C // Audio Ext interrupt set status
#define FLD_AUD_EXT_OPC_ERR 0x00010000
#define FLD_AUD_EXT_SYNC 0x00001000
#define FLD_AUD_EXT_OF 0x00000100
#define FLD_AUD_EXT_RISCI2 0x00000010
#define FLD_AUD_EXT_RISCI1 0x00000001
//*****************************************************************************
#define GPIO_LO 0x110010 // Lower of GPIO pins [31:0]
#define GPIO_HI 0x110014 // Upper WORD of GPIO pins [47:31]
#define GPIO_LO_OE 0x110018 // Lower of GPIO output enable [31:0]
#define GPIO_HI_OE 0x11001C // Upper word of GPIO output enable [47:32]
#define GPIO_LO_INT_MSK 0x11003C // GPIO interrupt mask
#define GPIO_LO_INT_STAT 0x110044 // GPIO interrupt status
#define GPIO_LO_INT_MSTAT 0x11004C // GPIO interrupt masked status
#define GPIO_LO_ISM_SNS 0x110054 // GPIO interrupt sensitivity
#define GPIO_LO_ISM_POL 0x11005C // GPIO interrupt polarity
#define GPIO_HI_INT_MSK 0x110040 // GPIO interrupt mask
#define GPIO_HI_INT_STAT 0x110048 // GPIO interrupt status
#define GPIO_HI_INT_MSTAT 0x110050 // GPIO interrupt masked status
#define GPIO_HI_ISM_SNS 0x110058 // GPIO interrupt sensitivity
#define GPIO_HI_ISM_POL 0x110060 // GPIO interrupt polarity
#define FLD_GPIO43_INT (1 << 11)
#define FLD_GPIO42_INT (1 << 10)
#define FLD_GPIO41_INT (1 << 9)
#define FLD_GPIO40_INT (1 << 8)
#define FLD_GPIO9_INT (1 << 9)
#define FLD_GPIO8_INT (1 << 8)
#define FLD_GPIO7_INT (1 << 7)
#define FLD_GPIO6_INT (1 << 6)
#define FLD_GPIO5_INT (1 << 5)
#define FLD_GPIO4_INT (1 << 4)
#define FLD_GPIO3_INT (1 << 3)
#define FLD_GPIO2_INT (1 << 2)
#define FLD_GPIO1_INT (1 << 1)
#define FLD_GPIO0_INT (1 << 0)
//*****************************************************************************
#define TC_REQ 0x040090 // Rider PCI Express traFFic class request
//*****************************************************************************
#define TC_REQ_SET 0x040094 // Rider PCI Express traFFic class request set
//*****************************************************************************
// Rider
//*****************************************************************************
// PCI Compatible Header
//*****************************************************************************
#define RDR_CFG0 0x050000
#define RDR_VENDOR_DEVICE_ID_CFG 0x050000
//*****************************************************************************
#define RDR_CFG1 0x050004
//*****************************************************************************
#define RDR_CFG2 0x050008
//*****************************************************************************
#define RDR_CFG3 0x05000C
//*****************************************************************************
#define RDR_CFG4 0x050010
//*****************************************************************************
#define RDR_CFG5 0x050014
//*****************************************************************************
#define RDR_CFG6 0x050018
//*****************************************************************************
#define RDR_CFG7 0x05001C
//*****************************************************************************
#define RDR_CFG8 0x050020
//*****************************************************************************
#define RDR_CFG9 0x050024
//*****************************************************************************
#define RDR_CFGA 0x050028
//*****************************************************************************
#define RDR_CFGB 0x05002C
#define RDR_SUSSYSTEM_ID_CFG 0x05002C
//*****************************************************************************
#define RDR_CFGC 0x050030
//*****************************************************************************
#define RDR_CFGD 0x050034
//*****************************************************************************
#define RDR_CFGE 0x050038
//*****************************************************************************
#define RDR_CFGF 0x05003C
//*****************************************************************************
// PCI-Express Capabilities
//*****************************************************************************
#define RDR_PECAP 0x050040
//*****************************************************************************
#define RDR_PEDEVCAP 0x050044
//*****************************************************************************
#define RDR_PEDEVSC 0x050048
//*****************************************************************************
#define RDR_PELINKCAP 0x05004C
//*****************************************************************************
#define RDR_PELINKSC 0x050050
//*****************************************************************************
#define RDR_PMICAP 0x050080
//*****************************************************************************
#define RDR_PMCSR 0x050084
//*****************************************************************************
#define RDR_VPDCAP 0x050090
//*****************************************************************************
#define RDR_VPDDATA 0x050094
//*****************************************************************************
#define RDR_MSICAP 0x0500A0
//*****************************************************************************
#define RDR_MSIARL 0x0500A4
//*****************************************************************************
#define RDR_MSIARU 0x0500A8
//*****************************************************************************
#define RDR_MSIDATA 0x0500AC
//*****************************************************************************
// PCI Express Extended Capabilities
//*****************************************************************************
#define RDR_AERXCAP 0x050100
//*****************************************************************************
#define RDR_AERUESTA 0x050104
//*****************************************************************************
#define RDR_AERUEMSK 0x050108
//*****************************************************************************
#define RDR_AERUESEV 0x05010C
//*****************************************************************************
#define RDR_AERCESTA 0x050110
//*****************************************************************************
#define RDR_AERCEMSK 0x050114
//*****************************************************************************
#define RDR_AERCC 0x050118
//*****************************************************************************
#define RDR_AERHL0 0x05011C
//*****************************************************************************
#define RDR_AERHL1 0x050120
//*****************************************************************************
#define RDR_AERHL2 0x050124
//*****************************************************************************
#define RDR_AERHL3 0x050128
//*****************************************************************************
#define RDR_VCXCAP 0x050200
//*****************************************************************************
#define RDR_VCCAP1 0x050204
//*****************************************************************************
#define RDR_VCCAP2 0x050208
//*****************************************************************************
#define RDR_VCSC 0x05020C
//*****************************************************************************
#define RDR_VCR0_CAP 0x050210
//*****************************************************************************
#define RDR_VCR0_CTRL 0x050214
//*****************************************************************************
#define RDR_VCR0_STAT 0x050218
//*****************************************************************************
#define RDR_VCR1_CAP 0x05021C
//*****************************************************************************
#define RDR_VCR1_CTRL 0x050220
//*****************************************************************************
#define RDR_VCR1_STAT 0x050224
//*****************************************************************************
#define RDR_VCR2_CAP 0x050228
//*****************************************************************************
#define RDR_VCR2_CTRL 0x05022C
//*****************************************************************************
#define RDR_VCR2_STAT 0x050230
//*****************************************************************************
#define RDR_VCR3_CAP 0x050234
//*****************************************************************************
#define RDR_VCR3_CTRL 0x050238
//*****************************************************************************
#define RDR_VCR3_STAT 0x05023C
//*****************************************************************************
#define RDR_VCARB0 0x050240
//*****************************************************************************
#define RDR_VCARB1 0x050244
//*****************************************************************************
#define RDR_VCARB2 0x050248
//*****************************************************************************
#define RDR_VCARB3 0x05024C
//*****************************************************************************
#define RDR_VCARB4 0x050250
//*****************************************************************************
#define RDR_VCARB5 0x050254
//*****************************************************************************
#define RDR_VCARB6 0x050258
//*****************************************************************************
#define RDR_VCARB7 0x05025C
//*****************************************************************************
#define RDR_RDRSTAT0 0x050300
//*****************************************************************************
#define RDR_RDRSTAT1 0x050304
//*****************************************************************************
#define RDR_RDRCTL0 0x050308
//*****************************************************************************
#define RDR_RDRCTL1 0x05030C
//*****************************************************************************
// Transaction Layer Registers
//*****************************************************************************
#define RDR_TLSTAT0 0x050310
//*****************************************************************************
#define RDR_TLSTAT1 0x050314
//*****************************************************************************
#define RDR_TLCTL0 0x050318
#define FLD_CFG_UR_CPL_MODE 0x00000040
#define FLD_CFG_CORR_ERR_QUITE 0x00000020
#define FLD_CFG_RCB_CK_EN 0x00000010
#define FLD_CFG_BNDRY_CK_EN 0x00000008
#define FLD_CFG_BYTE_EN_CK_EN 0x00000004
#define FLD_CFG_RELAX_ORDER_MSK 0x00000002
#define FLD_CFG_TAG_ORDER_EN 0x00000001
//*****************************************************************************
#define RDR_TLCTL1 0x05031C
//*****************************************************************************
#define RDR_REQRCAL 0x050320
//*****************************************************************************
#define RDR_REQRCAU 0x050324
//*****************************************************************************
#define RDR_REQEPA 0x050328
//*****************************************************************************
#define RDR_REQCTRL 0x05032C
//*****************************************************************************
#define RDR_REQSTAT 0x050330
//*****************************************************************************
#define RDR_TL_TEST 0x050334
//*****************************************************************************
#define RDR_VCR01_CTL 0x050348
//*****************************************************************************
#define RDR_VCR23_CTL 0x05034C
//*****************************************************************************
#define RDR_RX_VCR0_FC 0x050350
//*****************************************************************************
#define RDR_RX_VCR1_FC 0x050354
//*****************************************************************************
#define RDR_RX_VCR2_FC 0x050358
//*****************************************************************************
#define RDR_RX_VCR3_FC 0x05035C
//*****************************************************************************
// Data Link Layer Registers
//*****************************************************************************
#define RDR_DLLSTAT 0x050360
//*****************************************************************************
#define RDR_DLLCTRL 0x050364
//*****************************************************************************
#define RDR_REPLAYTO 0x050368
//*****************************************************************************
#define RDR_ACKLATTO 0x05036C
//*****************************************************************************
// MAC Layer Registers
//*****************************************************************************
#define RDR_MACSTAT0 0x050380
//*****************************************************************************
#define RDR_MACSTAT1 0x050384
//*****************************************************************************
#define RDR_MACCTRL0 0x050388
//*****************************************************************************
#define RDR_MACCTRL1 0x05038C
//*****************************************************************************
#define RDR_MACCTRL2 0x050390
//*****************************************************************************
#define RDR_MAC_LB_DATA 0x050394
//*****************************************************************************
#define RDR_L0S_EXIT_LAT 0x050398
//*****************************************************************************
// DMAC
//*****************************************************************************
#define DMA1_PTR1 0x100000 // DMA Current Ptr : Ch#1
//*****************************************************************************
#define DMA2_PTR1 0x100004 // DMA Current Ptr : Ch#2
//*****************************************************************************
#define DMA3_PTR1 0x100008 // DMA Current Ptr : Ch#3
//*****************************************************************************
#define DMA4_PTR1 0x10000C // DMA Current Ptr : Ch#4
//*****************************************************************************
#define DMA5_PTR1 0x100010 // DMA Current Ptr : Ch#5
//*****************************************************************************
#define DMA6_PTR1 0x100014 // DMA Current Ptr : Ch#6
//*****************************************************************************
#define DMA7_PTR1 0x100018 // DMA Current Ptr : Ch#7
//*****************************************************************************
#define DMA8_PTR1 0x10001C // DMA Current Ptr : Ch#8
//*****************************************************************************
#define DMA9_PTR1 0x100020 // DMA Current Ptr : Ch#9
//*****************************************************************************
#define DMA10_PTR1 0x100024 // DMA Current Ptr : Ch#10
//*****************************************************************************
#define DMA11_PTR1 0x100028 // DMA Current Ptr : Ch#11
//*****************************************************************************
#define DMA12_PTR1 0x10002C // DMA Current Ptr : Ch#12
//*****************************************************************************
#define DMA13_PTR1 0x100030 // DMA Current Ptr : Ch#13
//*****************************************************************************
#define DMA14_PTR1 0x100034 // DMA Current Ptr : Ch#14
//*****************************************************************************
#define DMA15_PTR1 0x100038 // DMA Current Ptr : Ch#15
//*****************************************************************************
#define DMA16_PTR1 0x10003C // DMA Current Ptr : Ch#16
//*****************************************************************************
#define DMA17_PTR1 0x100040 // DMA Current Ptr : Ch#17
//*****************************************************************************
#define DMA18_PTR1 0x100044 // DMA Current Ptr : Ch#18
//*****************************************************************************
#define DMA19_PTR1 0x100048 // DMA Current Ptr : Ch#19
//*****************************************************************************
#define DMA20_PTR1 0x10004C // DMA Current Ptr : Ch#20
//*****************************************************************************
#define DMA21_PTR1 0x100050 // DMA Current Ptr : Ch#21
//*****************************************************************************
#define DMA22_PTR1 0x100054 // DMA Current Ptr : Ch#22
//*****************************************************************************
#define DMA23_PTR1 0x100058 // DMA Current Ptr : Ch#23
//*****************************************************************************
#define DMA24_PTR1 0x10005C // DMA Current Ptr : Ch#24
//*****************************************************************************
#define DMA25_PTR1 0x100060 // DMA Current Ptr : Ch#25
//*****************************************************************************
#define DMA26_PTR1 0x100064 // DMA Current Ptr : Ch#26
//*****************************************************************************
#define DMA1_PTR2 0x100080 // DMA Tab Ptr : Ch#1
//*****************************************************************************
#define DMA2_PTR2 0x100084 // DMA Tab Ptr : Ch#2
//*****************************************************************************
#define DMA3_PTR2 0x100088 // DMA Tab Ptr : Ch#3
//*****************************************************************************
#define DMA4_PTR2 0x10008C // DMA Tab Ptr : Ch#4
//*****************************************************************************
#define DMA5_PTR2 0x100090 // DMA Tab Ptr : Ch#5
//*****************************************************************************
#define DMA6_PTR2 0x100094 // DMA Tab Ptr : Ch#6
//*****************************************************************************
#define DMA7_PTR2 0x100098 // DMA Tab Ptr : Ch#7
//*****************************************************************************
#define DMA8_PTR2 0x10009C // DMA Tab Ptr : Ch#8
//*****************************************************************************
#define DMA9_PTR2 0x1000A0 // DMA Tab Ptr : Ch#9
//*****************************************************************************
#define DMA10_PTR2 0x1000A4 // DMA Tab Ptr : Ch#10
//*****************************************************************************
#define DMA11_PTR2 0x1000A8 // DMA Tab Ptr : Ch#11
//*****************************************************************************
#define DMA12_PTR2 0x1000AC // DMA Tab Ptr : Ch#12
//*****************************************************************************
#define DMA13_PTR2 0x1000B0 // DMA Tab Ptr : Ch#13
//*****************************************************************************
#define DMA14_PTR2 0x1000B4 // DMA Tab Ptr : Ch#14
//*****************************************************************************
#define DMA15_PTR2 0x1000B8 // DMA Tab Ptr : Ch#15
//*****************************************************************************
#define DMA16_PTR2 0x1000BC // DMA Tab Ptr : Ch#16
//*****************************************************************************
#define DMA17_PTR2 0x1000C0 // DMA Tab Ptr : Ch#17
//*****************************************************************************
#define DMA18_PTR2 0x1000C4 // DMA Tab Ptr : Ch#18
//*****************************************************************************
#define DMA19_PTR2 0x1000C8 // DMA Tab Ptr : Ch#19
//*****************************************************************************
#define DMA20_PTR2 0x1000CC // DMA Tab Ptr : Ch#20
//*****************************************************************************
#define DMA21_PTR2 0x1000D0 // DMA Tab Ptr : Ch#21
//*****************************************************************************
#define DMA22_PTR2 0x1000D4 // DMA Tab Ptr : Ch#22
//*****************************************************************************
#define DMA23_PTR2 0x1000D8 // DMA Tab Ptr : Ch#23
//*****************************************************************************
#define DMA24_PTR2 0x1000DC // DMA Tab Ptr : Ch#24
//*****************************************************************************
#define DMA25_PTR2 0x1000E0 // DMA Tab Ptr : Ch#25
//*****************************************************************************
#define DMA26_PTR2 0x1000E4 // DMA Tab Ptr : Ch#26
//*****************************************************************************
#define DMA1_CNT1 0x100100 // DMA BuFFer Size : Ch#1
//*****************************************************************************
#define DMA2_CNT1 0x100104 // DMA BuFFer Size : Ch#2
//*****************************************************************************
#define DMA3_CNT1 0x100108 // DMA BuFFer Size : Ch#3
//*****************************************************************************
#define DMA4_CNT1 0x10010C // DMA BuFFer Size : Ch#4
//*****************************************************************************
#define DMA5_CNT1 0x100110 // DMA BuFFer Size : Ch#5
//*****************************************************************************
#define DMA6_CNT1 0x100114 // DMA BuFFer Size : Ch#6
//*****************************************************************************
#define DMA7_CNT1 0x100118 // DMA BuFFer Size : Ch#7
//*****************************************************************************
#define DMA8_CNT1 0x10011C // DMA BuFFer Size : Ch#8
//*****************************************************************************
#define DMA9_CNT1 0x100120 // DMA BuFFer Size : Ch#9
//*****************************************************************************
#define DMA10_CNT1 0x100124 // DMA BuFFer Size : Ch#10
//*****************************************************************************
#define DMA11_CNT1 0x100128 // DMA BuFFer Size : Ch#11
//*****************************************************************************
#define DMA12_CNT1 0x10012C // DMA BuFFer Size : Ch#12
//*****************************************************************************
#define DMA13_CNT1 0x100130 // DMA BuFFer Size : Ch#13
//*****************************************************************************
#define DMA14_CNT1 0x100134 // DMA BuFFer Size : Ch#14
//*****************************************************************************
#define DMA15_CNT1 0x100138 // DMA BuFFer Size : Ch#15
//*****************************************************************************
#define DMA16_CNT1 0x10013C // DMA BuFFer Size : Ch#16
//*****************************************************************************
#define DMA17_CNT1 0x100140 // DMA BuFFer Size : Ch#17
//*****************************************************************************
#define DMA18_CNT1 0x100144 // DMA BuFFer Size : Ch#18
//*****************************************************************************
#define DMA19_CNT1 0x100148 // DMA BuFFer Size : Ch#19
//*****************************************************************************
#define DMA20_CNT1 0x10014C // DMA BuFFer Size : Ch#20
//*****************************************************************************
#define DMA21_CNT1 0x100150 // DMA BuFFer Size : Ch#21
//*****************************************************************************
#define DMA22_CNT1 0x100154 // DMA BuFFer Size : Ch#22
//*****************************************************************************
#define DMA23_CNT1 0x100158 // DMA BuFFer Size : Ch#23
//*****************************************************************************
#define DMA24_CNT1 0x10015C // DMA BuFFer Size : Ch#24
//*****************************************************************************
#define DMA25_CNT1 0x100160 // DMA BuFFer Size : Ch#25
//*****************************************************************************
#define DMA26_CNT1 0x100164 // DMA BuFFer Size : Ch#26
//*****************************************************************************
#define DMA1_CNT2 0x100180 // DMA Table Size : Ch#1
//*****************************************************************************
#define DMA2_CNT2 0x100184 // DMA Table Size : Ch#2
//*****************************************************************************
#define DMA3_CNT2 0x100188 // DMA Table Size : Ch#3
//*****************************************************************************
#define DMA4_CNT2 0x10018C // DMA Table Size : Ch#4
//*****************************************************************************
#define DMA5_CNT2 0x100190 // DMA Table Size : Ch#5
//*****************************************************************************
#define DMA6_CNT2 0x100194 // DMA Table Size : Ch#6
//*****************************************************************************
#define DMA7_CNT2 0x100198 // DMA Table Size : Ch#7
//*****************************************************************************
#define DMA8_CNT2 0x10019C // DMA Table Size : Ch#8
//*****************************************************************************
#define DMA9_CNT2 0x1001A0 // DMA Table Size : Ch#9
//*****************************************************************************
#define DMA10_CNT2 0x1001A4 // DMA Table Size : Ch#10
//*****************************************************************************
#define DMA11_CNT2 0x1001A8 // DMA Table Size : Ch#11
//*****************************************************************************
#define DMA12_CNT2 0x1001AC // DMA Table Size : Ch#12
//*****************************************************************************
#define DMA13_CNT2 0x1001B0 // DMA Table Size : Ch#13
//*****************************************************************************
#define DMA14_CNT2 0x1001B4 // DMA Table Size : Ch#14
//*****************************************************************************
#define DMA15_CNT2 0x1001B8 // DMA Table Size : Ch#15
//*****************************************************************************
#define DMA16_CNT2 0x1001BC // DMA Table Size : Ch#16
//*****************************************************************************
#define DMA17_CNT2 0x1001C0 // DMA Table Size : Ch#17
//*****************************************************************************
#define DMA18_CNT2 0x1001C4 // DMA Table Size : Ch#18
//*****************************************************************************
#define DMA19_CNT2 0x1001C8 // DMA Table Size : Ch#19
//*****************************************************************************
#define DMA20_CNT2 0x1001CC // DMA Table Size : Ch#20
//*****************************************************************************
#define DMA21_CNT2 0x1001D0 // DMA Table Size : Ch#21
//*****************************************************************************
#define DMA22_CNT2 0x1001D4 // DMA Table Size : Ch#22
//*****************************************************************************
#define DMA23_CNT2 0x1001D8 // DMA Table Size : Ch#23
//*****************************************************************************
#define DMA24_CNT2 0x1001DC // DMA Table Size : Ch#24
//*****************************************************************************
#define DMA25_CNT2 0x1001E0 // DMA Table Size : Ch#25
//*****************************************************************************
#define DMA26_CNT2 0x1001E4 // DMA Table Size : Ch#26
//*****************************************************************************
// ITG
//*****************************************************************************
#define TM_CNT_LDW 0x110000 // Timer : Counter low
//*****************************************************************************
#define TM_CNT_UW 0x110004 // Timer : Counter high word
//*****************************************************************************
#define TM_LMT_LDW 0x110008 // Timer : Limit low
//*****************************************************************************
#define TM_LMT_UW 0x11000C // Timer : Limit high word
//*****************************************************************************
#define GP0_IO 0x110010 // GPIO output enables data I/O
#define FLD_GP_OE 0x00FF0000 // GPIO: GP_OE output enable
#define FLD_GP_IN 0x0000FF00 // GPIO: GP_IN status
#define FLD_GP_OUT 0x000000FF // GPIO: GP_OUT control
//*****************************************************************************
#define GPIO_ISM 0x110014 // GPIO interrupt sensitivity mode
#define FLD_GP_ISM_SNS 0x00000070
#define FLD_GP_ISM_POL 0x00000007
//*****************************************************************************
#define SOFT_RESET 0x11001C // Output system reset reg
#define FLD_PECOS_SOFT_RESET 0x00000001
//*****************************************************************************
#define MC416_RWD 0x110020 // MC416 GPIO[18:3] pin
#define MC416_OEN 0x110024 // Output enable of GPIO[18:3]
#define MC416_CTL 0x110028
//*****************************************************************************
#define ALT_PIN_OUT_SEL 0x11002C // Alternate GPIO output select
#define FLD_ALT_GPIO_OUT_SEL 0xF0000000
// 0 Disabled <-- default
// 1 GPIO[0]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
// 8 ATT_IF
#define FLD_AUX_PLL_CLK_ALT_SEL 0x0F000000
// 0 AUX_PLL_CLK<-- default
// 1 GPIO[2]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define FLD_IR_TX_ALT_SEL 0x00F00000
// 0 IR_TX <-- default
// 1 GPIO[1]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define FLD_IR_RX_ALT_SEL 0x000F0000
// 0 IR_RX <-- default
// 1 GPIO[0]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define FLD_GPIO10_ALT_SEL 0x0000F000
// 0 GPIO[10] <-- default
// 1 GPIO[0]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define FLD_GPIO2_ALT_SEL 0x00000F00
// 0 GPIO[2] <-- default
// 1 GPIO[1]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define FLD_GPIO1_ALT_SEL 0x000000F0
// 0 GPIO[1] <-- default
// 1 GPIO[0]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define FLD_GPIO0_ALT_SEL 0x0000000F
// 0 GPIO[0] <-- default
// 1 GPIO[1]
// 2 GPIO[10]
// 3 VIP_656_DATA_VAL
// 4 VIP_656_DATA[0]
// 5 VIP_656_CLK
// 6 VIP_656_DATA_EXT[1]
// 7 VIP_656_DATA_EXT[0]
#define ALT_PIN_IN_SEL 0x110030 // Alternate GPIO input select
#define FLD_GPIO10_ALT_IN_SEL 0x0000F000
// 0 GPIO[10] <-- default
// 1 IR_RX
// 2 IR_TX
// 3 AUX_PLL_CLK
// 4 IF_ATT_SEL
// 5 GPIO[0]
// 6 GPIO[1]
// 7 GPIO[2]
#define FLD_GPIO2_ALT_IN_SEL 0x00000F00
// 0 GPIO[2] <-- default
// 1 IR_RX
// 2 IR_TX
// 3 AUX_PLL_CLK
// 4 IF_ATT_SEL
#define FLD_GPIO1_ALT_IN_SEL 0x000000F0
// 0 GPIO[1] <-- default
// 1 IR_RX
// 2 IR_TX
// 3 AUX_PLL_CLK
// 4 IF_ATT_SEL
#define FLD_GPIO0_ALT_IN_SEL 0x0000000F
// 0 GPIO[0] <-- default
// 1 IR_RX
// 2 IR_TX
// 3 AUX_PLL_CLK
// 4 IF_ATT_SEL
//*****************************************************************************
#define TEST_BUS_CTL1 0x110040 // Test bus control register #1
//*****************************************************************************
#define TEST_BUS_CTL2 0x110044 // Test bus control register #2
//*****************************************************************************
#define CLK_DELAY 0x110048 // Clock delay
#define FLD_MOE_CLK_DIS 0x80000000 // Disable MoE clock
//*****************************************************************************
#define PAD_CTRL 0x110068 // Pad drive strength control
//*****************************************************************************
#define MBIST_CTRL 0x110050 // SRAM memory built-in self test control
//*****************************************************************************
#define MBIST_STAT 0x110054 // SRAM memory built-in self test status
//*****************************************************************************
// PLL registers
//*****************************************************************************
#define PLL_A_INT_FRAC 0x110088
#define PLL_A_POST_STAT_BIST 0x11008C
#define PLL_B_INT_FRAC 0x110090
#define PLL_B_POST_STAT_BIST 0x110094
#define PLL_C_INT_FRAC 0x110098
#define PLL_C_POST_STAT_BIST 0x11009C
#define PLL_D_INT_FRAC 0x1100A0
#define PLL_D_POST_STAT_BIST 0x1100A4
#define CLK_RST 0x11002C
#define FLD_VID_I_CLK_NOE 0x00001000
#define FLD_VID_J_CLK_NOE 0x00002000
#define FLD_USE_ALT_PLL_REF 0x00004000
#define VID_CH_MODE_SEL 0x110078
#define VID_CH_CLK_SEL 0x11007C
//*****************************************************************************
#define VBI_A_DMA 0x130008 // VBI A DMA data port
//*****************************************************************************
#define VID_A_VIP_CTL 0x130080 // Video A VIP format control
#define FLD_VIP_MODE 0x00000001
//*****************************************************************************
#define VID_A_PIXEL_FRMT 0x130084 // Video A pixel format
#define FLD_VID_A_GAMMA_DIS 0x00000008
#define FLD_VID_A_FORMAT 0x00000007
#define FLD_VID_A_GAMMA_FACTOR 0x00000010
//*****************************************************************************
#define VID_A_VBI_CTL 0x130088 // Video A VBI miscellaneous control
#define FLD_VID_A_VIP_EXT 0x00000003
//*****************************************************************************
#define VID_B_DMA 0x130100 // Video B DMA data port
//*****************************************************************************
#define VBI_B_DMA 0x130108 // VBI B DMA data port
//*****************************************************************************
#define VID_B_SRC_SEL 0x130144 // Video B source select
#define FLD_VID_B_SRC_SEL 0x00000000
//*****************************************************************************
#define VID_B_LNGTH 0x130150 // Video B line length
#define FLD_VID_B_LN_LNGTH 0x00000FFF
//*****************************************************************************
#define VID_B_VIP_CTL 0x130180 // Video B VIP format control
//*****************************************************************************
#define VID_B_PIXEL_FRMT 0x130184 // Video B pixel format
#define FLD_VID_B_GAMMA_DIS 0x00000008
#define FLD_VID_B_FORMAT 0x00000007
#define FLD_VID_B_GAMMA_FACTOR 0x00000010
//*****************************************************************************
#define VID_C_DMA 0x130200 // Video C DMA data port
//*****************************************************************************
#define VID_C_LNGTH 0x130250 // Video C line length
#define FLD_VID_C_LN_LNGTH 0x00000FFF
//*****************************************************************************
// Video Destination Channels
//*****************************************************************************
#define VID_DST_A_GPCNT 0x130020 // Video A general purpose counter
#define VID_DST_B_GPCNT 0x130120 // Video B general purpose counter
#define VID_DST_C_GPCNT 0x130220 // Video C general purpose counter
#define VID_DST_D_GPCNT 0x130320 // Video D general purpose counter
#define VID_DST_E_GPCNT 0x130420 // Video E general purpose counter
#define VID_DST_F_GPCNT 0x130520 // Video F general purpose counter
#define VID_DST_G_GPCNT 0x130620 // Video G general purpose counter
#define VID_DST_H_GPCNT 0x130720 // Video H general purpose counter
//*****************************************************************************
#define VID_DST_A_GPCNT_CTL 0x130030 // Video A general purpose control
#define VID_DST_B_GPCNT_CTL 0x130130 // Video B general purpose control
#define VID_DST_C_GPCNT_CTL 0x130230 // Video C general purpose control
#define VID_DST_D_GPCNT_CTL 0x130330 // Video D general purpose control
#define VID_DST_E_GPCNT_CTL 0x130430 // Video E general purpose control
#define VID_DST_F_GPCNT_CTL 0x130530 // Video F general purpose control
#define VID_DST_G_GPCNT_CTL 0x130630 // Video G general purpose control
#define VID_DST_H_GPCNT_CTL 0x130730 // Video H general purpose control
//*****************************************************************************
#define VID_DST_A_DMA_CTL 0x130040 // Video A DMA control
#define VID_DST_B_DMA_CTL 0x130140 // Video B DMA control
#define VID_DST_C_DMA_CTL 0x130240 // Video C DMA control
#define VID_DST_D_DMA_CTL 0x130340 // Video D DMA control
#define VID_DST_E_DMA_CTL 0x130440 // Video E DMA control
#define VID_DST_F_DMA_CTL 0x130540 // Video F DMA control
#define VID_DST_G_DMA_CTL 0x130640 // Video G DMA control
#define VID_DST_H_DMA_CTL 0x130740 // Video H DMA control
#define FLD_VID_RISC_EN 0x00000010
#define FLD_VID_FIFO_EN 0x00000001
//*****************************************************************************
#define VID_DST_A_VIP_CTL 0x130080 // Video A VIP control
#define VID_DST_B_VIP_CTL 0x130180 // Video B VIP control
#define VID_DST_C_VIP_CTL 0x130280 // Video C VIP control
#define VID_DST_D_VIP_CTL 0x130380 // Video D VIP control
#define VID_DST_E_VIP_CTL 0x130480 // Video E VIP control
#define VID_DST_F_VIP_CTL 0x130580 // Video F VIP control
#define VID_DST_G_VIP_CTL 0x130680 // Video G VIP control
#define VID_DST_H_VIP_CTL 0x130780 // Video H VIP control
//*****************************************************************************
#define VID_DST_A_PIX_FRMT 0x130084 // Video A Pixel format
#define VID_DST_B_PIX_FRMT 0x130184 // Video B Pixel format
#define VID_DST_C_PIX_FRMT 0x130284 // Video C Pixel format
#define VID_DST_D_PIX_FRMT 0x130384 // Video D Pixel format
#define VID_DST_E_PIX_FRMT 0x130484 // Video E Pixel format
#define VID_DST_F_PIX_FRMT 0x130584 // Video F Pixel format
#define VID_DST_G_PIX_FRMT 0x130684 // Video G Pixel format
#define VID_DST_H_PIX_FRMT 0x130784 // Video H Pixel format
//*****************************************************************************
// Video Source Channels
//*****************************************************************************
#define VID_SRC_A_GPCNT_CTL 0x130804 // Video A general purpose control
#define VID_SRC_B_GPCNT_CTL 0x130904 // Video B general purpose control
#define VID_SRC_C_GPCNT_CTL 0x130A04 // Video C general purpose control
#define VID_SRC_D_GPCNT_CTL 0x130B04 // Video D general purpose control
#define VID_SRC_E_GPCNT_CTL 0x130C04 // Video E general purpose control
#define VID_SRC_F_GPCNT_CTL 0x130D04 // Video F general purpose control
#define VID_SRC_I_GPCNT_CTL 0x130E04 // Video I general purpose control
#define VID_SRC_J_GPCNT_CTL 0x130F04 // Video J general purpose control
//*****************************************************************************
#define VID_SRC_A_GPCNT 0x130808 // Video A general purpose counter
#define VID_SRC_B_GPCNT 0x130908 // Video B general purpose counter
#define VID_SRC_C_GPCNT 0x130A08 // Video C general purpose counter
#define VID_SRC_D_GPCNT 0x130B08 // Video D general purpose counter
#define VID_SRC_E_GPCNT 0x130C08 // Video E general purpose counter
#define VID_SRC_F_GPCNT 0x130D08 // Video F general purpose counter
#define VID_SRC_I_GPCNT 0x130E08 // Video I general purpose counter
#define VID_SRC_J_GPCNT 0x130F08 // Video J general purpose counter
//*****************************************************************************
#define VID_SRC_A_DMA_CTL 0x13080C // Video A DMA control
#define VID_SRC_B_DMA_CTL 0x13090C // Video B DMA control
#define VID_SRC_C_DMA_CTL 0x130A0C // Video C DMA control
#define VID_SRC_D_DMA_CTL 0x130B0C // Video D DMA control
#define VID_SRC_E_DMA_CTL 0x130C0C // Video E DMA control
#define VID_SRC_F_DMA_CTL 0x130D0C // Video F DMA control
#define VID_SRC_I_DMA_CTL 0x130E0C // Video I DMA control
#define VID_SRC_J_DMA_CTL 0x130F0C // Video J DMA control
#define FLD_APB_RISC_EN 0x00000010
#define FLD_APB_FIFO_EN 0x00000001
//*****************************************************************************
#define VID_SRC_A_FMT_CTL 0x130810 // Video A format control
#define VID_SRC_B_FMT_CTL 0x130910 // Video B format control
#define VID_SRC_C_FMT_CTL 0x130A10 // Video C format control
#define VID_SRC_D_FMT_CTL 0x130B10 // Video D format control
#define VID_SRC_E_FMT_CTL 0x130C10 // Video E format control
#define VID_SRC_F_FMT_CTL 0x130D10 // Video F format control
#define VID_SRC_I_FMT_CTL 0x130E10 // Video I format control
#define VID_SRC_J_FMT_CTL 0x130F10 // Video J format control
//*****************************************************************************
#define VID_SRC_A_ACTIVE_CTL1 0x130814 // Video A active control 1
#define VID_SRC_B_ACTIVE_CTL1 0x130914 // Video B active control 1
#define VID_SRC_C_ACTIVE_CTL1 0x130A14 // Video C active control 1
#define VID_SRC_D_ACTIVE_CTL1 0x130B14 // Video D active control 1
#define VID_SRC_E_ACTIVE_CTL1 0x130C14 // Video E active control 1
#define VID_SRC_F_ACTIVE_CTL1 0x130D14 // Video F active control 1
#define VID_SRC_I_ACTIVE_CTL1 0x130E14 // Video I active control 1
#define VID_SRC_J_ACTIVE_CTL1 0x130F14 // Video J active control 1
//*****************************************************************************
#define VID_SRC_A_ACTIVE_CTL2 0x130818 // Video A active control 2
#define VID_SRC_B_ACTIVE_CTL2 0x130918 // Video B active control 2
#define VID_SRC_C_ACTIVE_CTL2 0x130A18 // Video C active control 2
#define VID_SRC_D_ACTIVE_CTL2 0x130B18 // Video D active control 2
#define VID_SRC_E_ACTIVE_CTL2 0x130C18 // Video E active control 2
#define VID_SRC_F_ACTIVE_CTL2 0x130D18 // Video F active control 2
#define VID_SRC_I_ACTIVE_CTL2 0x130E18 // Video I active control 2
#define VID_SRC_J_ACTIVE_CTL2 0x130F18 // Video J active control 2
//*****************************************************************************
#define VID_SRC_A_CDT_SZ 0x13081C // Video A CDT size
#define VID_SRC_B_CDT_SZ 0x13091C // Video B CDT size
#define VID_SRC_C_CDT_SZ 0x130A1C // Video C CDT size
#define VID_SRC_D_CDT_SZ 0x130B1C // Video D CDT size
#define VID_SRC_E_CDT_SZ 0x130C1C // Video E CDT size
#define VID_SRC_F_CDT_SZ 0x130D1C // Video F CDT size
#define VID_SRC_I_CDT_SZ 0x130E1C // Video I CDT size
#define VID_SRC_J_CDT_SZ 0x130F1C // Video J CDT size
//*****************************************************************************
// Audio I/F
//*****************************************************************************
#define AUD_DST_A_DMA 0x140000 // Audio Int A DMA data port
#define AUD_SRC_A_DMA 0x140008 // Audio Int A DMA data port
#define AUD_A_GPCNT 0x140010 // Audio Int A gp counter
#define FLD_AUD_A_GP_CNT 0x0000FFFF
#define AUD_A_GPCNT_CTL 0x140014 // Audio Int A gp control
#define AUD_A_LNGTH 0x140018 // Audio Int A line length
#define AUD_A_CFG 0x14001C // Audio Int A configuration
//*****************************************************************************
#define AUD_DST_B_DMA 0x140100 // Audio Int B DMA data port
#define AUD_SRC_B_DMA 0x140108 // Audio Int B DMA data port
#define AUD_B_GPCNT 0x140110 // Audio Int B gp counter
#define FLD_AUD_B_GP_CNT 0x0000FFFF
#define AUD_B_GPCNT_CTL 0x140114 // Audio Int B gp control
#define AUD_B_LNGTH 0x140118 // Audio Int B line length
#define AUD_B_CFG 0x14011C // Audio Int B configuration
//*****************************************************************************
#define AUD_DST_C_DMA 0x140200 // Audio Int C DMA data port
#define AUD_SRC_C_DMA 0x140208 // Audio Int C DMA data port
#define AUD_C_GPCNT 0x140210 // Audio Int C gp counter
#define FLD_AUD_C_GP_CNT 0x0000FFFF
#define AUD_C_GPCNT_CTL 0x140214 // Audio Int C gp control
#define AUD_C_LNGTH 0x140218 // Audio Int C line length
#define AUD_C_CFG 0x14021C // Audio Int C configuration
//*****************************************************************************
#define AUD_DST_D_DMA 0x140300 // Audio Int D DMA data port
#define AUD_SRC_D_DMA 0x140308 // Audio Int D DMA data port
#define AUD_D_GPCNT 0x140310 // Audio Int D gp counter
#define FLD_AUD_D_GP_CNT 0x0000FFFF
#define AUD_D_GPCNT_CTL 0x140314 // Audio Int D gp control
#define AUD_D_LNGTH 0x140318 // Audio Int D line length
#define AUD_D_CFG 0x14031C // Audio Int D configuration
//*****************************************************************************
#define AUD_SRC_E_DMA 0x140400 // Audio Int E DMA data port
#define AUD_E_GPCNT 0x140410 // Audio Int E gp counter
#define FLD_AUD_E_GP_CNT 0x0000FFFF
#define AUD_E_GPCNT_CTL 0x140414 // Audio Int E gp control
#define AUD_E_CFG 0x14041C // Audio Int E configuration
//*****************************************************************************
#define FLD_AUD_DST_LN_LNGTH 0x00000FFF
#define FLD_AUD_DST_PK_MODE 0x00004000
#define FLD_AUD_CLK_ENABLE 0x00000200
#define FLD_AUD_MASTER_MODE 0x00000002
#define FLD_AUD_SONY_MODE 0x00000001
#define FLD_AUD_CLK_SELECT_PLL_D 0x00001800
#define FLD_AUD_DST_ENABLE 0x00020000
#define FLD_AUD_SRC_ENABLE 0x00010000
//*****************************************************************************
#define AUD_INT_DMA_CTL 0x140500 // Audio Int DMA control
#define FLD_AUD_SRC_E_RISC_EN 0x00008000
#define FLD_AUD_SRC_C_RISC_EN 0x00004000
#define FLD_AUD_SRC_B_RISC_EN 0x00002000
#define FLD_AUD_SRC_A_RISC_EN 0x00001000
#define FLD_AUD_DST_D_RISC_EN 0x00000800
#define FLD_AUD_DST_C_RISC_EN 0x00000400
#define FLD_AUD_DST_B_RISC_EN 0x00000200
#define FLD_AUD_DST_A_RISC_EN 0x00000100
#define FLD_AUD_SRC_E_FIFO_EN 0x00000080
#define FLD_AUD_SRC_C_FIFO_EN 0x00000040
#define FLD_AUD_SRC_B_FIFO_EN 0x00000020
#define FLD_AUD_SRC_A_FIFO_EN 0x00000010
#define FLD_AUD_DST_D_FIFO_EN 0x00000008
#define FLD_AUD_DST_C_FIFO_EN 0x00000004
#define FLD_AUD_DST_B_FIFO_EN 0x00000002
#define FLD_AUD_DST_A_FIFO_EN 0x00000001
//*****************************************************************************
//
// Mobilygen Interface Registers
//
//*****************************************************************************
// Mobilygen Interface A
//*****************************************************************************
#define MB_IF_A_DMA 0x150000 // MBIF A DMA data port
#define MB_IF_A_GPCN 0x150008 // MBIF A GP counter
#define MB_IF_A_GPCN_CTRL 0x15000C
#define MB_IF_A_DMA_CTRL 0x150010
#define MB_IF_A_LENGTH 0x150014
#define MB_IF_A_HDMA_XFER_SZ 0x150018
#define MB_IF_A_HCMD 0x15001C
#define MB_IF_A_HCONFIG 0x150020
#define MB_IF_A_DATA_STRUCT_0 0x150024
#define MB_IF_A_DATA_STRUCT_1 0x150028
#define MB_IF_A_DATA_STRUCT_2 0x15002C
#define MB_IF_A_DATA_STRUCT_3 0x150030
#define MB_IF_A_DATA_STRUCT_4 0x150034
#define MB_IF_A_DATA_STRUCT_5 0x150038
#define MB_IF_A_DATA_STRUCT_6 0x15003C
#define MB_IF_A_DATA_STRUCT_7 0x150040
#define MB_IF_A_DATA_STRUCT_8 0x150044
#define MB_IF_A_DATA_STRUCT_9 0x150048
#define MB_IF_A_DATA_STRUCT_A 0x15004C
#define MB_IF_A_DATA_STRUCT_B 0x150050
#define MB_IF_A_DATA_STRUCT_C 0x150054
#define MB_IF_A_DATA_STRUCT_D 0x150058
#define MB_IF_A_DATA_STRUCT_E 0x15005C
#define MB_IF_A_DATA_STRUCT_F 0x150060
//*****************************************************************************
// Mobilygen Interface B
//*****************************************************************************
#define MB_IF_B_DMA 0x160000 // MBIF A DMA data port
#define MB_IF_B_GPCN 0x160008 // MBIF A GP counter
#define MB_IF_B_GPCN_CTRL 0x16000C
#define MB_IF_B_DMA_CTRL 0x160010
#define MB_IF_B_LENGTH 0x160014
#define MB_IF_B_HDMA_XFER_SZ 0x160018
#define MB_IF_B_HCMD 0x16001C
#define MB_IF_B_HCONFIG 0x160020
#define MB_IF_B_DATA_STRUCT_0 0x160024
#define MB_IF_B_DATA_STRUCT_1 0x160028
#define MB_IF_B_DATA_STRUCT_2 0x16002C
#define MB_IF_B_DATA_STRUCT_3 0x160030
#define MB_IF_B_DATA_STRUCT_4 0x160034
#define MB_IF_B_DATA_STRUCT_5 0x160038
#define MB_IF_B_DATA_STRUCT_6 0x16003C
#define MB_IF_B_DATA_STRUCT_7 0x160040
#define MB_IF_B_DATA_STRUCT_8 0x160044
#define MB_IF_B_DATA_STRUCT_9 0x160048
#define MB_IF_B_DATA_STRUCT_A 0x16004C
#define MB_IF_B_DATA_STRUCT_B 0x160050
#define MB_IF_B_DATA_STRUCT_C 0x160054
#define MB_IF_B_DATA_STRUCT_D 0x160058
#define MB_IF_B_DATA_STRUCT_E 0x16005C
#define MB_IF_B_DATA_STRUCT_F 0x160060
// MB_DMA_CTRL
#define FLD_MB_IF_RISC_EN 0x00000010
#define FLD_MB_IF_FIFO_EN 0x00000001
// MB_LENGTH
#define FLD_MB_IF_LN_LNGTH 0x00000FFF
// MB_HCMD register
#define FLD_MB_HCMD_H_GO 0x80000000
#define FLD_MB_HCMD_H_BUSY 0x40000000
#define FLD_MB_HCMD_H_DMA_HOLD 0x10000000
#define FLD_MB_HCMD_H_DMA_BUSY 0x08000000
#define FLD_MB_HCMD_H_DMA_TYPE 0x04000000
#define FLD_MB_HCMD_H_DMA_XACT 0x02000000
#define FLD_MB_HCMD_H_RW_N 0x01000000
#define FLD_MB_HCMD_H_ADDR 0x00FF0000
#define FLD_MB_HCMD_H_DATA 0x0000FFFF
//*****************************************************************************
// I2C #1
//*****************************************************************************
#define I2C1_ADDR 0x180000 // I2C #1 address
#define FLD_I2C_DADDR 0xfe000000 // RW [31:25] I2C Device Address
// RO [24] reserved
//*****************************************************************************
#define FLD_I2C_SADDR 0x00FFFFFF // RW [23:0] I2C Sub-address
//*****************************************************************************
#define I2C1_WDATA 0x180004 // I2C #1 write data
#define FLD_I2C_WDATA 0xFFFFFFFF // RW [31:0]
//*****************************************************************************
#define I2C1_CTRL 0x180008 // I2C #1 control
#define FLD_I2C_PERIOD 0xFF000000 // RW [31:24]
#define FLD_I2C_SCL_IN 0x00200000 // RW [21]
#define FLD_I2C_SDA_IN 0x00100000 // RW [20]
// RO [19:18] reserved
#define FLD_I2C_SCL_OUT 0x00020000 // RW [17]
#define FLD_I2C_SDA_OUT 0x00010000 // RW [16]
// RO [15] reserved
#define FLD_I2C_DATA_LEN 0x00007000 // RW [14:12]
#define FLD_I2C_SADDR_INC 0x00000800 // RW [11]
// RO [10:9] reserved
#define FLD_I2C_SADDR_LEN 0x00000300 // RW [9:8]
// RO [7:6] reserved
#define FLD_I2C_SOFT 0x00000020 // RW [5]
#define FLD_I2C_NOSTOP 0x00000010 // RW [4]
#define FLD_I2C_EXTEND 0x00000008 // RW [3]
#define FLD_I2C_SYNC 0x00000004 // RW [2]
#define FLD_I2C_READ_SA 0x00000002 // RW [1]
#define FLD_I2C_READ_WRN 0x00000001 // RW [0]
//*****************************************************************************
#define I2C1_RDATA 0x18000C // I2C #1 read data
#define FLD_I2C_RDATA 0xFFFFFFFF // RO [31:0]
//*****************************************************************************
#define I2C1_STAT 0x180010 // I2C #1 status
#define FLD_I2C_XFER_IN_PROG 0x00000002 // RO [1]
#define FLD_I2C_RACK 0x00000001 // RO [0]
//*****************************************************************************
// I2C #2
//*****************************************************************************
#define I2C2_ADDR 0x190000 // I2C #2 address
//*****************************************************************************
#define I2C2_WDATA 0x190004 // I2C #2 write data
//*****************************************************************************
#define I2C2_CTRL 0x190008 // I2C #2 control
//*****************************************************************************
#define I2C2_RDATA 0x19000C // I2C #2 read data
//*****************************************************************************
#define I2C2_STAT 0x190010 // I2C #2 status
//*****************************************************************************
// I2C #3
//*****************************************************************************
#define I2C3_ADDR 0x1A0000 // I2C #3 address
//*****************************************************************************
#define I2C3_WDATA 0x1A0004 // I2C #3 write data
//*****************************************************************************
#define I2C3_CTRL 0x1A0008 // I2C #3 control
//*****************************************************************************
#define I2C3_RDATA 0x1A000C // I2C #3 read data
//*****************************************************************************
#define I2C3_STAT 0x1A0010 // I2C #3 status
//*****************************************************************************
// UART
//*****************************************************************************
#define UART_CTL 0x1B0000 // UART Control Register
#define FLD_LOOP_BACK_EN (1 << 7) // RW field - default 0
#define FLD_RX_TRG_SZ (3 << 2) // RW field - default 0
#define FLD_RX_EN (1 << 1) // RW field - default 0
#define FLD_TX_EN (1 << 0) // RW field - default 0
//*****************************************************************************
#define UART_BRD 0x1B0004 // UART Baud Rate Divisor
#define FLD_BRD 0x0000FFFF // RW field - default 0x197
//*****************************************************************************
#define UART_DBUF 0x1B0008 // UART Tx/Rx Data BuFFer
#define FLD_DB 0xFFFFFFFF // RW field - default 0
//*****************************************************************************
#define UART_ISR 0x1B000C // UART Interrupt Status
#define FLD_RXD_TIMEOUT_EN (1 << 7) // RW field - default 0
#define FLD_FRM_ERR_EN (1 << 6) // RW field - default 0
#define FLD_RXD_RDY_EN (1 << 5) // RW field - default 0
#define FLD_TXD_EMPTY_EN (1 << 4) // RW field - default 0
#define FLD_RXD_OVERFLOW (1 << 3) // RW field - default 0
#define FLD_FRM_ERR (1 << 2) // RW field - default 0
#define FLD_RXD_RDY (1 << 1) // RW field - default 0
#define FLD_TXD_EMPTY (1 << 0) // RW field - default 0
//*****************************************************************************
#define UART_CNT 0x1B0010 // UART Tx/Rx FIFO Byte Count
#define FLD_TXD_CNT (0x1F << 8) // RW field - default 0
#define FLD_RXD_CNT (0x1F << 0) // RW field - default 0
//*****************************************************************************
// Motion Detection
#define MD_CH0_GRID_BLOCK_YCNT 0x170014
#define MD_CH1_GRID_BLOCK_YCNT 0x170094
#define MD_CH2_GRID_BLOCK_YCNT 0x170114
#define MD_CH3_GRID_BLOCK_YCNT 0x170194
#define MD_CH4_GRID_BLOCK_YCNT 0x170214
#define MD_CH5_GRID_BLOCK_YCNT 0x170294
#define MD_CH6_GRID_BLOCK_YCNT 0x170314
#define MD_CH7_GRID_BLOCK_YCNT 0x170394
#define PIXEL_FRMT_422 4
#define PIXEL_FRMT_411 5
#define PIXEL_FRMT_Y8 6
#define PIXEL_ENGINE_VIP1 0
#define PIXEL_ENGINE_VIP2 1
#endif //Athena_REGISTERS