From: 张晴 Date: Tue, 25 Oct 2011 02:54:00 +0000 (-0700) Subject: add i2c_sram.c in sram for i2c communication when system is sleep X-Git-Tag: firefly_0821_release~9766^2~2 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=9ce1e8b047a6f771a6931f4338d29b7bb7a9f6c3;p=firefly-linux-kernel-4.4.55.git add i2c_sram.c in sram for i2c communication when system is sleep --- 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),