SiFli SF32LB52 low-power CPU.
More...
SiFli SF32LB52 low-power CPU.
The LCPU runs the Bluetooth controller from ROM, which the driver configures, patches and calibrates on start. The controller exchanges HCI with the HCPU over byte rings signalled with a pair of doorbells; the LCPU to HCPU ring sits in LPSYS RAM, the HCPU to LCPU one in HCPU RAM reserved for it, whose address the driver hands to the ROM. The HCI transport takes the doorbells and the region from here:
PBL_MEM_REGION(SF32LB52_HPSYS_MBOX_BUF_BASE, SF32LB52_MBOX_BUF_SIZE));
#define PBL_MEM_REGION(_base, _size)
Initializer of a struct pbl_mem_region.
Definition device.h:119
#define PBL_MBOX_CHAN(_ctrl,...)
Initializer of a struct pbl_mbox_chan.
Definition mbox.h:63
#define PBL_RPROC_SF32LB52_DEFINE(sym, _name, _tx_chan, _rx_chan, _mem)
Define and register the LCPU.
Definition sf32lb52.h:55
◆ pbl_rproc_sf32lb52
| struct pbl_rproc_sf32lb52 |
| Data Fields |
|
struct pbl_mem_region |
mem |
HCPU RAM reserved for the HCPU to LCPU ring (memory-region). |
|
struct pbl_rproc |
rproc |
Remote processor. |
|
struct pbl_mbox_chan |
rx_chan |
Doorbell from the LCPU (mboxes entry rx). |
|
struct pbl_mbox_chan |
tx_chan |
Doorbell to the LCPU (mboxes entry tx). |
◆ PBL_RPROC_SF32LB52_DEFINE
| #define PBL_RPROC_SF32LB52_DEFINE |
( |
|
sym, |
|
|
|
_name, |
|
|
|
_tx_chan, |
|
|
|
_rx_chan, |
|
|
|
_mem |
|
) |
| |
Value:
PBL_RPROC_INIT(sym, _name, pbl_rproc_sf32lb52_init, nullptr, &pbl_rproc_sf32lb52_ops), \
.tx_chan = _tx_chan, \
.rx_chan = _rx_chan, \
.mem = _mem, \
}; \
PBL_DEVICE_REGISTER(sym, &sym.
rproc.
dev)
struct pbl_rproc rproc
Remote processor.
Definition sf32lb52.h:32
SF32LB52 LCPU.
Definition sf32lb52.h:30
struct pbl_device dev
Device.
Definition remoteproc.h:55
#define PBL_RPROC_STATE_DEFINE(sym)
Define the state of a remote processor, for providers.
Definition remoteproc.h:67
Define and register the LCPU.
- Parameters
-