⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 poseidon.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
📖 第 1 页 / 共 5 页
字号:
#define kIOMfioSelect20Mask			0x00100000	/* 20 */
#define kIOMfioSelect19Mask			0x00080000	/* 19 */
#define kIOMfioSelect18Mask			0x00040000	/* 18 */
#define kIOMfioSelect17Mask			0x00020000	/* 17 */
#define kIOMfioSelect16Mask			0x00010000	/* 16 */
#define kIOMfioSelect15Mask			0x00008000	/* 15 */
#define kIOMfioSelect14Mask			0x00004000	/* 14 */
#define kIOMfioSelect13Mask			0x00002000	/* 13 */
#define kIOMfioSelect12Mask			0x00001000	/* 12 */
#define kIOMfioSelect11Mask			0x00000800	/* 11 */
#define kIOMfioSelect10Mask			0x00000400	/* 10 */
#define kIOMfioSelect9Mask			0x00000200	/* 9 */
#define kIOMfioSelect8Mask			0x00000100	/* 8 */
#define kIOMfioSelect7Mask			0x00000080	/* 7 */
#define kIOMfioSelect6Mask			0x00000040	/* 6 */
#define kIOMfioSelect5Mask			0x00000020	/* 5 */
#define kIOMfioSelect4Mask			0x00000010	/* 4 */
#define kIOMfioSelect3Mask			0x00000008	/* 3 */
#define kIOMfioSelect2Mask			0x00000004	/* 2 */
#define kIOMfioSelect1Mask			0x00000002	/* 1 */
#define kIOMfioSelect0Mask			0x00000001	/* 0 */

#define MFIO_SELECT_PIN_TO_MASK(pin)	(1 << (pin))

/* 
 * MFIO Standard function masks used for: (PoseidonModule.mfioDataOutput, PoseidonModule.mfioDirection,
 * PoseidonModule.mfioDataInput, PoseidonModule.mfioSelect, PoseidonModule.mfioPowerDown)
 */
#define kIOMfioChiFrameSyncMask			kIOMfioSelect31Mask
#define kIOMfioChiClockMask				kIOMfioSelect30Mask
#define kIOMfioChiDataOutMask			kIOMfioSelect29Mask
#define kIOMfioChiDataInMask			kIOMfioSelect28Mask			
#define kIOMfioBusRequestMask			kIOMfioSelect27Mask			
#define kIOMfioBusGrantMask				kIOMfioSelect26Mask			
#define kIOMfioBuffered32KhzClockMask	kIOMfioSelect25Mask			
#define kIOMfioUartATransmitDataMask	kIOMfioSelect24Mask			
#define kIOMfioUartAReceiveDataMask		kIOMfioSelect23Mask			
#define kIOMfioChipSelect1Mask			kIOMfioSelect22Mask			
#define kIOMfioChipSelect2Mask			kIOMfioSelect21Mask			
#define kIOMfioChipSelect3Mask			kIOMfioSelect20Mask			
#define kIOMfioMagicCardChipSelect0Mask kIOMfioSelect19Mask			
#define kIOMfioMagicCardChipSelect1Mask kIOMfioSelect18Mask			
#define kIOMfioMagicCardChipSelect2Mask kIOMfioSelect17Mask			
#define kIOMfioMagicCardChipSelect3Mask kIOMfioSelect16Mask			
#define kIOMfioSpiClockMask				kIOMfioSelect15Mask			
#define kIOMfioSpiDataOutMask			kIOMfioSelect14Mask			
#define kIOMfioSpiDataInMask			kIOMfioSelect13Mask			
#define kIOMfioSibMClockMask			kIOMfioSelect12Mask			
#define kIOMfioCardRegMask				kIOMfioSelect11Mask			
#define kIOMfioCardIoWriteMask			kIOMfioSelect10Mask			
#define kIOMfioCardIoReadMask			kIOMfioSelect9Mask			
#define kIOMfioCard1ChipSelectLowMask	kIOMfioSelect8Mask			
#define kIOMfioCard1ChipSelectHighMask	kIOMfioSelect7Mask			
#define kIOMfioCard2ChipSelectLowMask	kIOMfioSelect6Mask			
#define kIOMfioCard2ChipSelectHighMask	kIOMfioSelect5Mask			
#define kIOMfioCard1WaitMask			kIOMfioSelect4Mask			
#define kIOMfioCard2WaitMask			kIOMfioSelect3Mask			
#define kIOMfioCardDirectionMask		kIOMfioSelect2Mask

