16f9b93a0215d37a21bbcd72352a47f6db7f630b
[openwrt.git] / target / linux / etrax / patches-2.6.32 / 500-i2c_gvc.patch
1 --- a/arch/cris/arch-v10/drivers/Kconfig
2 +++ b/arch/cris/arch-v10/drivers/Kconfig
3 @@ -450,11 +450,31 @@ config ETRAX_I2C
4           i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
5           val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
6  
7 +config ETRAX_I2C_GVC
8 +       bool "I2C GVC support"
9 +       depends on ETRAX_ARCH_V10 && !ETRAX_I2C
10 +       select ETRAX_I2C_USES_PB_NOT_PB_I2C
11 +       help
12 +         Enables an I2C driver with Geert Vancompernolle improvement.
13 +
14 +config ETRAX_I2C_SLAVE_DELAY
15 +       bool "I2C Slave delay support"
16 +       depends on ETRAX_I2C_GVC  && EXPERIMENTAL
17 +       help
18 +         Enable this to enhanced master/slave dialog
19 +         Improvement by Positive Going (www.positivegoing.it) and BK srl (www.b-k.it)
20 +
21 +config ETRAX_I2C_DYN_ALLOC
22 +       bool "I2C major device dynamic alloc"
23 +       depends on ETRAX_I2C_GVC && EXPERIMENTAL
24 +       help
25 +         Enable this to dynamicaly alloc major i2c device number
26 +
27  # this is true for most products since PB-I2C seems to be somewhat
28  # flawed..
29  config ETRAX_I2C_USES_PB_NOT_PB_I2C
30         bool "I2C uses PB not PB-I2C"
31 -       depends on ETRAX_I2C
32 +       depends on ETRAX_I2C || ETRAX_I2C_GVC
33         help
34           Select whether to use the special I2C mode in the PB I/O register or
35           not.  This option needs to be selected in order to use some drivers
36 @@ -478,7 +498,7 @@ config ETRAX_I2C_CLK_PORT
37  
38  config ETRAX_I2C_EEPROM
39         bool "I2C EEPROM (non-volatile RAM) support"
40 -       depends on ETRAX_I2C
41 +       depends on ETRAX_I2C || ETRAX_I2C_GVC
42         help
43           Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
44           driver.  Select size option: Probed, 2k, 8k, 16k.
45 --- a/arch/cris/arch-v10/drivers/Makefile
46 +++ b/arch/cris/arch-v10/drivers/Makefile
47 @@ -4,6 +4,7 @@
48  
49  obj-$(CONFIG_ETRAX_AXISFLASHMAP)       += axisflashmap.o
50  obj-$(CONFIG_ETRAX_I2C)                        += i2c.o
51 +obj-$(CONFIG_ETRAX_I2C_GVC)            += i2c_gvc.o
52  obj-$(CONFIG_ETRAX_I2C_EEPROM)         += eeprom.o
53  obj-$(CONFIG_ETRAX_GPIO)               += gpio.o
54  obj-$(CONFIG_ETRAX_DS1302)             += ds1302.o