Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/broadcom/bcm2835/bcm2835_mbox.c
Show First 20 Lines • Show All 95 Lines • ▼ Show 20 Lines | static struct ofw_compat_data compat_data[] = { | ||||
{"broadcom,bcm2835-mbox", 1}, | {"broadcom,bcm2835-mbox", 1}, | ||||
{"brcm,bcm2835-mbox", 1}, | {"brcm,bcm2835-mbox", 1}, | ||||
{NULL, 0} | {NULL, 0} | ||||
}; | }; | ||||
static int | static int | ||||
bcm_mbox_read_msg(struct bcm_mbox_softc *sc, int *ochan) | bcm_mbox_read_msg(struct bcm_mbox_softc *sc, int *ochan) | ||||
{ | { | ||||
#ifdef DEBUG | |||||
uint32_t data; | uint32_t data; | ||||
#endif | |||||
uint32_t msg; | uint32_t msg; | ||||
int chan; | int chan; | ||||
msg = mbox_read_4(sc, REG_READ); | msg = mbox_read_4(sc, REG_READ); | ||||
dprintf("bcm_mbox_intr: raw data %08x\n", msg); | dprintf("bcm_mbox_intr: raw data %08x\n", msg); | ||||
chan = MBOX_CHAN(msg); | chan = MBOX_CHAN(msg); | ||||
#ifdef DEBUG | |||||
data = MBOX_DATA(msg); | data = MBOX_DATA(msg); | ||||
#endif | |||||
if (sc->msg[chan]) { | if (sc->msg[chan]) { | ||||
printf("bcm_mbox_intr: channel %d oveflow\n", chan); | printf("bcm_mbox_intr: channel %d oveflow\n", chan); | ||||
return (1); | return (1); | ||||
} | } | ||||
dprintf("bcm_mbox_intr: chan %d, data %08x\n", chan, data); | dprintf("bcm_mbox_intr: chan %d, data %08x\n", chan, data); | ||||
sc->msg[chan] = msg; | sc->msg[chan] = msg; | ||||
if (ochan != NULL) | if (ochan != NULL) | ||||
▲ Show 20 Lines • Show All 417 Lines • Show Last 20 Lines |