Lines Matching +full:omap4 +full:- +full:mailbox
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
80 #define TI_MBOX_LOCK(sc) mtx_lock(&(sc)->sc_mtx)
81 #define TI_MBOX_UNLOCK(sc) mtx_unlock(&(sc)->sc_mtx)
106 return (bus_space_read_4(sc->sc_bt, sc->sc_bh, reg)); in ti_mbox_reg_read()
112 bus_space_write_4(sc->sc_bt, sc->sc_bh, reg, val); in ti_mbox_reg_write()
122 if (ofw_bus_is_compatible(dev, "ti,omap4-mailbox")) { in ti_mbox_probe()
123 device_set_desc(dev, "TI System Mailbox"); in ti_mbox_probe()
144 mtx_init(&sc->sc_mtx, "TI mbox", NULL, MTX_DEF); in ti_mbox_attach()
145 sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, in ti_mbox_attach()
147 if (sc->sc_mem_res == NULL) { in ti_mbox_attach()
151 sc->sc_bt = rman_get_bustag(sc->sc_mem_res); in ti_mbox_attach()
152 sc->sc_bh = rman_get_bushandle(sc->sc_mem_res); in ti_mbox_attach()
154 sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, in ti_mbox_attach()
156 if (sc->sc_irq_res == NULL) { in ti_mbox_attach()
161 if (bus_setup_intr(dev, sc->sc_irq_res, INTR_MPSAFE | INTR_TYPE_MISC, in ti_mbox_attach()
162 NULL, ti_mbox_intr, sc, &sc->sc_intr) != 0) { in ti_mbox_attach()
177 delay--; in ti_mbox_attach()
209 if (sc->sc_intr) in ti_mbox_detach()
210 bus_teardown_intr(dev, sc->sc_irq_res, sc->sc_intr); in ti_mbox_detach()
211 if (sc->sc_irq_res) in ti_mbox_detach()
212 bus_release_resource(dev, SYS_RES_IRQ, rman_get_rid(sc->sc_irq_res), in ti_mbox_detach()
213 sc->sc_irq_res); in ti_mbox_detach()
214 if (sc->sc_mem_res) in ti_mbox_detach()
215 bus_release_resource(dev, SYS_RES_MEMORY, rman_get_rid(sc->sc_mem_res), in ti_mbox_detach()
216 sc->sc_mem_res); in ti_mbox_detach()
251 limit--) { in ti_mbox_write()