123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- #ifndef __PLAT_INTERRUPT_H__
- #define __PLAT_INTERRUPT_H__
- #include "rthw.h"
- #include <rtconfig.h>
- #if defined(BSP_USING_MMU)
- #include "mmu.h"
- #define NONCACHEABLE BIT31
- #else
- #define NONCACHEABLE 0
- #endif
- typedef enum
- {
- /* SYS_AHBIPRST, SYS_BA + 0x060 */
- CHIPRST,
- AHBIPRST_Reserved_1,
- CPURST,
- EBIRST,
- PDMA0RST,
- PDMA1RST,
- SDICRST,
- GPIORST,
- I2SRST,
- AHBIPRST_Reserved_9,
- VCAP0RST,
- VCAP1RST,
- AHBIPRST_Reserved_12,
- AHBIPRST_Reserved_13,
- AHBIPRST_Reserved_14,
- AHBIPRST_Reserved_15,
- EMAC0RST,
- EMAC1RST,
- USBHRST,
- USBDRST,
- FMIRST,
- AHBIPRST_Reserved_21,
- AHBIPRST_Reserved_22,
- CRYPTORST,
- SDHRST,
- AHBIPRST_Reserved_25,
- AHBIPRST_Reserved_26,
- AHBIPRST_Reserved_27,
- AHBIPRST_Reserved_28,
- AHBIPRST_Reserved_29,
- AHBIPRST_Reserved_30,
- AHBIPRST_Reserved_31,
- /* SYS_APBIPRST0, SYS_BA + 0x064 */
- APBIPRST0_Reserved_0,
- APBIPRST0_Reserved_1,
- APBIPRST0_Reserved_2,
- APBIPRST0_Reserved_3,
- AICRST,
- APBIPRST0_Reserved_5,
- APBIPRST0_Reserved_6,
- APBIPRST0_Reserved_7,
- TIMER0RST,
- TIMER1RST,
- TIMER2RST,
- TIMER3RST,
- TIMER4RST,
- TIMER5RST,
- APBIPRST0_Reserved_14,
- APBIPRST0_Reserved_15,
- UART0RST,
- UART1RST,
- UART2RST,
- UART3RST,
- UART4RST,
- UART5RST,
- UART6RST,
- UART7RST,
- UART8RST,
- UART9RST,
- APBIPRST0_Reserved_26,
- APBIPRST0_Reserved_27,
- APBIPRST0_Reserved_28,
- APBIPRST0_Reserved_29,
- APBIPRST0_Reserved_30,
- APBIPRST0_Reserved_31,
- /* SYS_APBIPRST1, SYS_BA + 0x068 */
- I2C0RST,
- I2C1RST,
- I2C2RST,
- I2C3RST,
- QSPI0RST,
- SPI0RST,
- SPI1RST,
- APBIPRST1_Reserved_7,
- CAN0RST,
- CAN1RST,
- CAN2RST,
- CAN3RST,
- SMC0RST,
- SMC1RST,
- APBIPRST1_Reserved_14,
- APBIPRST1_Reserved_15,
- APBIPRST1_Reserved_16,
- APBIPRST1_Reserved_17,
- APBIPRST1_Reserved_18,
- APBIPRST1_Reserved_19,
- APBIPRST1_Reserved_20,
- APBIPRST1_Reserved_21,
- APBIPRST1_Reserved_22,
- APBIPRST1_Reserved_23,
- ADCRST,
- APBIPRST1_Reserved_25,
- PWM0RST,
- PWM1RST,
- APBIPRST1_Reserved_28,
- APBIPRST1_Reserved_29,
- APBIPRST1_Reserved_30,
- APBIPRST1_Reserved_31,
- SYS_IPRST_CNT
- } E_SYS_IPRST;
- typedef enum
- {
- /* CLK_HCLKEN, CLK_BA + 0x010 */
- CPUCKEN,
- HCLKCKEN,
- HCLK1CKEN,
- HCLK3CKEN,
- HCLK4CKEN,
- PCLK0CKEN,
- PCLK1CKEN,
- TICCKEN,
- SRAMCKEN,
- EBICKEN,
- SDICCKEN,
- GPIOCKEN,
- PDMA0CKEN,
- PDMA1CKEN,
- PCLK2CKEN,
- CKOCKEN,
- EMAC0CKEN,
- EMAC1CKEN,
- USBHCKEN,
- USBDCKEN,
- FMICKEN,
- NANDCKEN,
- SD0CKEN,
- CRYPTOCKEN,
- I2SCKEN,
- HCLKEN_Reserved_25,
- VCAP0CKEN,
- SENSORCKEN,
- HCLKEN_Reserved_28,
- HCLKEN_Reserved_29,
- SD1CKEN,
- VCAP1CKEN,
- CLK_HCLKEN_END,
- /* CLK_BA+0x014 */
- /* CLK_PCLKEN0 CLK_BA+0x018 */
- CLK_PCLKEN0_BEGIN = CLK_HCLKEN_END + 32,
- WDTCKEN = CLK_PCLKEN0_BEGIN,
- WWDTCKEN,
- RTCCKEN,
- PCLKEN0_Reserved_3,
- PCLKEN0_Reserved_4,
- PCLKEN0_Reserved_5,
- PCLKEN0_Reserved_6,
- PCLKEN0_Reserved_7,
- TIMER0CKEN,
- TIMER1CKEN,
- TIMER2CKEN,
- TIMER3CKEN,
- TIMER4CKEN,
- TIMER5CKEN,
- PCLKEN0_Reserved_14,
- PCLKEN0_Reserved_15,
- UART0CKEN,
- UART1CKEN,
- UART2CKEN,
- UART3CKEN,
- UART4CKEN,
- UART5CKEN,
- UART6CKEN,
- UART7CKEN,
- UART8CKEN,
- UART9CKEN,
- PCLKEN0_Reserved_26,
- PCLKEN0_Reserved_27,
- PCLKEN0_Reserved_28,
- PCLKEN0_Reserved_29,
- PCLKEN0_Reserved_30,
- PCLKEN0_Reserved_31,
- /* CLK_PCLKEN1, CLK_BA + 0x01C */
- I2C0CKEN,
- I2C1CKEN,
- I2C2CKEN,
- I2C3CKEN,
- QSPI0CKEN,
- SPI0CKEN,
- SPI1CKEN,
- PCLKEN1_Reserved_7,
- CAN0CKEN,
- CAN1CKEN,
- CAN2CKEN,
- CAN3CKEN,
- SMC0CKEN,
- SMC1CKEN,
- PCLKEN1_Reserved_14,
- PCLKEN1_Reserved_15,
- PCLKEN1_Reserved_16,
- PCLKEN1_Reserved_17,
- PCLKEN1_Reserved_18,
- PCLKEN1_Reserved_19,
- PCLKEN1_Reserved_20,
- PCLKEN1_Reserved_21,
- PCLKEN1_Reserved_22,
- PCLKEN1_Reserved_23,
- ADCCKEN,
- PCLKEN1_Reserved_25,
- PWM0CKEN,
- PWM1CKEN,
- PCLKEN1_Reserved_28,
- PCLKEN1_Reserved_29,
- PCLKEN1_Reserved_30,
- PCLKEN1_Reserved_31,
- SYS_IPCLK_CNT
- } E_SYS_IPCLK;
- typedef enum
- {
- USB0_ID_DEVICE,
- USB0_ID_HOST,
- USB0_ID_CNT
- } E_SYS_USB0_ID;
- void rt_hw_interrupt_init(void);
- void rt_hw_interrupt_set_priority(int vector, int priority);
- void rt_hw_interrupt_set_type(int vector, int type);
- rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler, void *param, const char *name);
- void rt_hw_systick_init(void);
- void nu_clock_base_init(void);
- void nu_systick_udelay(uint32_t delay_us);
- void nu_sys_ip_reset(E_SYS_IPRST eIPRstIdx);
- void nu_sys_ipclk_enable(E_SYS_IPCLK eIPClkIdx);
- void nu_sys_ipclk_disable(E_SYS_IPCLK eIPClkIdx);
- E_SYS_USB0_ID nu_sys_usb0_role(void);
- #endif
|