linux/include/linux/mfd/viperboard.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *  include/linux/mfd/viperboard.h
 *
 *  Nano River Technologies viperboard definitions
 *
 *  (C) 2012 by Lemonage GmbH
 *  Author: Lars Poeschel <[email protected]>
 *  All rights reserved.
 */

#ifndef __MFD_VIPERBOARD_H__
#define __MFD_VIPERBOARD_H__

#include <linux/types.h>
#include <linux/usb.h>

#define VPRBRD_EP_OUT
#define VPRBRD_EP_IN

#define VPRBRD_I2C_MSG_LEN

#define VPRBRD_I2C_FREQ_6MHZ
#define VPRBRD_I2C_FREQ_3MHZ
#define VPRBRD_I2C_FREQ_1MHZ
#define VPRBRD_I2C_FREQ_FAST
#define VPRBRD_I2C_FREQ_400KHZ
#define VPRBRD_I2C_FREQ_200KHZ
#define VPRBRD_I2C_FREQ_STD
#define VPRBRD_I2C_FREQ_100KHZ
#define VPRBRD_I2C_FREQ_10KHZ

#define VPRBRD_I2C_CMD_WRITE
#define VPRBRD_I2C_CMD_READ
#define VPRBRD_I2C_CMD_ADDR

#define VPRBRD_USB_TYPE_OUT
#define VPRBRD_USB_TYPE_IN
#define VPRBRD_USB_TIMEOUT_MS
#define VPRBRD_USB_REQUEST_I2C_FREQ
#define VPRBRD_USB_REQUEST_I2C
#define VPRBRD_USB_REQUEST_MAJOR
#define VPRBRD_USB_REQUEST_MINOR
#define VPRBRD_USB_REQUEST_ADC
#define VPRBRD_USB_REQUEST_GPIOA
#define VPRBRD_USB_REQUEST_GPIOB

struct vprbrd_i2c_write_hdr {} __packed;

struct vprbrd_i2c_read_hdr {} __packed;

struct vprbrd_i2c_status {} __packed;

struct vprbrd_i2c_write_msg {} __packed;

struct vprbrd_i2c_read_msg {} __packed;

struct vprbrd_i2c_addr_msg {} __packed;

/* Structure to hold all device specific stuff */
struct vprbrd {};

#endif /* __MFD_VIPERBOARD_H__ */