#define kIOMfioCard1Disable				(kIOMfioCard1ChipSelectLowMask | kIOMfioCard1ChipSelectHighMask | kIOMfioCard1WaitMask)
#define kIOMfioCard2Disable				(kIOMfioCard2ChipSelectLowMask | kIOMfioCard2ChipSelectHighMask | kIOMfioCard2WaitMask)				
#define kIOMfioCardDisable				(kIOMfioCardRegMask | kIOMfioCardIoWriteMask | kIOMfioCardIoReadMask | kIOMfioCardDirectionMask)
#define kIOMfioGeneralDisable			kIOMfioCardDisable			


/***** Register Equates (PoseidonModule.ioPowerDown) *****/
#define kIOPowerDown6Mask			0x00000040	/* 6 */
#define kIOPowerDown5Mask			0x00000020	/* 5 */
#define kIOPowerDown4Mask			0x00000010	/* 4 */
#define kIOPowerDown3Mask			0x00000008	/* 3 */
#define kIOPowerDown2Mask			0x00000004	/* 2 */
#define kIOPowerDown1Mask			0x00000002	/* 1 */
#define kIOPowerDown0Mask			0x00000001	/* 0 */

#define IO_POWER_DOWN_PIN_TO_MASK(pin)	(1 << (pin))

/***** Register Equates (PoseidonModule.mfioPowerDown) *****/
#define kIOMfioPowerDown31Mask		0x80000000	/* 31 */
#define kIOMfioPowerDown30Mask		0x40000000	/* 30 */
#define kIOMfioPowerDown29Mask		0x20000000	/* 29 */
#define kIOMfioPowerDown28Mask		0x10000000	/* 28 */
#define kIOMfioPowerDown27Mask		0x08000000	/* 27 */
#define kIOMfioPowerDown26Mask		0x04000000	/* 26 */
#define kIOMfioPowerDown25Mask		0x02000000	/* 25 */
#define kIOMfioPowerDown24Mask		0x01000000	/* 24 */
#define kIOMfioPowerDown23Mask		0x00800000	/* 23 */
#define kIOMfioPowerDown22Mask		0x00400000	/* 22 */
#define kIOMfioPowerDown21Mask		0x00200000	/* 21 */
#define kIOMfioPowerDown20Mask		0x00100000	/* 20 */
#define kIOMfioPowerDown19Mask		0x00080000	/* 19 */
#define kIOMfioPowerDown18Mask		0x00040000	/* 18 */
#define kIOMfioPowerDown17Mask		0x00020000	/* 17 */
#define kIOMfioPowerDown16Mask		0x00010000	/* 16 */
#define kIOMfioPowerDown15Mask		0x00008000	/* 15 */
#define kIOMfioPowerDown14Mask		0x00004000	/* 14 */
#define kIOMfioPowerDown13Mask		0x00002000	/* 13 */
#define kIOMfioPowerDown12Mask		0x00001000	/* 12 */
#define kIOMfioPowerDown11Mask		0x00000800	/* 11 */
#define kIOMfioPowerDown10Mask		0x00000400	/* 10 */
#define kIOMfioPowerDown9Mask		0x00000200	/* 9 */
#define kIOMfioPowerDown8Mask		0x00000100	/* 8 */
#define kIOMfioPowerDown7Mask		0x00000080	/* 7 */
#define kIOMfioPowerDown6Mask		0x00000040	/* 6 */
#define kIOMfioPowerDown5Mask		0x00000020	/* 5 */
#define kIOMfioPowerDown4Mask		0x00000010	/* 4 */
#define kIOMfioPowerDown3Mask		0x00000008	/* 3 */
#define kIOMfioPowerDown2Mask		0x00000004	/* 2 */
#define kIOMfioPowerDown1Mask		0x00000002	/* 1 */
#define kIOMfioPowerDown0Mask		0x00000001	/* 0 */

#define MFIO_POWER_DOWN_PIN_TO_MASK(pin)	(1 << (pin))


/***** Clock Control Equates *****/
/***** Clock Control Register Equates (PoseidonModule.masterClock) *****/
#define kClockChiClkDivMask			0xff000000	/* 31:24 */
#define kClockChiMClkSelectMask		0x00200000	/* 21 */
#define kClockChiClkDirectionMask	0x00100000	/* 20 */
#define kClockEnChiMClkMask			0x00080000	/* 19 */
#define kClockEnVideoClkMask		0x00040000	/* 18 */
#define kClockEnMbusClkMask			0x00020000	/* 17 */
#define kClockEnSpiClkMask			0x00010000	/* 16 */
#define kClockEnTimerClkMask		0x00008000	/* 15 */
#define kClockEnFastTimerClkMask	0x00004000	/* 14 */
#define kClockSibMClkDirectionMask	0x00002000	/* 13 */
#define kClockEnSibMClkMask			0x00000800	/* 11 */
#define kClockSibMClkDivMask		0x00000700	/* 10:8 */
#define kClockCserSelectMask		0x00000080	/* 7 */
#define kClockCserDivMask			0x00000070	/* 6:4 */
#define kClockEnCserClkMask			0x00000008	/* 3 */
#define kClockEnIrClkMask			0x00000004	/* 2 */
#define kClockEnUartAClkMask		0x00000002	/* 1 */
#define kClockEnUartBClkMask		0x00000001	/* 0 */

/***** Values for kClockChiClkDivMask *****/
#define kClockChiClockDivShift		24

/***** Values for kClockSibMClkDivMask *****/
#define kClockSibMClkDivBy8			0x00000600
#define kClockSibMClkDivBy7			0x00000500
#define kClockSibMClkDivBy6			0x00000400
#define kClockSibMClkDivBy5			0x00000300
#define kClockSibMClkDivBy4			0x00000200
#define kClockSibMClkDivBy3			0x00000100
#define kClockSibMClkDivBy2			0x00000000
#define kClockSibMClockDivShift		8

/***** Values for kClockCserDivMask *****/
#define kClockCserDivBy8			0x00000060
#define kClockCserDivBy7			0x00000050
#define kClockCserDivBy6			0x00000040
#define kClockCserDivBy5			0x00000030
#define kClockCserDivBy4			0x00000020
#define kClockCserDivBy3			0x00000010
#define kClockCserDivBy2			0x00000000
#define kClockCserDivShift			4


/***** Power Module Equates *****/
/***** Power Module Control Equates (PoseidonModule.powerControl) *****/
#define kPowerOnButtonStatusMask			0x80000000	/* 31 */
#define kPowerInterruptStatusMask			0x40000000	/* 30 */
#define kPowerOkStatusMask					0x20000000	/* 29 */
#define kPowerStopTimerValueMask			0x0000f000	/* 15:12 */
#define kPowerEnableStopTimerMask			0x00000800	/* 11 */
#define kPowerEnableForceShutdownMask		0x00000400	/* 10 */
#define kPowerForceShutdownMask				0x00000200	/* 9 */
#define kPowerForceShutdownOccurredMask		0x00000100	/* 8 */
#define kPowerSelectShortWakeUpDebounceMask	0x00000080	/* 7 */
#define kPowerDisableWakeUpDebounceMask		0x00000020	/* 5 */
#define kPowerStopCpuMask					0x00000010	/* 4 */
#define kPowerEnableOnButtonDebounceMask	0x00000008	/* 3 */
#define kPowerColdStartMask					0x00000004	/* 2 */
#define kPowerCsMask						0x00000002	/* 1 */
#define kPowerVccOnMask						0x00000001	/* 0 */

#define kPowerStopTimerValueShift			12

#define kPowerWriteMask	( \
	kPowerStopTimerValueMask | \
	kPowerEnableStopTimerMask | \
	kPowerEnableForceShutdownMask | \
	kPowerForceShutdownMask | \
	kPowerForceShutdownOccurredMask | \
	kPowerSelectShortWakeUpDebounceMask | \
	kPowerDisableWakeUpDebounceMask | \
	kPowerStopCpuMask | \
	kPowerEnableOnButtonDebounceMask | \
	kPowerColdStartMask | \
	kPowerCsMask | \
	kPowerVccOnMask)


/***** CHI Module Equates *****/
/***** Register Equates (PoseidonModule.chiControl) *****/
#define kChiFsOutputSelectMask		0x08000000	/* 27 */
#define kChiFsWidthMask				0x06000000	/* 26:25 */
#define kChiNumChanTimeslotsMask	0x01f00000	/* 24:20 */
#define kChiTxBitOffsetMask			0x000f0000	/* 19:16 */
#define kChiRxBitOffsetMask			0x0000f000	/* 15:12 */
#define kChiTxMSBSelectMask			0x00000800	/* 11 */
#define kChiRxMSBSelectMask			0x00000400	/* 10 */
#define kChiRxFsNegativePolMask		0x00000200	/* 9 */
#define kChiTxFsNegativePolMask		0x00000100	/* 8 */
#define kChiRxRisingEdgeMask		0x00000080	/* 7 */
#define kChiTxRisingEdgeMask		0x00000040	/* 6 */
#define kChiRxFsRisingEdgeMask		0x00000020	/* 5 */
#define kChiTxFsRisingEdgeMask		0x00000010	/* 4 */
#define kChiSelect2xClockMask		0x00000008	/* 3 */
#define kChiEnReceiveMask			0x00000004	/* 2 */
#define kChiEnTransmitMask			0x00000002	/* 1 */
#define kChiEnMask					0x00000001	/* 0 */

#define kChiFsWidthShift			25
#define kChiNumChanTimeslotsShift	20
#define kChiTxBitOffsetShift		16
#define kChiRxBitOffsetShift		12

