55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
|
--- a/arch/cris/arch-v10/drivers/Kconfig
|
||
|
+++ b/arch/cris/arch-v10/drivers/Kconfig
|
||
|
@@ -450,11 +450,31 @@ config ETRAX_I2C
|
||
|
i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
|
||
|
val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
|
||
|
|
||
|
+config ETRAX_I2C_GVC
|
||
|
+ bool "I2C GVC support"
|
||
|
+ depends on ETRAX_ARCH_V10 && !ETRAX_I2C
|
||
|
+ select ETRAX_I2C_USES_PB_NOT_PB_I2C
|
||
|
+ help
|
||
|
+ Enables an I2C driver with Geert Vancompernolle improvement.
|
||
|
+
|
||
|
+config ETRAX_I2C_SLAVE_DELAY
|
||
|
+ bool "I2C Slave delay support"
|
||
|
+ depends on ETRAX_I2C_GVC && EXPERIMENTAL
|
||
|
+ help
|
||
|
+ Enable this to enhanced master/slave dialog
|
||
|
+ Improvement by Positive Going (www.positivegoing.it) and BK srl (www.b-k.it)
|
||
|
+
|
||
|
+config ETRAX_I2C_DYN_ALLOC
|
||
|
+ bool "I2C major device dynamic alloc"
|
||
|
+ depends on ETRAX_I2C_GVC && EXPERIMENTAL
|
||
|
+ help
|
||
|
+ Enable this to dynamicaly alloc major i2c device number
|
||
|
+
|
||
|
# this is true for most products since PB-I2C seems to be somewhat
|
||
|
# flawed..
|
||
|
config ETRAX_I2C_USES_PB_NOT_PB_I2C
|
||
|
bool "I2C uses PB not PB-I2C"
|
||
|
- depends on ETRAX_I2C
|
||
|
+ depends on ETRAX_I2C || ETRAX_I2C_GVC
|
||
|
help
|
||
|
Select whether to use the special I2C mode in the PB I/O register or
|
||
|
not. This option needs to be selected in order to use some drivers
|
||
|
@@ -478,7 +498,7 @@ config ETRAX_I2C_CLK_PORT
|
||
|
|
||
|
config ETRAX_I2C_EEPROM
|
||
|
bool "I2C EEPROM (non-volatile RAM) support"
|
||
|
- depends on ETRAX_I2C
|
||
|
+ depends on ETRAX_I2C || ETRAX_I2C_GVC
|
||
|
help
|
||
|
Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
|
||
|
driver. Select size option: Probed, 2k, 8k, 16k.
|
||
|
--- a/arch/cris/arch-v10/drivers/Makefile
|
||
|
+++ b/arch/cris/arch-v10/drivers/Makefile
|
||
|
@@ -4,6 +4,7 @@
|
||
|
|
||
|
obj-$(CONFIG_ETRAX_AXISFLASHMAP) += axisflashmap.o
|
||
|
obj-$(CONFIG_ETRAX_I2C) += i2c.o
|
||
|
+obj-$(CONFIG_ETRAX_I2C_GVC) += i2c_gvc.o
|
||
|
obj-$(CONFIG_ETRAX_I2C_EEPROM) += eeprom.o
|
||
|
obj-$(CONFIG_ETRAX_GPIO) += gpio.o
|
||
|
obj-$(CONFIG_ETRAX_DS1302) += ds1302.o
|