ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_i3c_i2c_regs.h File Reference

IIC_B (I3C-based I2C) register layout for the Renesas RA8D2. More...

#include <stdint.h>
#include "ra8_attributes.h"
Include dependency graph for ra8_i3c_i2c_regs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  r_i3c_i2c_regs_t
 Memory-mapped register block for one IIC_B / I3C channel. More...

Enumerations

enum  ra8_i3c_i2c_addr_t : uintptr_t { k_ra8_i3c_i2c0_base_addr = 0x4035F000UL }
 Hardware base addresses for the I3C / IIC_B block. More...
enum  ra8_i3c_i2c_limits_t : uint16_t { k_ra8_i3c_i2c_channel_count = 1U }
 Channel-count limits. More...
enum  ra8_i3c_i2c_rsv_words_t : uint8_t {
  k_ra8_i3c_i2c_rsv_words_svtdlg_to_stctl = 23U ,
  k_ra8_i3c_i2c_rsv_words_ntdtbp0_to_nibiqp = 8U ,
  k_ra8_i3c_i2c_rsv_words_ntbthctl_to_nrqthc = 10U
}
 Reserved-word array sizes (in 32-bit words) used inside the IIC_B / I3C register block. More...
enum  ra8_i3c_i2c_prts_t : uint8_t { k_ra8_i3c_i2c_prts_prtmd_pos = 0U }
 PRTS field positions (HUM Ch 40.2.1 "PRTS : Protocol Selection" p 2449). More...
enum  ra8_i3c_i2c_cectl_t : uint8_t { k_ra8_i3c_i2c_cectl_clke_pos = 0U }
 CECTL field positions. More...
enum  ra8_i3c_i2c_bctl_t : uint8_t { k_ra8_i3c_i2c_bctl_buse_pos = 31U }
 BCTL field positions. More...
enum  ra8_i3c_i2c_rstctl_t : uint8_t { k_ra8_i3c_i2c_rstctl_ri3crst_pos = 0U }
 RSTCTL field positions. More...
enum  ra8_i3c_i2c_prsst_t : uint8_t {
  k_ra8_i3c_i2c_prsst_crms_pos = 2U ,
  k_ra8_i3c_i2c_prsst_trmd_pos = 4U
}
 PRSST field positions. More...
enum  ra8_i3c_i2c_bfctl_t : uint8_t {
  k_ra8_i3c_i2c_bfctl_male_pos = 0U ,
  k_ra8_i3c_i2c_bfctl_nale_pos = 1U ,
  k_ra8_i3c_i2c_bfctl_scsyne_pos = 8U ,
  k_ra8_i3c_i2c_bfctl_smbs_pos = 12U ,
  k_ra8_i3c_i2c_bfctl_fmpe_pos = 14U
}
 BFCTL field positions. More...
enum  ra8_i3c_i2c_stdbr_t : uint8_t {
  k_ra8_i3c_i2c_stdbr_sbrlo_pos = 0U ,
  k_ra8_i3c_i2c_stdbr_sbrho_pos = 8U
}
 STDBR field positions. More...
enum  ra8_i3c_i2c_ackctl_t : uint8_t {
  k_ra8_i3c_i2c_ackctl_ackt_pos = 1U ,
  k_ra8_i3c_i2c_ackctl_acktwp_pos = 2U
}
 ACKCTL field positions. More...
enum  ra8_i3c_i2c_scstrctl_t : uint8_t { k_ra8_i3c_i2c_scstrctl_rwe_pos = 1U }
 SCSTRCTL field positions. More...
enum  ra8_i3c_i2c_cndctl_t : uint8_t {
  k_ra8_i3c_i2c_cndctl_stcnd_pos = 0U ,
  k_ra8_i3c_i2c_cndctl_srcnd_pos = 1U ,
  k_ra8_i3c_i2c_cndctl_spcnd_pos = 2U
}
 CNDCTL field positions. More...
