📄 poseidon.h
字号:
#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 + -