Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
intc_bcm283x.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Jonathan Elliot Peace <jep@alphabetiq.com>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
29
30#ifndef ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_BCM283X_H_
31#define ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_BCM283X_H_
32
33#include <stdint.h>
34
40
42#define BCM283X_ARMC_IRQ_BASE 32U
43
45#define BCM283X_ARMC_IRQ_LIMIT (BCM283X_ARMC_IRQ_BASE + 96U)
46
50#define BCM283X_IRQ_IS_L1(irq) ((irq) < BCM283X_ARMC_IRQ_BASE)
51
56#define BCM283X_IRQ_IS_ARMC(irq) ((irq) >= BCM283X_ARMC_IRQ_BASE && \
57 (irq) < BCM283X_ARMC_IRQ_LIMIT)
58
67#define BCM2836_L1_IRQ_GPU_BIT 8U
68
74#define BCM2836_L1_IRQ_PMU_BIT 9U
75
84
91void bcm2836_l1_intc_irq_enable(unsigned int irq);
92
98void bcm2836_l1_intc_irq_disable(unsigned int irq);
99
108int bcm2836_l1_intc_irq_is_enabled(unsigned int irq);
109
119
128
136void bcm2835_armctrl_ic_irq_enable(unsigned int irq);
137
144void bcm2835_armctrl_ic_irq_disable(unsigned int irq);
145
155
167
169
170#endif /* ZEPHYR_DRIVERS_INTERRUPT_CONTROLLER_INTC_BCM283X_H_ */
void bcm2835_armctrl_ic_irq_disable(unsigned int irq)
Disable an ARMC peripheral IRQ source.
int bcm2836_l1_intc_irq_is_enabled(unsigned int irq)
Query whether an L1 IRQ source is currently enabled.
unsigned int bcm2835_armctrl_ic_irq_get_active(void)
Decode the firing ARMC peripheral IRQ.
void bcm2835_armctrl_ic_init(void)
Initialise the BCM2835 ARMC peripheral interrupt controller.
void bcm2836_l1_intc_irq_enable(unsigned int irq)
Enable an L1 IRQ source.
int bcm2835_armctrl_ic_irq_is_enabled(unsigned int irq)
Query whether an ARMC peripheral IRQ source is enabled.
void bcm2836_l1_intc_irq_disable(unsigned int irq)
Disable an L1 IRQ source.
void bcm2835_armctrl_ic_irq_enable(unsigned int irq)
Enable an ARMC peripheral IRQ source.
unsigned int bcm2836_l1_intc_irq_get_active(void)
Decode the firing L1 IRQ.
void bcm2836_l1_intc_init(void)
Initialise the BCM2836 ARM-local interrupt controller.