Configuration Reference
Normative
The configuration items a conformant I2C driver MUST support (CHI-I2C-MUST-23). The configuration toolchain, data structure, and file schema are implementation-defined; vendor extensions are allowed. For a worked example see Configuration. The model follows the common configuration structure in the General part.
General
Property |
Type |
Description |
|---|---|---|
|
bool |
If true, development error checking and reporting is enabled (see Errors). |
Configuration set and channels
Property |
Type |
Description |
|---|---|---|
|
str |
Name of the configuration set; must be a valid C identifier. |
|
List[ControllerChannel | TargetChannel] |
Per-channel configurations. Size ≥ 1; maximum is implementation-defined. |
Property |
Type |
Description |
|---|---|---|
|
Literal[‘Controller’] |
Marks the channel as a controller. |
|
int |
Logical channel id. Starts at 0, unique within a ConfigSet. |
|
impl-defined |
Hardware channel assigned to this logical channel. |
|
EventHandlingMode |
|
|
int |
I2C hardware clock divider; derives the SCL bitrate. Range ≥ 1 (maximum implementation-defined). |
Property |
Type |
Description |
|---|---|---|
|
Literal[‘Target’] |
Marks the channel as a target. |
|
int |
Logical channel id. Starts at 0, unique within a ConfigSet. |
|
impl-defined |
Hardware channel assigned to this logical channel. |
|
EventHandlingMode |
|
|
int |
This target’s 7-bit address. Range |
|
int |
Byte transmitted when the controller over-reads and no TX buffer is staged.
Range |
Note
Controller channels carry clock_divider; target channels carry device_address and
default_data. There is no standard/fast-mode enum — the bitrate is expressed only through
clock_divider.