Go to the documentation of this file.
25 #ifndef _AROARFW_I2C_H_
26 #define _AROARFW_I2C_H_
32 #define I2C_OFFSET_IFVERSION 0x00
33 #define I2C_OFFSET_STATUS0 0x01
35 #define I2C_OFFSET_BANKSELECT 0x02
37 #define I2C_OFFSET_DEVERROR 0x03
39 #define I2C_OFFSET_BANKDATA 0x04
43 #define RI2C_INTERFACE_VERSION 0x00
46 #define RI2C_STATUS0_NONE 0x00
47 #define RI2C_STATUS0_DEVICE_READY 0x01
49 #define RI2C_STATUS0_SELFCHECK_PASSED 0x02
51 #define RI2C_STATUS0_SELFCHECK_ERROR 0x04
53 #define RI2C_STATUS0_UPDATES_PENDING 0x08
57 #define RI2C_STATUS1_NONE 0x00
58 #define RI2C_STATUS2_NONE 0x00
62 #define RI2C_CAPS0_BRIDGE_NONE 0x00
63 #define RI2C_CAPS0_BRIDGE_NETWORK 0x01
65 #define RI2C_CAPS0_BRIDGE_ETHERNET 0x02
67 #define RI2C_CAPS0_BRIDGE_I2C 0x04
69 #define RI2C_CAPS0_BRIDGE_SPI 0x08
71 #define RI2C_CAPS0_BRIDGE_DMX512 0x10
73 #define RI2C_CAPS0_BRIDGE_MIDI 0x20
75 #define RI2C_CAPS0_BRIDGE_WAVEFORM 0x40
77 #define RI2C_CAPS0_BRIDGE_RESERVED7 0x80
@ RI2C_BANK_TYPEST04
Assigned Type and Subtype specific bank 4.
ri2c_bank_t
Type for memory banks (commands)
@ RI2C_DEV_VENDOR40
Vendor specific device type 40.
@ RI2C_BANK_VENDOR08
Vendor, Type and Subtype specific bank 8.
@ RI2C_DEV_VENDOR09
Vendor specific device type 9.
@ RI2C_DEV_VENDOR33
Vendor specific device type 33.
@ RI2C_DEV_VENDOR44
Vendor specific device type 44.
@ RI2C_BANK_TYPEST23
Assigned Type and Subtype specific bank 23.
@ RI2C_DEV_VENDOR18
Vendor specific device type 18.
@ RI2C_DEV_VENDOR63
Vendor specific device type 63.
@ RI2C_DEV_VENDOR51
Vendor specific device type 51.
@ RI2C_DEV_GENERIC
Most generic device. Supports bank 0.
@ RI2C_DEV_VENDOR20
Vendor specific device type 20.
@ RI2C_BANK_VENDOR20
Vendor, Type and Subtype specific bank 20.
@ RI2C_BANK_VENDOR27
Vendor, Type and Subtype specific bank 27.
@ RI2C_BANK_TYPEST29
Assigned Type and Subtype specific bank 29.
@ RI2C_BANK_VENDOR06
Vendor, Type and Subtype specific bank 6.
@ RI2C_DEV_BRIDGE
This is a bridge device. It converts between at least two diffrent communication channels....
@ RI2C_DEV_VENDOR53
Vendor specific device type 53.
@ RI2C_DEV_VENDOR49
Vendor specific device type 49.
@ RI2C_BANK_VENDOR17
Vendor, Type and Subtype specific bank 17.
@ RI2C_BANK_TYPEST16
Assigned Type and Subtype specific bank 16.
@ RI2C_DEV_VENDOR06
Vendor specific device type 6.
@ RI2C_BANK_TYPEST13
Assigned Type and Subtype specific bank 13.
@ RI2C_BANK_VENDOR30
Vendor, Type and Subtype specific bank 30.
uint8_t parentvendor
Parent device's vendor ID.
@ RI2C_BANK_VENDOR11
Vendor, Type and Subtype specific bank 11.
@ RI2C_BANK_TYPEST30
Assigned Type and Subtype specific bank 30.
@ RI2C_DEV_VENDOR54
Vendor specific device type 54.
@ RI2C_BANK_VENDOR15
Vendor, Type and Subtype specific bank 15.
@ RI2C_DEV_VENDOR08
Vendor specific device type 8.
@ RI2C_DEV_VENDOR21
Vendor specific device type 21.
@ RI2C_DEV_VENDOR43
Vendor specific device type 43.
@ RI2C_BANK_GPAIO
General Purpose Analog Input/Output.
@ RI2C_BANK_VENDOR16
Vendor, Type and Subtype specific bank 16.
@ RI2C_DEV_VENDOR22
Vendor specific device type 22.
@ RI2C_BANK_VENDOR18
Vendor, Type and Subtype specific bank 18.
@ RI2C_DEV_VENDOR62
Vendor specific device type 62.
@ RI2C_BANK_VENDOR07
Vendor, Type and Subtype specific bank 7.
uint8_t parentsubtype
Parent device's subtype ID.
@ RI2C_DEV_VENDOR45
Vendor specific device type 45.
@ RI2C_DEV_VENDOR25
Vendor specific device type 25.
@ RI2C_DEV_VENDOR27
Vendor specific device type 27.
@ RI2C_DEV_VENDOR59
Vendor specific device type 59.
@ RI2C_DEV_VENDOR02
Vendor specific device type 2.
@ RI2C_DEV_VENDOR29
Vendor specific device type 29.
@ RI2C_BANK_VENDOR13
Vendor, Type and Subtype specific bank 13.
@ RI2C_DEV_VENDOR58
Vendor specific device type 58.
@ RI2C_BANK_VENDOR03
Vendor, Type and Subtype specific bank 3.
ri2c_subtype_bridge_t
Subtype for devices of type RI2C_DEV_BRIDGE.
@ RI2C_DEV_VENDOR28
Vendor specific device type 28.
@ RI2C_BANK_VENDOR25
Vendor, Type and Subtype specific bank 25.
@ RI2C_DEV_VENDOR37
Vendor specific device type 37.
@ RI2C_BANK_VENDOR01
Vendor, Type and Subtype specific bank 1.
@ RI2C_BANK_VENDOR12
Vendor, Type and Subtype specific bank 12.
@ RI2C_DEV_VENDOR60
Vendor specific device type 60.
@ RI2C_BANK_TYPEST24
Assigned Type and Subtype specific bank 24.
@ RI2C_BANK_TYPEST12
Assigned Type and Subtype specific bank 12.
@ RI2C_DEV_VENDOR11
Vendor specific device type 11.
@ RI2C_DEV_VENDOR00
Vendor specific device type 0.
@ RI2C_DEV_VENDOR36
Vendor specific device type 36.
@ RI2C_BANK_VENDOR02
Vendor, Type and Subtype specific bank 2.
@ RI2C_DEV_VENDOR07
Vendor specific device type 7.
@ RI2C_BANK_TYPEST00
Assigned Type and Subtype specific bank 0.
@ RI2C_DEV_VENDOR03
Vendor specific device type 3.
@ RI2C_DEV_VENDOR61
Vendor specific device type 61.
@ RI2C_BANK_VENDOR22
Vendor, Type and Subtype specific bank 22.
ri2c_dev_t
Type for device types.
@ RI2C_DEV_VENDOR50
Vendor specific device type 50.
uint8_t parenttype
Parent device's type ID.
@ RI2C_BANK_DEVINFO
Generic device information.
@ RI2C_DEV_VENDOR10
Vendor specific device type 10.
@ RI2C_DEV_VENDOR46
Vendor specific device type 46.
@ RI2C_BANK_TYPEST07
Assigned Type and Subtype specific bank 7.
ruuid_t serial
Sieral of the device.
@ RI2C_DEV_VENDOR35
Vendor specific device type 35.
@ RI2C_BANK_TYPEST11
Assigned Type and Subtype specific bank 11.
uint8_t ri2c_addr_t
Type for storing I²C slave addresses.
@ RI2C_BANK_VENDOR29
Vendor, Type and Subtype specific bank 29.
@ RI2C_BANK_TYPEST15
Assigned Type and Subtype specific bank 15.
@ RI2C_BANK_TYPEST01
Assigned Type and Subtype specific bank 1.
@ RI2C_DEV_VENDOR34
Vendor specific device type 34.
@ RI2C_BANK_VENDOR00
Vendor, Type and Subtype specific bank 0.
@ RI2C_DEV_VENDOR17
Vendor specific device type 17.
@ RI2C_SUBTYPE_BRIDGE_CONVERTER
This is a media converter. It converts between two (or more) low level protocols and physical layers.
@ RI2C_DEV_VENDOR05
Vendor specific device type 5.
@ RI2C_DEV_VENDOR04
Vendor specific device type 4.
@ RI2C_BANK_VENDOR14
Vendor, Type and Subtype specific bank 14.
@ RI2C_DEV_VENDOR48
Vendor specific device type 48.
uint8_t subtype
Vendor specific subtype of device.
@ RI2C_BANK_VENDOR24
Vendor, Type and Subtype specific bank 24.
@ RI2C_BANK_VENDOR21
Vendor, Type and Subtype specific bank 21.
@ RI2C_DEV_VENDOR13
Vendor specific device type 13.
@ RI2C_DEV_VENDOR26
Vendor specific device type 26.
@ RI2C_DEV_VENDOR12
Vendor specific device type 12.
@ RI2C_BANK_VENDOR31
Vendor, Type and Subtype specific bank 31.
@ RI2C_BANK_TYPEST03
Assigned Type and Subtype specific bank 3.
@ RI2C_BANK_VENDOR23
Vendor, Type and Subtype specific bank 23.
@ RI2C_BANK_VENDOR05
Vendor, Type and Subtype specific bank 5.
@ RI2C_DEV_VENDOR55
Vendor specific device type 55.
@ RI2C_BANK_TYPEST28
Assigned Type and Subtype specific bank 28.
@ RI2C_BANK_TYPEST05
Assigned Type and Subtype specific bank 5.
@ RI2C_BANK_VENDOR09
Vendor, Type and Subtype specific bank 9.
@ RI2C_DEV_VENDOR31
Vendor specific device type 31.
@ RI2C_BANK_TYPEST22
Assigned Type and Subtype specific bank 22.
@ RI2C_DEV_VENDOR23
Vendor specific device type 23.
@ RI2C_DEV_VENDOR57
Vendor specific device type 57.
@ RI2C_BANK_TYPEST09
Assigned Type and Subtype specific bank 9.
@ RI2C_BANK_TYPEST14
Assigned Type and Subtype specific bank 14.
@ RI2C_DEV_VENDOR16
Vendor specific device type 16.
@ RI2C_BANK_TYPEST25
Assigned Type and Subtype specific bank 25.
@ RI2C_DEV_VENDOR30
Vendor specific device type 30.
@ RI2C_DEV_VENDOR56
Vendor specific device type 56.
@ RI2C_BANK_TYPEST18
Assigned Type and Subtype specific bank 18.
@ RI2C_BANK_TYPEST08
Assigned Type and Subtype specific bank 8.
@ RI2C_DEV_VENDOR14
Vendor specific device type 14.
uint8_t vendor
Vendor of this device. This is a assigned device vendor ID.
@ RI2C_BANK_TYPEST06
Assigned Type and Subtype specific bank 6.
@ RI2C_BANK_VENDOR28
Vendor, Type and Subtype specific bank 28.
@ RI2C_BANK_TYPEST02
Assigned Type and Subtype specific bank 2.
uint8_t revision
Vendor specific revision of the device.
uint8_t type
Vendor specific type of device.
@ RI2C_BANK_TYPEST10
Assigned Type and Subtype specific bank 10.
@ RI2C_DEV_VENDOR39
Vendor specific device type 39.
@ RI2C_BANK_TYPEST31
Assigned Type and Subtype specific bank 31.
uint8_t ruuid_t[16]
Type to store packed UUID.
Type to store (in packed format) static information for the device info bank (bank 0)....
@ RI2C_BANK_GPDIO
General Purpose Digital Input/Output.
@ RI2C_SUBTYPE_BRIDGE_GENERIC
Generic bridge device. Can be used as prent for vendor specific bridges.
@ RI2C_DEV_VENDOR47
Vendor specific device type 47.
@ RI2C_BANK_VENDOR04
Vendor, Type and Subtype specific bank 4.
@ RI2C_DEV_VENDOR19
Vendor specific device type 19.
@ RI2C_DEV_VENDOR42
Vendor specific device type 42.
@ RI2C_BANK_VENDOR19
Vendor, Type and Subtype specific bank 19.
@ RI2C_BANK_TYPEST19
Assigned Type and Subtype specific bank 19.
@ RI2C_BANK_TYPEST17
Assigned Type and Subtype specific bank 17.
@ RI2C_DEV_VENDOR52
Vendor specific device type 52.
@ RI2C_BANK_TYPEST27
Assigned Type and Subtype specific bank 27.
@ RI2C_BANK_VENDOR26
Vendor, Type and Subtype specific bank 26.
@ RI2C_DEV_VENDOR38
Vendor specific device type 38.
@ RI2C_DEV_VENDOR15
Vendor specific device type 15.
@ RI2C_BANK_TYPEST21
Assigned Type and Subtype specific bank 21.
@ RI2C_BANK_TYPEST26
Assigned Type and Subtype specific bank 26.
@ RI2C_DEV_VENDOR41
Vendor specific device type 41.
@ RI2C_DEV_VENDOR32
Vendor specific device type 32.
@ RI2C_BANK_TYPEST20
Assigned Type and Subtype specific bank 20.
@ RI2C_BANK_DMX512
DMX512 data.
@ RI2C_BANK_SYSCTL
Generic control of the device.
@ RI2C_DEV_VENDOR01
Vendor specific device type 1.
@ RI2C_BANK_VENDOR10
Vendor, Type and Subtype specific bank 10.
@ RI2C_DEV_VENDOR24
Vendor specific device type 24.