34 #define hw_enable__nvi , _hw_nvien
35 #define _hw_nvien(a,...) _hw_nvic_enable(a)
37 #define hwa_enable__nvi , _hwa_nvien
38 #define _hwa_nvien(a,...) _hwa_nvic_enable(hwa,a)
40 #define hw_disable__nvi , _hw_nvids
41 #define _hw_nvids(a,...) _hw_nvic_enable(a)
43 #define hwa_disable__nvi , _hwa_nvids
44 #define _hwa_nvids(a,...) _hwa_nvic_enable(hwa,a)
47 HW_INLINE
void _hw_nvic_enable ( uint8_t v )
52 _hw_write_m(nvic, iser1, (1UL<<(v-32)), (1UL<<(v-32)));
54 _hw_write_m(nvic, iser2, (1UL<<(v-64)), (1UL<<(v-64)));
56 HWA_E(HW_EM_X([nvica2.h:_hw_nvic_enable()]interrupt not supported));
59 HW_INLINE
void _hwa_nvic_enable ( hwa_t *
hwa, uint8_t v )
68 HWA_E(HW_EM_X([nvica2.h:_hwa___nvic_enable()]interrupt not supported));
71 HW_INLINE
void _hw_nvic_disable ( uint8_t v )
76 _hw_write_m(nvic, icer1, (1UL<<(v-32)), (1UL<<(v-32)));
78 _hw_write_m(nvic, icer2, (1UL<<(v-64)), (1UL<<(v-64)));
80 HWA_E(HW_EM_X([nvica2.h:_hw_nvic_disable()]interrupt not supported));
83 HW_INLINE
void _hwa_nvic_disable ( hwa_t *
hwa, uint8_t v )
92 HWA_E(HW_EM_X([nvica2.h:_hwa___nvic_disable()]interrupt not supported));
105 #define hw_clear__nvi , _hw_clrnvi
106 #define _hw_clrnvi(a,...) _hw_nvic_clear(a) HW_EOL(__VA_ARGS__)
109 HW_INLINE
void _hw_nvic_clear ( uint8_t v )
114 _hw_write_m(nvic, icpr1, (1UL<<(v-32)), (1UL<<(v-32)));
116 _hw_write_m(nvic, icpr2, (1UL<<(v-64)), (1UL<<(v-64)));
118 HWA_E(HW_EM_X([nvica2.h:_hw_nvic_clear()]interrupt not supported));
128 #define _hwa_setup__nvica(o,a) \
129 _hwa_setup_r( o, iser0 ); \
130 _hwa_setup_r( o, iser1 ); \
131 _hwa_setup_r( o, iser2 ); \
132 _hwa_setup_r( o, icer0 ); \
133 _hwa_setup_r( o, icer1 ); \
134 _hwa_setup_r( o, icer2 ); \
136 #define _hwa_init__nvica(o,a) \
137 _hwa_init_r( o, iser0, 0x00000000 ); \
138 _hwa_init_r( o, iser1, 0x00000000 ); \
139 _hwa_init_r( o, iser2, 0x00000000 ); \
140 _hwa_init_r( o, icer0, 0x00000000 ); \
141 _hwa_init_r( o, icer1, 0x00000000 ); \
142 _hwa_init_r( o, icer2, 0x00000000 ); \
144 #define _hwa_commit__nvica(o,a) \
145 _hwa_commit_r( o, iser0 ); \
146 _hwa_commit_r( o, iser1 ); \
147 _hwa_commit_r( o, iser2 ); \
148 _hwa_commit_r( o, icer0 ); \
149 _hwa_commit_r( o, icer1 ); \
150 _hwa_commit_r( o, icer2 )