summaryrefslogtreecommitdiff
path: root/doc/develop
diff options
context:
space:
mode:
authorCasey Connolly <[email protected]>2025-07-14 15:13:14 +0200
committerTom Rini <[email protected]>2025-10-30 11:04:51 -0600
commitb95df6ed8c21aee71b4859d9d88c6a6e32c641c8 (patch)
tree152e74530c0a4529018ac7bc6fb7703fcf9452ba /doc/develop
parentf3e73dc94b4e9e373fd90d74a69ded9a5bb28f4d (diff)
misc: introduce Qcom GENI wrapper
Qualcomm peripherals like UART, SPI, I2C, etc are all exposed under a common GENI Serial Engine wrapper device. Replace the stub driver we use for this currently with a full-on misc device and implement support for loading peripheral firmware. Each of the peripherals has it's own protocol-specific firmware, this is stored on the internal storage of the device with a well-known partition type GUID. To support this, GENI will bind peripherals in two stages. First the ones that already have firmware loaded (such as the serial port) are bound in the typical way. But devices that require firmware loading are deferred until EVT_LAST_STAGE_INIT. At this point we can be sure that the storage device is available, so we load the firmware and then bind and probe the remaining children. Child devices are expected to determine if firmware loading is necessary and call qcom_geni_load_firmware(). Since Linux currently doesn't support loading firmware (and firmware may not be available), we probe all GENI peripherals to ensure that they always load firmware if necessary. Signed-off-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
Diffstat (limited to 'doc/develop')
0 files changed, 0 insertions, 0 deletions