<br />

Added: HEAD

## **TABLES**

### I2CBusMetadata

*Defined in [fuchsia.hardware.i2c.businfo/businfo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.i2c.businfo/businfo.fidl;l=43)*

Provided by the i2c platform device as metadata.

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `channels` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.hardware.i2c.businfo#I2CChannel>:128` |   |
| ### 2 | `bus_id` | `uint32` | ID of the bus that these devices are on. Set as a bind property on the devices added by the I2C core driver. |

### I2CChannel

*Defined in [fuchsia.hardware.i2c.businfo/businfo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.i2c.businfo/businfo.fidl;l=12)*

Used to inform the i2c driver about an attached i2c device.

<br />

| Ordinal | Field | Type | Description |
|---|---|---|---|
| ### 1 | `address` | `uint16` | Address of the device. |
| ### 2 | `i2c_class` | `uint32` | Class of the device. TODO(https://fxbug.dev/42158297): remove this once x86 uses ACPI properly. |
| ### 3 | `vid` | `uint32` | Vendor ID. Used when binding via platform bus device IDs. |
| ### 4 | `pid` | `uint32` | Product ID. Used when binding via platform bus device IDs. |
| ### 5 | `did` | `uint32` | Device ID. Used when binding via platform bus device IDs. |
| ### 6 | `is_bus_controller` | `bool` | Are we in charge of the bus? |
| ### 7 | `is_ten_bit` | `bool` | Is this device using 10-bit addressing mode (if false, use 7-bit). |
| ### 8 | `bus_speed` | `uint32` | Speed of the bus. |
| ### 9 | `name` | `string:64` | Friendly name for this bus. Will default to the empty string if not specified. |
| ### 10 | `global_id` | `uint32` | Unique identifier for the I2C channel. |

## **CONSTANTS**

| Name | Value | Type | Description |
|---|---|---|---|
| [MAX_I2C_CHANNEL](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.i2c.businfo/businfo.fidl;l=9) | `128` | `uint32` |   |