Commit 023fb0af authored by Andrey Filippov's avatar Andrey Filippov

working on sensor ports i2c

parent 4c1dde53
......@@ -62,8 +62,33 @@
#define DRV_NAME "elphel_sensor_i2c"
#if 0
#include <linux/fs.h>
* alloc_chrdev_region() - register a range of char device numbers
* @dev: output parameter for first assigned number
* @baseminor: first of the requested range of minor numbers
* @count: the number of minor numbers required
* @name: the name of the associated device or driver
* Allocates a range of char device numbers. The major number will be
* chosen dynamically, and returned (along with the first minor number)
* in @dev. Returns zero or a negative error code.
int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count,
const char *name)
struct char_device_struct *cd;
cd = __register_chrdev_region(0, baseminor, count, name);
if (IS_ERR(cd))
return PTR_ERR(cd);
*dev = MKDEV(cd->major, cd->baseminor);
return 0;
// Number of channels is hard-wired to 4
static u32 free_i2c_groups[4];
static u32 free_i2c_pages [32];
......@@ -18,6 +18,18 @@
* along with this program. If not, see <>.
// I2C device description to be used with i2c sequencer
typedef struct x393_i2c_device_tag{
char * name;
u8 slave7; // slave address (7-bit)
u8 address_bytes;
u8 data_bytes;
int scl_khz; // maximal SCL frequency in KHz (currently limited by 200KHz slowest)
struct x393_i2c_device_tag * next;
} x393_i2c_device_t;
/* Reserve i2c page (1 of 256 for a sensor port)*/
int i2c_page_alloc(int chn);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment