Lines Matching refs:ppc
124 typedef void PerPPCFunction(IoTKitSecCtlPPC *ppc);
267 static void iotkit_secctl_update_ppc_ap(IoTKitSecCtlPPC *ppc) in iotkit_secctl_update_ppc_ap() argument
271 for (i = 0; i < ppc->numports; i++) { in iotkit_secctl_update_ppc_ap()
274 if (extract32(ppc->ns, i, 1)) { in iotkit_secctl_update_ppc_ap()
275 v = extract32(ppc->nsp, i, 1); in iotkit_secctl_update_ppc_ap()
277 v = extract32(ppc->sp, i, 1); in iotkit_secctl_update_ppc_ap()
279 qemu_set_irq(ppc->ap[i], v); in iotkit_secctl_update_ppc_ap()
283 static void iotkit_secctl_ppc_ns_write(IoTKitSecCtlPPC *ppc, uint32_t value) in iotkit_secctl_ppc_ns_write() argument
287 ppc->ns = value & MAKE_64BIT_MASK(0, ppc->numports); in iotkit_secctl_ppc_ns_write()
288 for (i = 0; i < ppc->numports; i++) { in iotkit_secctl_ppc_ns_write()
289 qemu_set_irq(ppc->nonsec[i], extract32(ppc->ns, i, 1)); in iotkit_secctl_ppc_ns_write()
291 iotkit_secctl_update_ppc_ap(ppc); in iotkit_secctl_ppc_ns_write()
294 static void iotkit_secctl_ppc_sp_write(IoTKitSecCtlPPC *ppc, uint32_t value) in iotkit_secctl_ppc_sp_write() argument
296 ppc->sp = value & MAKE_64BIT_MASK(0, ppc->numports); in iotkit_secctl_ppc_sp_write()
297 iotkit_secctl_update_ppc_ap(ppc); in iotkit_secctl_ppc_sp_write()
300 static void iotkit_secctl_ppc_nsp_write(IoTKitSecCtlPPC *ppc, uint32_t value) in iotkit_secctl_ppc_nsp_write() argument
302 ppc->nsp = value & MAKE_64BIT_MASK(0, ppc->numports); in iotkit_secctl_ppc_nsp_write()
303 iotkit_secctl_update_ppc_ap(ppc); in iotkit_secctl_ppc_nsp_write()
306 static void iotkit_secctl_ppc_update_irq_clear(IoTKitSecCtlPPC *ppc) in iotkit_secctl_ppc_update_irq_clear() argument
308 uint32_t value = ppc->parent->secppcintstat; in iotkit_secctl_ppc_update_irq_clear()
310 qemu_set_irq(ppc->irq_clear, extract32(value, ppc->irq_bit_offset, 1)); in iotkit_secctl_ppc_update_irq_clear()
313 static void iotkit_secctl_ppc_update_irq_enable(IoTKitSecCtlPPC *ppc) in iotkit_secctl_ppc_update_irq_enable() argument
315 uint32_t value = ppc->parent->secppcinten; in iotkit_secctl_ppc_update_irq_enable()
317 qemu_set_irq(ppc->irq_enable, extract32(value, ppc->irq_bit_offset, 1)); in iotkit_secctl_ppc_update_irq_enable()
343 IoTKitSecCtlPPC *ppc; in iotkit_secctl_s_write() local
381 ppc = &s->ahbexp[offset_to_ppc_idx(offset)]; in iotkit_secctl_s_write()
382 iotkit_secctl_ppc_ns_write(ppc, value); in iotkit_secctl_s_write()
386 ppc = &s->apb[offset_to_ppc_idx(offset)]; in iotkit_secctl_s_write()
387 iotkit_secctl_ppc_ns_write(ppc, value); in iotkit_secctl_s_write()
393 ppc = &s->apbexp[offset_to_ppc_idx(offset)]; in iotkit_secctl_s_write()
394 iotkit_secctl_ppc_ns_write(ppc, value); in iotkit_secctl_s_write()
400 ppc = &s->ahbexp[offset_to_ppc_idx(offset)]; in iotkit_secctl_s_write()
401 iotkit_secctl_ppc_sp_write(ppc, value); in iotkit_secctl_s_write()
405 ppc = &s->apb[offset_to_ppc_idx(offset)]; in iotkit_secctl_s_write()
406 iotkit_secctl_ppc_sp_write(ppc, value); in iotkit_secctl_s_write()
412 ppc = &s->apbexp[offset_to_ppc_idx(offset)]; in iotkit_secctl_s_write()
413 iotkit_secctl_ppc_sp_write(ppc, value); in iotkit_secctl_s_write()
533 IoTKitSecCtlPPC *ppc; in iotkit_secctl_ns_write() local
549 ppc = &s->ahbexp[offset_to_ppc_idx(offset)]; in iotkit_secctl_ns_write()
550 iotkit_secctl_ppc_nsp_write(ppc, value); in iotkit_secctl_ns_write()
554 ppc = &s->apb[offset_to_ppc_idx(offset)]; in iotkit_secctl_ns_write()
555 iotkit_secctl_ppc_nsp_write(ppc, value); in iotkit_secctl_ns_write()
561 ppc = &s->apbexp[offset_to_ppc_idx(offset)]; in iotkit_secctl_ns_write()
562 iotkit_secctl_ppc_nsp_write(ppc, value); in iotkit_secctl_ns_write()
611 static void iotkit_secctl_reset_ppc(IoTKitSecCtlPPC *ppc) in iotkit_secctl_reset_ppc() argument
613 ppc->ns = 0; in iotkit_secctl_reset_ppc()
614 ppc->sp = 0; in iotkit_secctl_reset_ppc()
615 ppc->nsp = 0; in iotkit_secctl_reset_ppc()
655 IoTKitSecCtlPPC *ppc = opaque; in iotkit_secctl_ppc_irqstatus() local
656 IoTKitSecCtl *s = IOTKIT_SECCTL(ppc->parent); in iotkit_secctl_ppc_irqstatus()
657 int irqbit = ppc->irq_bit_offset + n; in iotkit_secctl_ppc_irqstatus()
663 IoTKitSecCtlPPC *ppc, in iotkit_secctl_init_ppc() argument
671 ppc->numports = numports; in iotkit_secctl_init_ppc()
672 ppc->irq_bit_offset = irq_bit_offset; in iotkit_secctl_init_ppc()
673 ppc->parent = s; in iotkit_secctl_init_ppc()
676 qdev_init_gpio_out_named(dev, ppc->nonsec, gpioname, numports); in iotkit_secctl_init_ppc()
679 qdev_init_gpio_out_named(dev, ppc->ap, gpioname, numports); in iotkit_secctl_init_ppc()
682 qdev_init_gpio_out_named(dev, &ppc->irq_enable, gpioname, 1); in iotkit_secctl_init_ppc()
685 qdev_init_gpio_out_named(dev, &ppc->irq_clear, gpioname, 1); in iotkit_secctl_init_ppc()
689 ppc, gpioname, 1); in iotkit_secctl_init_ppc()
706 IoTKitSecCtlPPC *ppc = &s->apbexp[i]; in iotkit_secctl_init() local
708 iotkit_secctl_init_ppc(s, ppc, ppcname, IOTS_PPC_NUM_PORTS, 4 + i); in iotkit_secctl_init()
712 IoTKitSecCtlPPC *ppc = &s->ahbexp[i]; in iotkit_secctl_init() local
714 iotkit_secctl_init_ppc(s, ppc, ppcname, IOTS_PPC_NUM_PORTS, 20 + i); in iotkit_secctl_init()