/* ************************************************************************************************************ * * function * * name : * * parmeters : * * return : * * note : * * ************************************************************************************************************ */ int gic_init (void) { gic_distributor_init(); gic_cpuif_init(); return 0; }
void init_gic(void) { u32 i; for (i=0; i<GIC_IRQ_NUM; i++) irq_vector[i] = null_irq_hdle; gic_distributor_init(); gic_cpuif_init(); }
/* ************************************************************************************************************ * * function * * name : * * parmeters : * * return : * * note : * * ************************************************************************************************************ */ int arch_interrupt_init (void) { int i; for (i=0; i<GIC_IRQ_NUM; i++) { sunxi_int_handlers[i].m_data = default_isr; } gic_distributor_init(); gic_cpuif_init(); return 0; }
void gic_init(void) { lvaddr_t gic_base = paging_map_device(PIC_BASE, ARM_L1_SECTION_BYTES); pl130_gic_initialize(&gic, (mackerel_addr_t)gic_base + DIST_OFFSET, (mackerel_addr_t)gic_base + CPU_OFFSET); //read GIC configuration gic_config = pl130_gic_ICDICTR_rd(&gic); it_num_lines = pl130_gic_ICDICTR_it_lines_num_extract(gic_config); cpu_number = pl130_gic_ICDICTR_cpu_number_extract(gic_config); sec_extn_implemented = pl130_gic_ICDICTR_TZ_extract(gic_config); gic_cpu_interface_init(); if(hal_cpu_is_bsp()) { gic_distributor_init(); } }