|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Module-private interfaces shared by the board_periph_i2c TUs. More...
Go to the source code of this file.
Enumerations | |
| enum | i2c_devices_const_t : uint32_t { k_i3c_dev_byte_mask = 0xFFU } |
| Byte-lane constants shared across the bus + device TUs. More... | |
Functions | |
| void | priv_i2c_device_register (uint8_t addr_7b, void(*wr)(void *, uint8_t), uint32_t(*rd)(void *, uint8_t *, uint32_t), void(*stop)(void *), void *ctx) |
| Register a device model in the first free bus slot (drop if full). | |
| void | priv_board_i2c_imu_fuel_reset (void) |
| Re-lay the IMU + fuel-gauge register files (block reset path). | |
| void | priv_board_i2c_imu_fuel_register (void) |
| Register the LSM6DSO + MAX17048 devices on the modelled bus. | |
| uint32_t | priv_board_i2c_imu_reads (void) |
| IMU register reads answered this run (report telemetry). | |
Module-private interfaces shared by the board_periph_i2c TUs.
The I3C-in-I2C-mode bus model and its attached device models are one logical module split across two translation units: the controller + GT911 touch model (board_periph_i2c.c) and the LSM6DSO IMU + MAX17048 fuel-gauge devices (board_periph_i2c_devices.c). The bus-side device registry and the device-side reset/register/telemetry entry points cross here.
Definition in file board_periph_i2c_internal.h.
| enum i2c_devices_const_t : uint32_t |
Byte-lane constants shared across the bus + device TUs.
| Enumerator | |
|---|---|
| k_i3c_dev_byte_mask | One-byte mask for register-file lanes. |
Definition at line 28 of file board_periph_i2c_internal.h.
| void priv_board_i2c_imu_fuel_register | ( | void | ) |
Register the LSM6DSO + MAX17048 devices on the modelled bus.
Register the lsm6dso + max17048 devices on the modelled bus; this step is contained within the board periph I2C model and uses bounded caller or module-owned storage.
Register the LSM6DSO + MAX17048 devices on the modelled bus.
Definition at line 353 of file board_periph_i2c_devices.c.
References internal_fuelgauge_read(), internal_fuelgauge_stop(), internal_fuelgauge_write(), internal_lsm6dso_read(), internal_lsm6dso_stop(), internal_lsm6dso_write(), k_lsm6dso_addr_7b, k_max17048_addr_7b, priv_i2c_device_register(), s_fuelgauge, and s_lsm6dso.
Referenced by internal_i3c_reset().
| void priv_board_i2c_imu_fuel_reset | ( | void | ) |
Re-lay the IMU + fuel-gauge register files (block reset path).
Re-lay the imu + fuel-gauge register files (block reset path); this step is contained within the board periph I2C model and uses bounded caller or module-owned storage.
Re-lay the IMU + fuel-gauge register files (block reset path).
Definition at line 345 of file board_periph_i2c_devices.c.
References internal_fuelgauge_seed(), internal_lsm6dso_reset_regs(), s_fuelgauge, and s_lsm6dso.
Referenced by internal_i3c_reset().
| uint32_t priv_board_i2c_imu_reads | ( | void | ) |
IMU register reads answered this run (report telemetry).
| 0 | No IMU read was served. |
Imu register reads answered this run (report telemetry); this step is contained within the board periph I2C model and uses bounded caller or module-owned storage.
IMU register reads answered this run (report telemetry).
Definition at line 370 of file board_periph_i2c_devices.c.
References s_lsm6dso.
Referenced by internal_i3c_report().
| void priv_i2c_device_register | ( | uint8_t | addr_7b, |
| void(* | wr )(void *, uint8_t), | ||
| uint32_t(* | rd )(void *, uint8_t *, uint32_t), | ||
| void(* | stop )(void *), | ||
| void * | ctx ) |
Register a device model in the first free bus slot (drop if full).
| [in] | addr_7b | 7-bit I2C address the device answers. |
| [in] | wr | Write-phase byte sink (register pointer / config). |
| [in] | rd | Read-phase burst source. |
| [in] | stop | STOP-condition notification. |
| [in] | ctx | Device state handed back to every callback. |
ctx outlive the run. addr_7b. Definition at line 280 of file board_periph_i2c.c.
References k_i3c_dev_max, and s_i2c_dev.
Referenced by internal_i3c_reset(), and priv_board_i2c_imu_fuel_register().