📄 hal_sa11x0.h
字号:
#define SA11X0_IRQ_CHANNEL_2_SERVICE_REQUEST 22#define SA11X0_IRQ_CHANNEL_3_SERVICE_REQUEST 23#define SA11X0_IRQ_CHANNEL_4_SERVICE_REQUEST 24#define SA11X0_IRQ_CHANNEL_5_SERVICE_REQUEST 25#define SA11X0_IRQ_OS_TIMER_MATCH_REG_0 26#define SA11X0_IRQ_OS_TIMER_MATCH_REG_1 27#define SA11X0_IRQ_OS_TIMER_MATCH_REG_2 28#define SA11X0_IRQ_OS_TIMER_MATCH_REG_3 29#define SA11X0_IRQ_ONE_HZ_CLOCK_TIC 30#define SA11X0_IRQ_RTC_EQUALS_ALARM 31 #define SA11X0_IRQ_MAX 31#define NUM_SA11X0_INTERRUPTS SA11X0_IRQ_MAX - SA11X0_IRQ_MIN + 1#define SA11X0_IRQ_INTSRC_MASK(irq_nr) (1 << (irq_nr))/* * SA11X0 UART 1 Registers */#define SA11X0_UART1_BASE SA11X0_REGISTER(0x10000)#define SA11X0_UART1_CONTROL0 SA11X0_REGISTER(0x10000)#define SA11X0_UART1_CONTROL1 SA11X0_REGISTER(0x10004)#define SA11X0_UART1_CONTROL2 SA11X0_REGISTER(0x10008)#define SA11X0_UART1_CONTROL3 SA11X0_REGISTER(0x1000C)#define SA11X0_UART1_DATA SA11X0_REGISTER(0x10014)#define SA11X0_UART1_STATUS0 SA11X0_REGISTER(0x1001C)#define SA11X0_UART1_STATUS1 SA11X0_REGISTER(0x10020)/* * SA11X0 UART 3 Registers */#define SA11X0_UART3_BASE SA11X0_REGISTER(0x50000)#define SA11X0_UART3_CONTROL0 SA11X0_REGISTER(0x50000)#define SA11X0_UART3_CONTROL1 SA11X0_REGISTER(0x50004)#define SA11X0_UART3_CONTROL2 SA11X0_REGISTER(0x50008)#define SA11X0_UART3_CONTROL3 SA11X0_REGISTER(0x5000C)#define SA11X0_UART3_DATA SA11X0_REGISTER(0x50014)#define SA11X0_UART3_STATUS0 SA11X0_REGISTER(0x5001C)#define SA11X0_UART3_STATUS1 SA11X0_REGISTER(0x50020)/* * SA11X0 UART Control Register 0 Bit Fields. */#define SA11X0_UART_PARITY_DISABLED 0x00#define SA11X0_UART_PARITY_ENABLED 0x01#define SA11X0_UART_PARITY_ENABLE_MASK 0x01#define SA11X0_UART_PARITY_ODD 0x00#define SA11X0_UART_PARITY_EVEN 0x02#define SA11X0_UART_PARITY_MODE_MASK 0x02#define SA11X0_UART_STOP_BITS_1 0x00#define SA11X0_UART_STOP_BITS_2 0x04#define SA11X0_UART_STOP_BITS_MASK 0x04#define SA11X0_UART_DATA_BITS_7 0x00#define SA11X0_UART_DATA_BITS_8 0x08#define SA11X0_UART_DATA_BITS_MASK 0x08#define SA11X0_UART_SAMPLE_CLOCK_DISABLED 0x00#define SA11X0_UART_SAMPLE_CLOCK_ENABLED 0x10#define SA11X0_UART_SAMPLE_CLOCK_ENABLE_MASK 0x10#define SA11X0_UART_RX_RISING_EDGE_SELECT 0x00#define SA11X0_UART_RX_FALLING_EDGE_SELECT 0x20#define SA11X0_UART_RX_EDGE_SELECT_MASK 0x20#define SA11X0_UART_TX_RISING_EDGE_SELECT 0x00#define SA11X0_UART_TX_FALLING_EDGE_SELECT 0x40#define SA11X0_UART_TX_EDGE_SELECT_MASK 0x20/* * SA-1100 UART Baud Control Register bit masks */#define SA11X0_UART_H_BAUD_RATE_DIVISOR_MASK 0x0000000F#define SA11X0_UART_L_BAUD_RATE_DIVISOR_MASK 0x000000FF#define SA11X0_UART_BAUD_RATE_DIVISOR(x) ((3686400/(16*(x)))-1)/* * SA-1100 UART Control Register 3 Bit Fields. */#define SA11X0_UART_RX_DISABLED 0x00#define SA11X0_UART_RX_ENABLED 0x01#define SA11X0_UART_RX_ENABLE_MASK 0x01#define SA11X0_UART_TX_DISABLED 0x00#define SA11X0_UART_TX_ENABLED 0x02#define SA11X0_UART_TX_ENABLE_MASK 0x02#define SA11X0_UART_BREAK_DISABLED 0x00#define SA11X0_UART_BREAK_ENABLED 0x04#define SA11X0_UART_BREAK_MASK 0x04#define SA11X0_UART_RX_FIFO_INT_DISABLED 0x00#define SA11X0_UART_RX_FIFO_INT_ENABLED 0x08#define SA11X0_UART_RX_FIFO_INT_ENABLE_MASK 0x08#define SA11X0_UART_TX_FIFO_INT_DISABLED 0x00#define SA11X0_UART_TX_FIFO_INT_ENABLED 0x10#define SA11X0_UART_TX_FIFO_INT_ENABLE_MASK 0x10#define SA11X0_UART_NORMAL_OPERATION 0x00#define SA11X0_UART_LOOPBACK_MODE 0x20/* * SA-1100 UART Data Register bit masks */#define SA11X0_UART_DATA_MASK 0x000000FF/* * SA-1100 UART Status Register 0 Bit Fields. */#define SA11X0_UART_TX_SERVICE_REQUEST 0x01#define SA11X0_UART_RX_SERVICE_REQUEST 0x02#define SA11X0_UART_RX_IDLE 0x04#define SA11X0_UART_RX_BEGIN_OF_BREAK 0x08#define SA11X0_UART_RX_END_OF_BREAK 0x10#define SA11X0_UART_ERROR_IN_FIFO 0x20/* * SA-1100 UART Status Register 1 Bit Fields. */#define SA11X0_UART_TX_BUSY 0x01#define SA11X0_UART_RX_FIFO_NOT_EMPTY 0x02#define SA11X0_UART_TX_FIFO_NOT_FULL 0x04#define SA11X0_UART_PARITY_ERROR 0x08#define SA11X0_UART_FRAMING_ERROR 0x10#define SA11X0_UART_RX_FIFO_OVERRUN 0x20#define UART_BASE_0 SA11X0_UART_CONTROL_0#define UART_BASE_1 SA11X0_UART_1_CONTROL_0/* * SA11X0 IRQ Controller Register Definitions. */#define SA11X0_ICIP SA11X0_REGISTER(0x10050000)#define SA11X0_ICMR SA11X0_REGISTER(0x10050004)#define SA11X0_ICLR SA11X0_REGISTER(0x10050008)#define SA11X0_ICCR SA11X0_REGISTER(0x1005000C)#define SA11X0_ICFP SA11X0_REGISTER(0x10050010)#define SA11X0_ICPR SA11X0_REGISTER(0x10050020)/* * SA11X0 IRQ Controller Control Register Bit Fields. */#define SA11X0_ICCR_DISABLE_IDLE_MASK_ALL 0x0#define SA11X0_ICCR_DISABLE_IDLE_MASK_ENABLED 0x1/* * SA11X0 Timer/counter registers */#define SA11X0_OSMR0 SA11X0_REGISTER(0x10000000)#define SA11X0_OSMR1 SA11X0_REGISTER(0x10000004)#define SA11X0_OSMR2 SA11X0_REGISTER(0x10000008)#define SA11X0_OSMR3 SA11X0_REGISTER(0x1000000C)#define SA11X0_OSCR SA11X0_REGISTER(0x10000010)#define SA11X0_OSSR SA11X0_REGISTER(0x10000014)#define SA11X0_OIER SA11X0_REGISTER(0x1000001C)#define SA11X0_RCNR SA11X0_REGISTER(0x10010004)#define SA11X0_RTTR SA11X0_REGISTER(0x10010008)#define SA11X0_RTSR SA11X0_REGISTER(0x10010010)// Timer status register#define SA11X0_OSSR_TIMER0 (1<<0) // Timer match register #0#define SA11X0_OSSR_TIMER1 (1<<1)#define SA11X0_OSSR_TIMER2 (1<<2)#define SA11X0_OSSR_TIMER3 (1<<3)// Timer interrupt enable register#define SA11X0_OIER_TIMER0 (1<<0)#define SA11X0_OIER_TIMER1 (1<<1)#define SA11X0_OIER_TIMER2 (1<<2)#define SA11X0_OIER_TIMER3 (1<<3)/* * SA-1100 Reset Controller Register Definition */#define SA11X0_RESET_SOFTWARE_RESET SA11X0_REGISTER(0x10030000)#define SA11X0_RESET_STATUS SA11X0_REGISTER(0x10030004)#define SA11X0_TUCR SA11X0_REGISTER(0x10030008)/* * SA-1100 Reset Controller Bit Field Definitions */#define SA11X0_INVOKE_SOFTWARE_RESET 0x1#define SA11X0_HARDWARE_RESET 0x1#define SA11X0_SOFTWARE_RESET 0x2#define SA11X0_WATCHDOG_RESET 0x4#define SA11X0_SLEEP_MODE_RESET 0x8/* * SA-1100 Power Manager Registers */#define SA11X0_PWR_MGR_CONTROL SA11X0_REGISTER(0x10020000)#define SA11X0_PWR_MGR_SLEEP_STATUS SA11X0_REGISTER(0x10020004)#define SA11X0_PWR_MGR_SCRATCHPAD SA11X0_REGISTER(0x10020008)#define SA11X0_PWR_MGR_WAKEUP_ENABLE SA11X0_REGISTER(0x1002000C)#define SA11X0_PWR_MGR_GENERAL_CONFIG SA11X0_REGISTER(0x10020010)#define SA11X0_PWR_MGR_PLL_CONFIG SA11X0_REGISTER(0x10020014)#define SA11X0_PWR_MGR_GPIO_SLEEP_STATE SA11X0_REGISTER(0x10020018)#define SA11X0_PWR_MGR_OSC_STATUS SA11X0_REGISTER(0x1002001C)/* * SA-1100 Control Register Bit Field Definitions */#define SA11X0_NO_FORCE_SLEEP_MODE 0x00000000#define SA11X0_FORCE_SLEEP_MODE 0x00000001#define SA11X0_SLEEP_MODE_MASK 0x00000001/* * SA-1100 Power Management Configuration Register Bit Field Definitions */#define SA11X0_NO_STOP_OSC_DURING_SLEEP 0x00000000#define SA11X0_STOP_OSC_DURING_SLEEP 0x00000001#define SA11X0_OSC_DURING_SLEEP_MASK 0x00000001#define SA11X0_DRIVE_PCMCIA_DURING_SLEEP 0x00000000#define SA11X0_FLOAT_PCMCIA_DURING_SLEEP 0x00000002#define SA11X0_PCMCIA_DURING_SLEEP_MASK 0x00000002#define SA11X0_DRIVE_CHIPSEL_DURING_SLEEP 0x00000000#define SA11X0_FLOAT_CHIPSEL_DURING_SLEEP 0x00000004#define SA11X0_CHIPSEL_DURING_SLEEP_MASK 0x00000004#define SA11X0_WAIT_OSC_STABLE 0x00000000#define SA11X0_FORCE_OSC_ENABLE_ON 0x00000008#define SA11X0_OSC_STABLE_MASK 0x00000008/* * SA-1100 PLL Configuration Register Bit Field Definitions */#define SA11X0_CLOCK_SPEED_59_0_MHz 0x00000000#define SA11X0_CLOCK_SPEED_73_7_MHz 0x00000001#define SA11X0_CLOCK_SPEED_88_5_MHz 0x00000002#define SA11X0_CLOCK_SPEED_103_2_MHz 0x00000003#define SA11X0_CLOCK_SPEED_118_0_MHz 0x00000004#define SA11X0_CLOCK_SPEED_132_7_MHz 0x00000005#define SA11X0_CLOCK_SPEED_147_5_MHz 0x00000006#define SA11X0_CLOCK_SPEED_162_2_MHz 0x00000007#define SA11X0_CLOCK_SPEED_176_9_MHz 0x00000008#define SA11X0_CLOCK_SPEED_191_7_MHz 0x00000009#define SA11X0_CLOCK_SPEED_206_4_MHz 0x0000000A#define SA11X0_CLOCK_SPEED_221_2_MHz 0x0000000B/* * SA-1100 Power Manager Wakeup Register Bit Field Definitions */#define SA11X0_WAKEUP_ENABLE(x) ((x) & 0x8FFFFFFF)/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -