From 9ce1e8b047a6f771a6931f4338d29b7bb7a9f6c3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=BC=A0=E6=99=B4?= Date: Mon, 24 Oct 2011 19:54:00 -0700 Subject: [PATCH] add i2c_sram.c in sram for i2c communication when system is sleep --- arch/arm/mach-rk29/Kconfig | 5 ++++- arch/arm/mach-rk29/Makefile | 1 + arch/arm/mach-rk29/include/mach/rk29_iomap.h | 3 +++ arch/arm/mach-rk29/io.c | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-rk29/Kconfig b/arch/arm/mach-rk29/Kconfig index 4179baaf48e0..07631697203c 100644 --- a/arch/arm/mach-rk29/Kconfig +++ b/arch/arm/mach-rk29/Kconfig @@ -236,7 +236,10 @@ config RK29_SPI_INSRAM tristate "Support spi control interface" depends on REGULATOR_WM831X default ns - +config RK29_I2C_INSRAM + tristate "Support i2c control interface" + depends on REGULATOR_ACT8891 + default ns config RK29_PWM_INSRAM tristate "Support pwm control interface" depends on RK29_PWM_REGULATOR diff --git a/arch/arm/mach-rk29/Makefile b/arch/arm/mach-rk29/Makefile index ea3f7a12425d..e36d1e4d2bd3 100644 --- a/arch/arm/mach-rk29/Makefile +++ b/arch/arm/mach-rk29/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_PM) += pm.o obj-$(CONFIG_CPU_FREQ) += cpufreq.o obj-$(CONFIG_DDR_FREQ) += ddrfreq.o obj-$(CONFIG_RK29_VPU) += vpu_mem.o +obj-$(CONFIG_RK29_I2C_INSRAM) += i2c_sram.o obj-y += spi_sram.o obj-$(CONFIG_RK29_VPU_SERVICE) += vpu_service.o obj-$(CONFIG_RK29_VPU_OLD) += vpu.o diff --git a/arch/arm/mach-rk29/include/mach/rk29_iomap.h b/arch/arm/mach-rk29/include/mach/rk29_iomap.h index b81c2cba6aa7..eb7cbb9a6361 100755 --- a/arch/arm/mach-rk29/include/mach/rk29_iomap.h +++ b/arch/arm/mach-rk29/include/mach/rk29_iomap.h @@ -170,10 +170,13 @@ #define RK29_PWM_PHYS 0x20050000 #define RK29_PWM_SIZE SZ_16K #define RK29_I2C1_PHYS 0x20054000 +#define RK29_I2C1_BASE (RK29_ADDR_BASE1+0x54000) #define RK29_I2C1_SIZE SZ_16K #define RK29_I2C2_PHYS 0x20058000 +#define RK29_I2C2_BASE (RK29_ADDR_BASE1+0x58000) #define RK29_I2C2_SIZE SZ_16K #define RK29_I2C3_PHYS 0x2005C000 +#define RK29_I2C3_BASE (RK29_ADDR_BASE1+0x5c000) #define RK29_I2C3_SIZE SZ_16K #define RK29_UART1_PHYS 0x20060000 #define RK29_UART1_BASE (RK29_ADDR_BASE1+0x60000) diff --git a/arch/arm/mach-rk29/io.c b/arch/arm/mach-rk29/io.c index 23b80c7b8d83..122d8c674c57 100644 --- a/arch/arm/mach-rk29/io.c +++ b/arch/arm/mach-rk29/io.c @@ -52,6 +52,9 @@ static struct map_desc rk29_io_desc[] __initdata = { RK29_DEVICE(NANDC), RK29_DEVICE(SPI0), RK29_DEVICE(SPI1), + RK29_DEVICE(I2C1), + RK29_DEVICE(I2C2), + RK29_DEVICE(I2C3), #ifdef CONFIG_DDR_RECONFIG RK29_DEVICE(LCDC), RK29_DEVICE(GPU), -- 2.34.1