+
+#include <kern/kfile.h>
+
+
+/**
+ * Values for Eeprom types.
+ */
+typedef enum EepromType
+{
+ EEPROM_24XX16,
+ EEPROM_24XX256,
+ EEPROM_24XX512,
+ EEPROM_CNT,
+} EepromType;
+
+/**
+ * On the same I2C bus can live more than one EEPROM
+ * device. Each device can be addressed by one or more
+ * pins.
+ */
+typedef uint8_t e2dev_addr_t;
+
+/**
+ * Describe an EEPROM context, used by the driver to
+ * access the single device.
+ */
+typedef struct Eeprom
+{
+ KFile fd; ///< File descriptor.
+ EepromType type; ///< EEPROM type
+ e2dev_addr_t addr; ///< Device address.
+} Eeprom;
+
+/**
+ * ID for eeproms.
+ */
+#define KFT_EEPROM MAKE_ID('E', 'E', 'P', 'R')