U32 NX_CLKGEN_GetPhysicalAddress( U32 ModuleIndex ) { static const U32 PhysicalAddr[] = { PHY_BASEADDR_LIST( CLKGEN ) }; // PHY_BASEADDR_CLKGEN_MODULE NX_CASSERT( NUMBER_OF_CLKGEN_MODULE == (sizeof(PhysicalAddr)/sizeof(PhysicalAddr[0])) ); NX_ASSERT( NUMBER_OF_CLKGEN_MODULE > ModuleIndex ); return (U32)PhysicalAddr[ModuleIndex]; }
//------------------------------------------------------------------------------ U32 NX_CRYPTO_GetInterruptNumber( U32 ModuleIndex ) { const U32 InterruptNumber[] = { INTNUM_LIST( CRYPTO ) }; NX_CASSERT( NUMBER_OF_CRYPTO_MODULE == (sizeof(InterruptNumber)/sizeof(InterruptNumber[0])) ); NX_ASSERT( NUMBER_OF_CRYPTO_MODULE > ModuleIndex ); return InterruptNumber[ModuleIndex]; }
/** * @brief Get a interrupt number for the interrupt controller. * @param[in] 0 an index of module. * @return A interrupt number.\n * It is equal to INTNUM_OF_USB20OTG?_MODULE in <nx_chip.h>. */ U32 NX_USB20OTG_GetInterruptNumber( ) { const U32 InterruptNumber[] = { INTNUM_LIST( USB20OTG ) }; NX_CASSERT( NUMBER_OF_USB20OTG_MODULE == (sizeof(InterruptNumber)/sizeof(InterruptNumber[0])) ); NX_ASSERT( NUMBER_OF_USB20OTG_MODULE > 0 ); // NX_ASSERT( INTNUM_OF_USB20OTG0_MODULE == InterruptNumber[0] ); // ... return InterruptNumber[0]; }
/** * @brief Get module's reset index. * @return Module's reset index.\n * It is equal to RESETINDEX_OF_LVDS?_MODULE_i_nRST in <nx_chip.h>. * @see NX_RSTCON_Enter, * NX_RSTCON_Leave, * NX_RSTCON_GetStatus */ U32 NX_LVDS_GetResetNumber ( U32 ModuleIndex ) { const U32 ResetNumber[] = { RESETINDEX_LIST( LVDS, I_RESETN ) }; NX_CASSERT( NUMBER_OF_LVDS_MODULE == (sizeof(ResetNumber)/sizeof(ResetNumber[0])) ); NX_ASSERT( NUMBER_OF_LVDS_MODULE > ModuleIndex ); return ResetNumber[ModuleIndex]; }
/** * @brief Get module's reset index. * @return Module's reset index.\n * It is equal to RESETINDEX_OF_USB20OTG?_MODULE_i_nRST in <nx_chip.h>. * @see NX_RSTCON_Enter, * NX_RSTCON_Leave, * NX_RSTCON_GetStatus */ U32 NX_USB20OTG_GetResetNumber ( ) { const U32 ResetNumber[] = { RESETINDEX_LIST( USB20OTG, i_nRST ) }; NX_CASSERT( NUMBER_OF_USB20OTG_MODULE == (sizeof(ResetNumber)/sizeof(ResetNumber[0])) ); NX_ASSERT( NUMBER_OF_USB20OTG_MODULE > 0 ); return ResetNumber[0]; }
/** * @brief Get module's reset index. * @return Module's reset index.\n * It is equal to RESETINDEX_OF_CRYPTO?_MODULE_i_nRST in <nx_chip.h>. * @see NX_RSTCON_Enter, * NX_RSTCON_Leave, * NX_RSTCON_GetStatus */ U32 NX_CRYPTO_GetResetNumber ( U32 ModuleIndex ) { const U32 ResetNumber[] = { RESETINDEX_LIST( CRYPTO, i_nRST ) }; NX_CASSERT( NUMBER_OF_CRYPTO_MODULE == (sizeof(ResetNumber)/sizeof(ResetNumber[0])) ); NX_ASSERT( NUMBER_OF_CRYPTO_MODULE > ModuleIndex ); return ResetNumber[ModuleIndex]; }
/** * @brief Get module's reset index. * @return Module's reset index. * It is equal to RESETINDEX_OF_TIMER?_MODULE_i_nRST in <nx_chip.h>. */ U32 NX_TIMER_GetResetNumber ( U32 ModuleIndex ) { const U32 ResetNumber[] = { RESETINDEX_LIST( TIMER, PRESETn ) }; NX_CASSERT( NUMBER_OF_TIMER_MODULE == (sizeof(ResetNumber)/sizeof(ResetNumber[0])) ); NX_ASSERT( NUMBER_OF_TIMER_MODULE > ModuleIndex ); return ResetNumber[ModuleIndex]; }
U32 NX_DISPTOP_CLKGEN_GetPhysicalAddress( U32 ModuleIndex ) { static const U32 PhysicalAddr[] = { PHY_BASEADDR_LIST( DISPTOP_CLKGEN ) }; // PHY_BASEADDR_DISPTOP_CLKGEN_MODULE NX_CASSERT( NUMBER_OF_DISPTOP_CLKGEN_MODULE == (sizeof(PhysicalAddr)/sizeof(PhysicalAddr[0])) ); NX_ASSERT( NUMBER_OF_DISPTOP_CLKGEN_MODULE > ModuleIndex ); //NX_ASSERT( PHY_BASEADDR_CLKGEN0_MODULE == PhysicalAddr[0] ); //NX_ASSERT( PHY_BASEADDR_CLKGEN1_MODULE == PhysicalAddr[1] ); //NX_ASSERT( PHY_BASEADDR_CLKGEN2_MODULE == PhysicalAddr[2] ); // ... return (U32)PhysicalAddr[ModuleIndex]; }