/***** Register Equates (PoseidonModule.chiPointerEnable) *****/
#define kChiEnTxPtrB3TimeslotMask	0x80000000	/* 31 */
#define kChiEnTxPtrB2TimeslotMask	0x40000000	/* 30 */
#define kChiEnTxPtrB1TimeslotMask	0x20000000	/* 29 */
#define kChiEnTxPtrB0TimeslotMask	0x10000000	/* 28 */
#define kChiEnTxPtrA3TimeslotMask	0x08000000	/* 27 */
#define kChiEnTxPtrA2TimeslotMask	0x04000000	/* 26 */
#define kChiEnTxPtrA1TimeslotMask	0x02000000	/* 25 */
#define kChiEnTxPtrA0TimeslotMask	0x01000000	/* 24 */
#define kChiEnRxPtrB3TimeslotMask	0x00800000	/* 23 */
#define kChiEnRxPtrB2TimeslotMask	0x00400000	/* 22 */
#define kChiEnRxPtrB1TimeslotMask	0x00200000	/* 21 */
#define kChiEnRxPtrB0TimeslotMask	0x00100000	/* 20 */
#define kChiEnRxPtrA3TimeslotMask	0x00080000	/* 19 */
#define kChiEnRxPtrA2TimeslotMask	0x00040000	/* 18 */
#define kChiEnRxPtrA1TimeslotMask	0x00020000	/* 17 */
#define kChiEnRxPtrA0TimeslotMask	0x00010000	/* 16 */

/***** Register Equates (PoseidonModule.chiRxPointerA) *****/
#define kChiRxPtrA3Mask				0x1f000000	/* 28:24 */
#define kChiRxPtrA2Mask				0x001f0000	/* 20:16 */
#define kChiRxPtrA1Mask				0x00001f00	/* 12:8 */
#define kChiRxPtrA0Mask				0x0000001f	/* 4:0 */

#define kChiRxPtrA3Shift			24
#define kChiRxPtrA2Shift			16
#define kChiRxPtrA1Shift			8
#define kChiRxPtrA0Shift			0

/***** Register Equates (PoseidonModule.chiRxPointerB) *****/
#define kChiRxPtrB3Mask				0x1f000000	/* 28:24 */
#define kChiRxPtrB2Mask				0x001f0000	/* 20:16 */
#define kChiRxPtrB1Mask				0x00001f00	/* 12:8 */
#define kChiRxPtrB0Mask				0x0000001f	/* 4:0 */

#define kChiRxPtrB3Shift			24
#define kChiRxPtrB2Shift			16
#define kChiRxPtrB1Shift			8
#define kChiRxPtrB0Shift			0

/***** Register Equates (PoseidonModule.chiTxPointerA) *****/
#define kChiTxPtrA3Mask				0x1f000000	/* 28:24 */
#define kChiTxPtrA2Mask				0x001f0000	/* 20:16 */
#define kChiTxPtrA1Mask				0x00001f00	/* 12:8 */
#define kChiTxPtrA0Mask				0x0000001f	/* 4:0 */

#define kChiTxPtrA3Shift			24
#define kChiTxPtrA2Shift			16
#define kChiTxPtrA1Shift			8
#define kChiTxPtrA0Shift			0

/***** Register Equates (PoseidonModule.chiTxPointerB) *****/
#define kChiTxPtrB3Mask				0x1f000000	/* 28:24 */
#define kChiTxPtrB2Mask				0x001f0000	/* 20:16 */
#define kChiTxPtrB1Mask				0x00001f00	/* 12:8 */
#define kChiTxPtrB0Mask				0x0000001f	/* 4:0 */

#define kChiTxPtrB3Shift			24
#define kChiTxPtrB2Shift			16
#define kChiTxPtrB1Shift			8
#define kChiTxPtrB0Shift			0

/***** Register Equates (PoseidonModule.chiSize) *****/
#define kChiDmaPtrMask				0x3ffc0000	/* 29:18 */
#define kChiDmaOnceMask				0x00008000	/* 15 */
#define kChiDmaLoopMask				0x00004000	/* 14 */
#define kChiDmaSizeMask				0x00003ffc	/* 13:2 */
#define kChiEnRxDmaMask				0x00000002	/* 1 */
#define kChiEnTxDmaMask				0x00000001	/* 0 */

#define kChiDmaPtrShift				18
#define kChiDmaSizeShift			2

/***** Register Equates (PoseidonModule.chiRxStart) *****/
#define kChiRxDmaStartAddrMask		0xfffffffc	/* 31:2 */
#define kChiRxDmaStartAddrShift		2

/***** Register Equates (PoseidonModule.chiTxStart) *****/
#define kChiTxDmaStartAddrMask		0xfffffffc	/* 31:2 */
#define kChiTxDmaStartAddrShift		2

/***** Register Equates (PoseidonModule.chiHold) *****/


#endif /* __POSEIDON__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -