start adding GIC and GTP driver
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
|
||||
use core::panic::PanicInfo;
|
||||
use cortex_ar::asm::nop;
|
||||
use zynq7000::{hal::gic::Gic, pac::gic::{Gicc, Gicd}};
|
||||
use zynq7000_rt as _;
|
||||
|
||||
/// One user LED is MIO7
|
||||
@ -19,6 +20,11 @@ pub extern "C" fn boot_core(cpu_id: u32) -> ! {
|
||||
|
||||
#[unsafe(export_name = "main")]
|
||||
pub fn main() -> ! {
|
||||
let mut gic = Gic::new(unsafe { Gicc::new_mmio() }, unsafe { Gicd::new_mmio() });
|
||||
gic.enable_all_interrupts();
|
||||
gic.set_all_spi_interrupt_targets_cpu0();
|
||||
gic.enable();
|
||||
|
||||
let mut gpio = unsafe { zynq7000::pac::gpio::Gpio::new_mmio() };
|
||||
gpio.modify_dirm_0(|v| v | ZEDBOARD_LED_MASK);
|
||||
gpio.modify_out_en_0(|v| v | ZEDBOARD_LED_MASK);
|
||||
@ -30,6 +36,12 @@ pub fn main() -> ! {
|
||||
}
|
||||
}
|
||||
|
||||
#[unsafe(no_mangle)]
|
||||
pub extern "C" fn _irq_handler() {
|
||||
let mut gic = Gic::new(unsafe { Gicc::new_mmio() }, unsafe { Gicd::new_mmio() });
|
||||
|
||||
}
|
||||
|
||||
/// Panic handler
|
||||
#[panic_handler]
|
||||
fn panic(_info: &PanicInfo) -> ! {
|
||||
|
Reference in New Issue
Block a user