Lines Matching +full:pic +full:- +full:no +full:- +full:reset
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
83 { -1, 0 }
87 bus_space_read_4((_sc)->aintc_bst, (_sc)->aintc_bsh, (reg))
89 bus_space_write_4((_sc)->aintc_bst, (_sc)->aintc_bsh, (reg), (val))
93 {"ti,am33xx-intc", 1},
94 {"ti,omap2-intc", 1},
128 device_printf(sc->sc_dev, in ti_aintc_intr()
134 /* Only level-sensitive interrupts detection is supported. */ in ti_aintc_intr()
136 if (intr_isrc_dispatch(&sc->aintc_isrcs[irq].tai_isrc, in ti_aintc_intr()
137 curthread->td_intr_frame) != 0) { in ti_aintc_intr()
140 device_printf(sc->sc_dev, "Stray irq %u disabled\n", irq); in ti_aintc_intr()
150 u_int irq = ((struct ti_aintc_irqsrc *)isrc)->tai_irq; in ti_aintc_enable_intr()
160 u_int irq = ((struct ti_aintc_irqsrc *)isrc)->tai_irq; in ti_aintc_disable_intr()
173 if (data->type != INTR_MAP_DATA_FDT) in ti_aintc_map_intr()
177 if (daf->ncells != 1 || daf->cells[0] >= INTC_NIRQS) in ti_aintc_map_intr()
181 *isrcp = &sc->aintc_isrcs[daf->cells[0]].tai_isrc; in ti_aintc_map_intr()
188 u_int irq = ((struct ti_aintc_irqsrc *)isrc)->tai_irq; in ti_aintc_pre_ithread()
212 struct intr_pic *pic; in ti_aintc_pic_attach() local
218 name = device_get_nameunit(sc->sc_dev); in ti_aintc_pic_attach()
220 sc->aintc_isrcs[irq].tai_irq = irq; in ti_aintc_pic_attach()
222 error = intr_isrc_register(&sc->aintc_isrcs[irq].tai_isrc, in ti_aintc_pic_attach()
223 sc->sc_dev, 0, "%s,%u", name, irq); in ti_aintc_pic_attach()
228 xref = OF_xref_from_node(ofw_bus_get_node(sc->sc_dev)); in ti_aintc_pic_attach()
229 pic = intr_pic_register(sc->sc_dev, xref); in ti_aintc_pic_attach()
230 if (pic == NULL) in ti_aintc_pic_attach()
233 return (intr_pic_claim_root(sc->sc_dev, xref, ti_aintc_intr, sc, in ti_aintc_pic_attach()
243 if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) in ti_aintc_probe()
256 sc->sc_dev = dev; in ti_aintc_attach()
258 if (bus_alloc_resources(dev, ti_aintc_spec, sc->aintc_res)) { in ti_aintc_attach()
263 sc->aintc_bst = rman_get_bustag(sc->aintc_res[0]); in ti_aintc_attach()
264 sc->aintc_bsh = rman_get_bushandle(sc->aintc_res[0]); in ti_aintc_attach()
272 /* Wait for reset to complete */ in ti_aintc_attach()
279 device_printf(dev, "could not attach PIC\n"); in ti_aintc_attach()