enum  ra8_i3c_i2c_bst_t : uint8_t {
  k_ra8_i3c_i2c_bst_stcnddf_pos = 0U ,
  k_ra8_i3c_i2c_bst_spcnddf_pos = 1U ,
  k_ra8_i3c_i2c_bst_nackdf_pos = 4U ,
  k_ra8_i3c_i2c_bst_tendf_pos = 8U ,
  k_ra8_i3c_i2c_bst_alf_pos = 16U ,
  k_ra8_i3c_i2c_bst_todf_pos = 20U
}
 BST (Bus Status) field positions. More...
enum  ra8_i3c_i2c_ntst_t : uint8_t {
  k_ra8_i3c_i2c_ntst_tdbef0_pos = 0U ,
  k_ra8_i3c_i2c_ntst_rdbff0_pos = 1U
}
 NTST (Normal Transfer Status) field positions. More...
enum  ra8_i3c_i2c_ntie_t : uint8_t {
  k_ra8_i3c_i2c_ntie_tdbeie0_pos = 0U ,
  k_ra8_i3c_i2c_ntie_rdbfie0_pos = 1U
}
 NTIE (Normal Transfer Interrupt Enable) field positions. More...
enum  ra8_i3c_i2c_bie_t : uint8_t {
  k_ra8_i3c_i2c_bie_nackdie_pos = 4U ,
  k_ra8_i3c_i2c_bie_tendie_pos = 8U ,
  k_ra8_i3c_i2c_bie_alie_pos = 16U ,
  k_ra8_i3c_i2c_bie_todie_pos = 20U
}
 BIE (Bus Interrupt Enable) field positions. More...
enum  ra8_i3c_i2c_bcst_t : uint8_t { k_ra8_i3c_i2c_bcst_bfref_pos = 0U }
 BCST (Bus Condition Status) field positions. More...
enum  ra8_i3c_i2c_mask_t : uint32_t {
  k_ra8_i3c_i2c_msk_prts_prtmd = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_cectl_clke = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_bctl_buse = (uint32_t)(1U << 31U) ,
  k_ra8_i3c_i2c_msk_rstctl_ri3crst = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_bfctl_male = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_bfctl_nale = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_bfctl_scsyne = (uint32_t)(1U << 8U) ,
  k_ra8_i3c_i2c_msk_bfctl_fmpe = (uint32_t)(1U << 14U) ,
  k_ra8_i3c_i2c_msk_ackctl_ackt = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_ackctl_acktwp = (uint32_t)(1U << 2U) ,
  k_ra8_i3c_i2c_msk_scstrctl_rwe = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_cndctl_stcnd = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_cndctl_srcnd = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_cndctl_spcnd = (uint32_t)(1U << 2U) ,
  k_ra8_i3c_i2c_msk_bst_stcnddf = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_bst_spcnddf = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_bst_nackdf = (uint32_t)(1U << 4U) ,
  k_ra8_i3c_i2c_msk_bst_tendf = (uint32_t)(1U << 8U) ,
  k_ra8_i3c_i2c_msk_bst_alf = (uint32_t)(1U << 16U) ,
  k_ra8_i3c_i2c_msk_bst_todf = (uint32_t)(1U << 20U) ,
  k_ra8_i3c_i2c_msk_ntst_tdbef0 = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_ntst_rdbff0 = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_ntie_tdbeie0 = (uint32_t)(1U << 0U) ,
  k_ra8_i3c_i2c_msk_ntie_rdbfie0 = (uint32_t)(1U << 1U) ,
  k_ra8_i3c_i2c_msk_bie_nackdie = (uint32_t)(1U << 4U) ,
  k_ra8_i3c_i2c_msk_bie_tendie = (uint32_t)(1U << 8U) ,
  k_ra8_i3c_i2c_msk_bie_alie = (uint32_t)(1U << 16U) ,
  k_ra8_i3c_i2c_msk_bie_todie = (uint32_t)(1U << 20U) ,
  k_ra8_i3c_i2c_msk_bcst_bfref = (uint32_t)(1U << 0U)
}
 Composite bit masks used by the polling driver. More...

Functions

static volatile r_i3c_i2c_regs_ti3c_i2c_regs (uint8_t channel)
 Get a pointer to the IIC_B / I3C channel channel.

Detailed Description

IIC_B (I3C-based I2C) register layout for the Renesas RA8D2.

Tag
[Ring 3 / HAL] {World: NS}

One I3C channel at base 0x4035_F000 – the unified I2C/I3C peripheral. In I2C-only mode this is what the RA8D2 HUM calls the "IIC_B" controller driver and what FSP exports as r_iic_b_master.

This header is hand-derived from the RA8D2 Hardware User's Manual Chapter 40 "I3C Bus Interface (I3C)" register descriptions (HUM Ch 40.2, p 2452-2701) and cross-checked against the FSP RA8D1 CMSIS device header R7FA8D1BH.h (the closest-cousin part with a matching peripheral block).

Only the registers we exercise from the IIC_B controller polling driver are typed here – the full I3C dynamic-address table, IBI queue, and high-priority command queue are stubbed as volatile uint32_t holes so the struct still has the correct overall size.

Definition in file ra8_i3c_i2c_regs.h.

Enumeration Type Documentation

◆ ra8_i3c_i2c_ackctl_t

enum ra8_i3c_i2c_ackctl_t : uint8_t

ACKCTL field positions.

Enumerator
k_ra8_i3c_i2c_ackctl_ackt_pos 

HUM 40.2 ACKCTL.ACKT, p 2468.

k_ra8_i3c_i2c_ackctl_acktwp_pos 

HUM 40.2 ACKCTL.ACKTWP, p 2468.

Definition at line 253 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_addr_t

enum ra8_i3c_i2c_addr_t : uintptr_t

Hardware base addresses for the I3C / IIC_B block.

Single channel on the RA8D2; per HUM Ch 40.2 "I3C Bus Interface Register Descriptions" the secure alias lives at the corresponding NS+0x10000000 offset but the HAL only ever programmes the S/non-aliased view.

Enumerator
k_ra8_i3c_i2c0_base_addr 

HUM Ch 40.2, p 2452.

Definition at line 49 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_bcst_t

enum ra8_i3c_i2c_bcst_t : uint8_t

BCST (Bus Condition Status) field positions.

Enumerator
k_ra8_i3c_i2c_bcst_bfref_pos 

HUM 40.2 BCST.BFREF, p 2491.

Definition at line 322 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_bctl_t

enum ra8_i3c_i2c_bctl_t : uint8_t

BCTL field positions.

Enumerator
k_ra8_i3c_i2c_bctl_buse_pos 

HUM 40.2 BCTL.BUSE, p 2454.

Definition at line 207 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_bfctl_t

enum ra8_i3c_i2c_bfctl_t : uint8_t

BFCTL field positions.

Enumerator
k_ra8_i3c_i2c_bfctl_male_pos 

HUM 40.2 BFCTL.MALE, p 2461.

k_ra8_i3c_i2c_bfctl_nale_pos 

HUM 40.2 BFCTL.NALE, p 2461.

k_ra8_i3c_i2c_bfctl_scsyne_pos 

HUM 40.2 BFCTL.SCSYNE, p 2461.

k_ra8_i3c_i2c_bfctl_smbs_pos 

HUM 40.2 BFCTL.SMBS, p 2461.

k_ra8_i3c_i2c_bfctl_fmpe_pos 

HUM 40.2 BFCTL.FMPE, p 2461.

Definition at line 232 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_bie_t

enum ra8_i3c_i2c_bie_t : uint8_t

BIE (Bus Interrupt Enable) field positions.

Enumerator
k_ra8_i3c_i2c_bie_nackdie_pos 

HUM 40.2 BIE.NACKDIE, p 2484.

k_ra8_i3c_i2c_bie_tendie_pos 

