diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-28 17:40:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-28 17:40:39 -0400 |
commit | ebdea46fecae40c4d7effcd33f40918a37a1df4b (patch) | |
tree | e4312bf7f1f3d184738963a0ec300aa9fdfd55c1 /drivers/i2c/busses | |
parent | fecf3404f4aba6d0edeba31eeb018cbb6326dff2 (diff) | |
parent | 250d375d1da45a5e08ab8baf5eaa7eb258afd82b (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits)
[ARM] 3856/1: Add clocksource for Intel IXP4xx platforms
[ARM] 3855/1: Add generic time support
[ARM] 3873/1: S3C24XX: Add irq_chip names
[ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips
[ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23
[ARM] nommu: confirms the CR_V bit in nommu mode
[ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
[ARM] 3870/1: AT91: Start removing static memory mappings
[ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
[ARM] 3868/1: AT91 hardware header update
[ARM] 3867/1: AT91 GPIO update
[ARM] 3866/1: AT91 clock update
[ARM] 3865/1: AT91RM9200 header updates
[ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
[ARM] kthread: switch arch/arm/kernel/apm.c
[ARM] Off-by-one in arch/arm/common/icst*
[ARM] 3864/1: Refactore sharpsl_pm
[ARM] 3863/1: Add Locomo SPI Device
[ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs
[ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h
...
Diffstat (limited to 'drivers/i2c/busses')
-rw-r--r-- | drivers/i2c/busses/Kconfig | 2 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-iop3xx.c | 16 |
2 files changed, 10 insertions, 8 deletions
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index 9e56c3989d68..0d9667921f61 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig | |||
@@ -196,7 +196,7 @@ config I2C_IBM_IIC | |||
196 | 196 | ||
197 | config I2C_IOP3XX | 197 | config I2C_IOP3XX |
198 | tristate "Intel IOP3xx and IXP4xx on-chip I2C interface" | 198 | tristate "Intel IOP3xx and IXP4xx on-chip I2C interface" |
199 | depends on (ARCH_IOP3XX || ARCH_IXP4XX) && I2C | 199 | depends on (ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX) && I2C |
200 | help | 200 | help |
201 | Say Y here if you want to use the IIC bus controller on | 201 | Say Y here if you want to use the IIC bus controller on |
202 | the Intel IOP3xx I/O Processors or IXP4xx Network Processors. | 202 | the Intel IOP3xx I/O Processors or IXP4xx Network Processors. |
diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c index 8e413150af37..4436c89be58e 100644 --- a/drivers/i2c/busses/i2c-iop3xx.c +++ b/drivers/i2c/busses/i2c-iop3xx.c | |||
@@ -82,14 +82,16 @@ iop3xx_i2c_enable(struct i2c_algo_iop3xx_data *iop3xx_adap) | |||
82 | 82 | ||
83 | /* | 83 | /* |
84 | * Every time unit enable is asserted, GPOD needs to be cleared | 84 | * Every time unit enable is asserted, GPOD needs to be cleared |
85 | * on IOP321 to avoid data corruption on the bus. | 85 | * on IOP3XX to avoid data corruption on the bus. |
86 | */ | 86 | */ |
87 | #ifdef CONFIG_ARCH_IOP321 | 87 | #ifdef CONFIG_PLAT_IOP |
88 | #define IOP321_GPOD_I2C0 0x00c0 /* clear these bits to enable ch0 */ | 88 | if (iop3xx_adap->id == 0) { |
89 | #define IOP321_GPOD_I2C1 0x0030 /* clear these bits to enable ch1 */ | 89 | gpio_line_set(IOP3XX_GPIO_LINE(7), GPIO_LOW); |
90 | 90 | gpio_line_set(IOP3XX_GPIO_LINE(6), GPIO_LOW); | |
91 | *IOP321_GPOD &= (iop3xx_adap->id == 0) ? ~IOP321_GPOD_I2C0 : | 91 | } else { |
92 | ~IOP321_GPOD_I2C1; | 92 | gpio_line_set(IOP3XX_GPIO_LINE(5), GPIO_LOW); |
93 | gpio_line_set(IOP3XX_GPIO_LINE(4), GPIO_LOW); | ||
94 | } | ||
93 | #endif | 95 | #endif |
94 | /* NB SR bits not same position as CR IE bits :-( */ | 96 | /* NB SR bits not same position as CR IE bits :-( */ |
95 | iop3xx_adap->SR_enabled = | 97 | iop3xx_adap->SR_enabled = |