Lines Matching +full:gic +full:- +full:timer
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
8 # error Please include asm/mips-cps.h rather than asm/mips-gic.h
16 /* The base address of the GIC registers */
19 /* Offsets from the GIC base address to various control blocks */
29 /* For read-only shared registers */
31 CPS_ACCESSOR_RO(gic, sz, MIPS_GIC_SHARED_OFS + off, name) \
32 CPS_ACCESSOR_RO(gic, sz, MIPS_GIC_REDIR_OFS + off, redir_##name)
34 /* For read-write shared registers */
36 CPS_ACCESSOR_RW(gic, sz, MIPS_GIC_SHARED_OFS + off, name) \
37 CPS_ACCESSOR_RW(gic, sz, MIPS_GIC_REDIR_OFS + off, redir_##name)
39 /* For read-only local registers */
41 CPS_ACCESSOR_RO(gic, sz, MIPS_GIC_LOCAL_OFS + off, vl_##name) \
42 CPS_ACCESSOR_RO(gic, sz, MIPS_GIC_REDIR_OFS + off, vo_##name)
44 /* For read-write local registers */
46 CPS_ACCESSOR_RW(gic, sz, MIPS_GIC_LOCAL_OFS + off, vl_##name) \
47 CPS_ACCESSOR_RW(gic, sz, MIPS_GIC_REDIR_OFS + off, vo_##name)
49 /* For read-only shared per-interrupt registers */
62 /* For read-write shared per-interrupt registers */
81 /* For read-only local per-interrupt registers */
88 /* For read-write local per-interrupt registers */
95 /* For read-only shared bit-per-interrupt registers */
118 /* For read-write shared bit-per-interrupt registers */
167 /* For read-only local bit-per-interrupt registers */
174 /* For read-write local bit-per-interrupt registers */
181 /* GIC_SH_CONFIG - Information about the GIC configuration */
188 /* GIC_SH_COUNTER - Shared global counter value */
193 /* GIC_SH_POL_* - Configures interrupt polarity */
197 #define GIC_POL_FALLING_EDGE 0 /* when single-edge triggered */
198 #define GIC_POL_RISING_EDGE 1 /* when single-edge triggered */
200 /* GIC_SH_TRIG_* - Configures interrupts to be edge or level triggered */
205 /* GIC_SH_DUAL_* - Configures whether interrupts trigger on both edges */
207 #define GIC_DUAL_SINGLE 0 /* when edge-triggered */
208 #define GIC_DUAL_DUAL 1 /* when edge-triggered */
210 /* GIC_SH_WEDGE - Write an 'edge', ie. trigger an interrupt */
215 /* GIC_SH_RMASK_* - Reset/clear shared interrupt mask bits */
218 /* GIC_SH_SMASK_* - Set shared interrupt mask bits */
221 /* GIC_SH_MASK_* - Read the current shared interrupt mask */
224 /* GIC_SH_PEND_* - Read currently pending shared interrupts */
227 /* GIC_SH_MAPx_PIN - Map shared interrupts to a particular CPU pin */
233 /* GIC_SH_MAPx_VP - Map shared interrupts to a particular Virtual Processor */
236 /* GIC_Vx_CTL - VP-level interrupt control */
244 /* GIC_Vx_PEND - Read currently pending local interrupts */
247 /* GIC_Vx_MASK - Read the current local interrupt mask */
250 /* GIC_Vx_RMASK - Reset/clear local interrupt mask bits */
253 /* GIC_Vx_SMASK - Set local interrupt mask bits */
256 /* GIC_Vx_*_MAP - Route local interrupts to the desired pins */
259 /* GIC_Vx_WD_MAP - Route the local watchdog timer interrupt */
262 /* GIC_Vx_COMPARE_MAP - Route the local count/compare interrupt */
265 /* GIC_Vx_TIMER_MAP - Route the local CPU timer (cp0 count/compare) interrupt */
268 /* GIC_Vx_FDC_MAP - Route the local fast debug channel interrupt */
271 /* GIC_Vx_PERFCTR_MAP - Route the local performance counter interrupt */
274 /* GIC_Vx_SWINT0_MAP - Route the local software interrupt 0 */
277 /* GIC_Vx_SWINT1_MAP - Route the local software interrupt 1 */
280 /* GIC_Vx_OTHER - Configure access to other Virtual Processor registers */
284 /* GIC_Vx_IDENT - Retrieve the local Virtual Processor's ID */
288 /* GIC_Vx_COMPARE - Value to compare with GIC_SH_COUNTER */
291 /* GIC_Vx_EIC_SHADOW_SET_BASE - Set shadow register set for each interrupt */
295 * enum mips_gic_local_interrupt - GIC local interrupts
296 * @GIC_LOCAL_INT_WD: GIC watchdog timer interrupt
297 * @GIC_LOCAL_INT_COMPARE: GIC count/compare interrupt
305 * Enumerates interrupts provided by the GIC that are local to a VP.
319 * mips_gic_present() - Determine whether a GIC is present
321 * Determines whether a MIPS Global Interrupt Controller (GIC) is present in
324 * Return true if a GIC is present, else false.
332 * mips_gic_vx_map_reg() - Return GIC_Vx_<intr>_MAP register offset
333 * @intr: A GIC local interrupt
336 * within the block of GIC map registers. This is almost the same as the order
349 /* WD, Compare & Timer are 1:1 */ in mips_gic_vx_map_reg()
353 /* FDC moves to after Timer... */ in mips_gic_vx_map_reg()
362 * gic_get_c0_compare_int() - Return cp0 count/compare interrupt virq
365 * interrupt, which may be routed via the GIC.
372 * gic_get_c0_perfcount_int() - Return performance counter interrupt virq
375 * which may be routed via the GIC.
382 * gic_get_c0_fdc_int() - Return fast debug channel interrupt virq
385 * which may be routed via the GIC.