HUM 40.2 BIE.TENDIE, p 2484.

k_ra8_i3c_i2c_bie_alie_pos 

HUM 40.2 BIE.ALIE, p 2484.

k_ra8_i3c_i2c_bie_todie_pos 

HUM 40.2 BIE.TODIE, p 2484.

Definition at line 311 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_bst_t

enum ra8_i3c_i2c_bst_t : uint8_t

BST (Bus Status) field positions.

Enumerator
k_ra8_i3c_i2c_bst_stcnddf_pos 

HUM 40.2 BST.STCNDDF, p 2482.

k_ra8_i3c_i2c_bst_spcnddf_pos 

HUM 40.2 BST.SPCNDDF, p 2482.

k_ra8_i3c_i2c_bst_nackdf_pos 

HUM 40.2 BST.NACKDF, p 2482.

k_ra8_i3c_i2c_bst_tendf_pos 

HUM 40.2 BST.TENDF, p 2482.

k_ra8_i3c_i2c_bst_alf_pos 

HUM 40.2 BST.ALF, p 2482.

k_ra8_i3c_i2c_bst_todf_pos 

HUM 40.2 BST.TODF, p 2482.

Definition at line 280 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_cectl_t

enum ra8_i3c_i2c_cectl_t : uint8_t

CECTL field positions.

Enumerator
k_ra8_i3c_i2c_cectl_clke_pos 

HUM 40.2 CECTL.CLKE, p 2453.

Definition at line 199 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_cndctl_t

enum ra8_i3c_i2c_cndctl_t : uint8_t

CNDCTL field positions.

Enumerator
k_ra8_i3c_i2c_cndctl_stcnd_pos 

HUM 40.2 CNDCTL.STCND, p 2473.

k_ra8_i3c_i2c_cndctl_srcnd_pos 

HUM 40.2 CNDCTL.SRCND, p 2473.

k_ra8_i3c_i2c_cndctl_spcnd_pos 

HUM 40.2 CNDCTL.SPCND, p 2473.

Definition at line 270 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_limits_t

enum ra8_i3c_i2c_limits_t : uint16_t

Channel-count limits.

Enumerator
k_ra8_i3c_i2c_channel_count 

HUM Ch 40.1.1, p 2445.

Definition at line 57 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_mask_t

enum ra8_i3c_i2c_mask_t : uint32_t

Composite bit masks used by the polling driver.

Enumerator
k_ra8_i3c_i2c_msk_prts_prtmd 

HUM 40.2.1 PRTS.PRTMD, p 2449.

k_ra8_i3c_i2c_msk_cectl_clke 

HUM 40.2 CECTL.CLKE, p 2453.

k_ra8_i3c_i2c_msk_bctl_buse 

HUM 40.2 BCTL.BUSE, p 2454.

k_ra8_i3c_i2c_msk_rstctl_ri3crst 

HUM 40.2 RSTCTL.RI3CRST, p 2456.

k_ra8_i3c_i2c_msk_bfctl_male 

HUM 40.2 BFCTL.MALE, p 2461.

k_ra8_i3c_i2c_msk_bfctl_nale 

HUM 40.2 BFCTL.NALE, p 2461.

k_ra8_i3c_i2c_msk_bfctl_scsyne 

HUM 40.2 BFCTL.SCSYNE, p 2461.

k_ra8_i3c_i2c_msk_bfctl_fmpe 

HUM 40.2 BFCTL.FMPE, p 2461.

k_ra8_i3c_i2c_msk_ackctl_ackt 

HUM 40.2 ACKCTL.ACKT, p 2468.

k_ra8_i3c_i2c_msk_ackctl_acktwp 

HUM 40.2 ACKCTL.ACKTWP,p 2468.

k_ra8_i3c_i2c_msk_scstrctl_rwe 

HUM 40.2 SCSTRCTL.RWE, p 2469.

k_ra8_i3c_i2c_msk_cndctl_stcnd 

HUM 40.2 CNDCTL.STCND, p 2473.

k_ra8_i3c_i2c_msk_cndctl_srcnd 

HUM 40.2 CNDCTL.SRCND, p 2473.

k_ra8_i3c_i2c_msk_cndctl_spcnd 

HUM 40.2 CNDCTL.SPCND, p 2473.

k_ra8_i3c_i2c_msk_bst_stcnddf 

HUM 40.2 BST.STCNDDF, p 2482.

k_ra8_i3c_i2c_msk_bst_spcnddf 

HUM 40.2 BST.SPCNDDF, p 2482.

k_ra8_i3c_i2c_msk_bst_nackdf 

HUM 40.2 BST.NACKDF, p 2482.

k_ra8_i3c_i2c_msk_bst_tendf 

HUM 40.2 BST.TENDF, p 2482.

k_ra8_i3c_i2c_msk_bst_alf 

HUM 40.2 BST.ALF, p 2482.

k_ra8_i3c_i2c_msk_bst_todf 

HUM 40.2 BST.TODF, p 2482.

k_ra8_i3c_i2c_msk_ntst_tdbef0 

HUM 40.2 NTST.TDBEF0, p 2486.

k_ra8_i3c_i2c_msk_ntst_rdbff0 

HUM 40.2 NTST.RDBFF0, p 2486.

k_ra8_i3c_i2c_msk_ntie_tdbeie0 

HUM 40.2 NTIE.TDBEIE0, p 2488.

k_ra8_i3c_i2c_msk_ntie_rdbfie0 

HUM 40.2 NTIE.RDBFIE0, p 2488.

k_ra8_i3c_i2c_msk_bie_nackdie 

HUM 40.2 BIE.NACKDIE, p 2484.

k_ra8_i3c_i2c_msk_bie_tendie 

HUM 40.2 BIE.TENDIE, p 2484.

k_ra8_i3c_i2c_msk_bie_alie 

HUM 40.2 BIE.ALIE, p 2484.

k_ra8_i3c_i2c_msk_bie_todie 

HUM 40.2 BIE.TODIE, p 2484.

k_ra8_i3c_i2c_msk_bcst_bfref 

HUM 40.2 BCST.BFREF, p 2491.

Definition at line 337 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_ntie_t

enum ra8_i3c_i2c_ntie_t : uint8_t

NTIE (Normal Transfer Interrupt Enable) field positions.

Enumerator
k_ra8_i3c_i2c_ntie_tdbeie0_pos 

HUM 40.2 NTIE.TDBEIE0, p 2488.

k_ra8_i3c_i2c_ntie_rdbfie0_pos 

HUM 40.2 NTIE.RDBFIE0, p 2488.

Definition at line 302 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_ntst_t

enum ra8_i3c_i2c_ntst_t : uint8_t

NTST (Normal Transfer Status) field positions.

Enumerator
k_ra8_i3c_i2c_ntst_tdbef0_pos 

HUM 40.2 NTST.TDBEF0, p 2486.

k_ra8_i3c_i2c_ntst_rdbff0_pos 

HUM 40.2 NTST.RDBFF0, p 2486.

Definition at line 293 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_prsst_t

enum ra8_i3c_i2c_prsst_t : uint8_t

PRSST field positions.

Enumerator
k_ra8_i3c_i2c_prsst_crms_pos 

HUM 40.2 PRSST.CRMS, p 2457.

k_ra8_i3c_i2c_prsst_trmd_pos 

HUM 40.2 PRSST.TRMD, p 2457.

Definition at line 223 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_prts_t

enum ra8_i3c_i2c_prts_t : uint8_t

PRTS field positions (HUM Ch 40.2.1 "PRTS : Protocol Selection" p 2449).

PRTMD = 0 selects I3C FIFO-buffer transfer (the post-reset default). PRTMD = 1 selects I2C single-buffer transfer. The polling driver in ra8_i3c_i2c.c only knows how to drive the I2C single-buffer mode (it writes NTDTBP0 directly without composing an I3C command queue entry), so it must set PRTMD = 1 during init.

