Lines Matching +full:bcm2835 +full:- +full:firmware
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
43 #include <arm/broadcom/bcm2835/bcm2835_firmware.h>
44 #include <arm/broadcom/bcm2835/bcm2835_mbox.h>
45 #include <arm/broadcom/bcm2835/bcm2835_mbox_prop.h>
46 #include <arm/broadcom/bcm2835/bcm2835_vcbus.h>
54 {"raspberrypi,bcm2835-firmware", 1},
66 if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) in bcm2835_firmware_probe()
69 device_set_desc(dev, "BCM2835 Firmware"); in bcm2835_firmware_probe()
91 sc->sc_mbox = mbox; in bcm2835_firmware_attach()
101 "Firmware revision"); in bcm2835_firmware_attach()
104 sc->sc.flags |= SB_FLAG_NO_RANGES; in bcm2835_firmware_attach()
120 * The message is processed in 32-bit chunks so must be a multiple in bcm2835_firmware_property()
121 * of 32-bits. in bcm2835_firmware_property()
123 if ((len & (sizeof(uint32_t) - 1)) != 0) in bcm2835_firmware_property()
130 msg_hdr->hdr.buf_size = msg_len; in bcm2835_firmware_property()
131 msg_hdr->hdr.code = BCM2835_MBOX_CODE_REQ; in bcm2835_firmware_property()
132 msg_hdr->tag_hdr.tag = prop; in bcm2835_firmware_property()
133 msg_hdr->tag_hdr.val_buf_size = len; in bcm2835_firmware_property()
134 memcpy(msg_hdr->data, data, len); in bcm2835_firmware_property()
135 msg_hdr->data[len / sizeof(uint32_t)] = 0; in bcm2835_firmware_property()
139 memcpy(data, msg_hdr->data, len); in bcm2835_firmware_property()
154 if (bcm2835_firmware_property(sc->sc.dev, in sysctl_bcm2835_firmware_get_revision()
159 if (err || !req->newptr) /* error || read request */ in sysctl_bcm2835_firmware_get_revision()