#ifndef __MTS_IO_H #define __MTS_IO_H #if !__KERNEL__ #ifndef BIT #define BIT(nr) (1UL << (nr)) #endif #endif #include "mts_eeprom.h" #include #define MTS_ATTR_MODE_RW S_IWUSR | S_IRUGO #define MTS_ATTR_MODE_RO S_IRUGO #define DEVICE_ATTR_MTS(_dev_name, _name, _show, _store) \ struct device_attribute _dev_name = { \ .attr = { .name = _name, .mode = MTS_ATTR_MODE_RW }, \ .show = _show, \ .store = _store, \ } #define DEVICE_ATTR_RO_MTS(_dev_name, _name, _show) \ struct device_attribute _dev_name = { \ .attr = { .name = _name, .mode = MTS_ATTR_MODE_RO }, \ .show = _show, \ } #define VENDOR_ID_MULTITECH "Multi-Tech Systems" #define PRODUCT_ID_MTCDP_E1_DK "MTCDP-E1-DK" #define PRODUCT_ID_MT100EOCG "MT100EOCG" #define PRODUCT_ID_MTR2 "MTR2" #define PRODUCT_ID_MTR "MTR" #define PRODUCT_ID_MTOCGD2 "MTOCGD2" #define PRODUCT_ID_MTOCGD "MTOCGD" #define PRODUCT_ID_MTDC_GPIOB "MTDC-GPIOB" #define HW_VERSION_MTCBA2_2_0 "MTCBA2-2.0" #define HW_VERSION_MTCDP_0_0 "MTCDP-0.0" #define HW_VERSION_MTCDP_1_0 "MTCDP-1.0" #define HW_VERSION_MT100EOCG_0_0 "MT100EOCG-0.0" #define HW_VERSION_MTR2_0_0 "MTR2-0.0" #define HW_VERSION_MTR_0_0 "MTR-0.0" #define HW_VERSION_MTR_0_1 "MTR-0.1" #define HW_VERSION_MTOCGD2_0_0 "MTOCGD2-0.0" #define HW_VERSION_MTOCGD_0_0 "MTOCGD-0.0" #define HW_VERSION_MTOCGD_0_1 "MTOCGD-0.1" enum { MTCDP_E1_DK_0_0, MTCDP_E1_DK_1_0, MT100EOCG_0_0, MTR2_0_0, MTR_0_0, MTR_0_1, MTOCGD2_0_0, MTOCGD_0_0, MTOCGD_0_1, }; enum { MTDC_NONE, MTDC_GPIOB_0_0, }; // GPIO pin types:input, output, open drain (1 = high Z, 0 = output low) enum { GPIO_DIR_INPUT, GPIO_DIR_OUTPUT, GPIO_DIR_OD, }; struct gpio_pin { char name[32]; struct gpio pin; int active_low; }; enum { LED_OFF, LED_ON, LED_FLASHING, }; #endif /* ~__MTS_IO_H */