Enumerator
k_ra8_i3c_i2c_prts_prtmd_pos 

HUM 40.2.1 PRTS.PRTMD, p 2449.

Definition at line 191 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_rstctl_t

enum ra8_i3c_i2c_rstctl_t : uint8_t

RSTCTL field positions.

Enumerator
k_ra8_i3c_i2c_rstctl_ri3crst_pos 

HUM 40.2 RSTCTL.RI3CRST, p 2456.

Definition at line 215 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_rsv_words_t

enum ra8_i3c_i2c_rsv_words_t : uint8_t

Reserved-word array sizes (in 32-bit words) used inside the IIC_B / I3C register block.

Names each reserved gap so r_i3c_i2c_regs_t does not depend on raw integer literals. Cross-checked against HUM Ch 40.2 offset table.

Enumerator
k_ra8_i3c_i2c_rsv_words_svtdlg_to_stctl 

+0x00C4..0x011F gap.

k_ra8_i3c_i2c_rsv_words_ntdtbp0_to_nibiqp 

+0x015C..0x017B gap.

k_ra8_i3c_i2c_rsv_words_ntbthctl_to_nrqthc 

+0x0198..0x01BF gap.

Definition at line 71 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_scstrctl_t

enum ra8_i3c_i2c_scstrctl_t : uint8_t

SCSTRCTL field positions.

Enumerator
k_ra8_i3c_i2c_scstrctl_rwe_pos 

HUM 40.2 SCSTRCTL.RWE, p 2469.

Definition at line 262 of file ra8_i3c_i2c_regs.h.

◆ ra8_i3c_i2c_stdbr_t

enum ra8_i3c_i2c_stdbr_t : uint8_t

STDBR field positions.

Enumerator
k_ra8_i3c_i2c_stdbr_sbrlo_pos 

HUM 40.2 STDBR.SBRLO, p 2462.

k_ra8_i3c_i2c_stdbr_sbrho_pos 

HUM 40.2 STDBR.SBRHO, p 2462.

Definition at line 244 of file ra8_i3c_i2c_regs.h.

Function Documentation

◆ i3c_i2c_regs()

volatile r_i3c_i2c_regs_t * i3c_i2c_regs ( uint8_t channel)
inlinestatic

Get a pointer to the IIC_B / I3C channel channel.

Parameters
[in]channelChannel index. Only 0 is valid on the RA8D2.
Returns
volatile r_i3c_i2c_regs_t* Pointer to channel registers, or nullptr when channel is out of range.
Precondition
ra8_mstp_enable(k_ra8_mstp_i3c) has been called.
Postcondition
Returned pointer either is nullptr or aliases k_ra8_i3c_i2c0_base_addr.
Note
Inline – expands at the call site so the compiler can fold the channel-bounds check when called with a literal 0.
See also
HUM Ch 40.2 "I3C Bus Interface Register Descriptions", p 2452.

Definition at line 387 of file ra8_i3c_i2c_regs.h.

References k_ra8_i3c_i2c0_base_addr, and k_ra8_i3c_i2c_channel_count.

Referenced by ra8_i3c_i2c_abort(), ra8_i3c_i2c_attach_handler(), ra8_i3c_i2c_clear_errors(), ra8_i3c_i2c_deinit(), ra8_i3c_i2c_get_errors(), ra8_i3c_i2c_init(), ra8_i3c_i2c_peripheral_close(), ra8_i3c_i2c_peripheral_open(), ra8_i3c_i2c_peripheral_receive(), ra8_i3c_i2c_peripheral_send(), ra8_i3c_i2c_peripheral_status(), ra8_i3c_i2c_read(), ra8_i3c_i2c_scan(), ra8_i3c_i2c_set_clock(), ra8_i3c_i2c_transfer(), and ra8_i3c_i2c_write().