diff options
| -rw-r--r-- | arch/arm/cpu/arm926ejs/pantheon/cpu.c | 12 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-pantheon/config.h | 10 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-pantheon/cpu.h | 4 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-pantheon/mfp.h | 6 | ||||
| -rw-r--r-- | board/Marvell/dkb/dkb.c | 4 | ||||
| -rw-r--r-- | include/configs/dkb.h | 2 | 
6 files changed, 35 insertions, 3 deletions
| diff --git a/arch/arm/cpu/arm926ejs/pantheon/cpu.c b/arch/arm/cpu/arm926ejs/pantheon/cpu.c index 9ddc77c07..8b2eafa40 100644 --- a/arch/arm/cpu/arm926ejs/pantheon/cpu.c +++ b/arch/arm/cpu/arm926ejs/pantheon/cpu.c @@ -59,6 +59,12 @@ int arch_cpu_init(void)  	/* Enable GPIO clock */  	writel(APBC_APBCLK, &apbclkres->gpio); +#ifdef CONFIG_I2C_MV +	/* Enable I2C clock */ +	writel(APBC_RST | APBC_FNCLK | APBC_APBCLK, &apbclkres->twsi); +	writel(APBC_FNCLK | APBC_APBCLK, &apbclkres->twsi); +#endif +  	icache_enable();  	return 0; @@ -76,3 +82,9 @@ int print_cpuinfo(void)  	return 0;  }  #endif + +#ifdef CONFIG_I2C_MV +void i2c_clk_enable(void) +{ +} +#endif diff --git a/arch/arm/include/asm/arch-pantheon/config.h b/arch/arm/include/asm/arch-pantheon/config.h index 710b3862c..5658592f8 100644 --- a/arch/arm/include/asm/arch-pantheon/config.h +++ b/arch/arm/include/asm/arch-pantheon/config.h @@ -34,5 +34,15 @@  #define MV_UART_CONSOLE_BASE	PANTHEON_UART1_BASE  #define CONFIG_SYS_NS16550_IER	(1 << 6)	/* Bit 6 in UART_IER register  						represents UART Unit Enable */ +/* + * I2C definition + */ +#ifdef CONFIG_CMD_I2C +#define CONFIG_I2C_MV			1 +#define CONFIG_MV_I2C_REG		0xd4011000 +#define CONFIG_HARD_I2C			1 +#define CONFIG_SYS_I2C_SPEED		0 +#define CONFIG_SYS_I2C_SLAVE		0xfe +#endif  #endif /* _PANTHEON_CONFIG_H */ diff --git a/arch/arm/include/asm/arch-pantheon/cpu.h b/arch/arm/include/asm/arch-pantheon/cpu.h index 30f439305..60955c5a5 100644 --- a/arch/arm/include/asm/arch-pantheon/cpu.h +++ b/arch/arm/include/asm/arch-pantheon/cpu.h @@ -50,7 +50,9 @@ struct panthapb_registers {  	u32 uart0;	/*0x000*/  	u32 uart1;	/*0x004*/  	u32 gpio;	/*0x008*/ -	u8 pad0[0x034 - 0x08 - 4]; +	u8 pad0[0x02c - 0x08 - 4]; +	u32 twsi;	/*0x02c*/ +	u8 pad1[0x034 - 0x2c - 4];  	u32 timers;	/*0x034*/  }; diff --git a/arch/arm/include/asm/arch-pantheon/mfp.h b/arch/arm/include/asm/arch-pantheon/mfp.h index fb291cf55..e9391961b 100644 --- a/arch/arm/include/asm/arch-pantheon/mfp.h +++ b/arch/arm/include/asm/arch-pantheon/mfp.h @@ -32,8 +32,10 @@   * offset, pull,pF, drv,dF, edge,eF ,afn,aF   */  /* UART2 */ -#define MFP47_UART2_RXD		MFP_REG(0x198) | MFP_AF6 | MFP_DRIVE_MEDIUM -#define MFP48_UART2_TXD		MFP_REG(0x19c) | MFP_AF6 | MFP_DRIVE_MEDIUM +#define MFP47_UART2_RXD		(MFP_REG(0x198) | MFP_AF6 | MFP_DRIVE_MEDIUM) +#define MFP48_UART2_TXD		(MFP_REG(0x19c) | MFP_AF6 | MFP_DRIVE_MEDIUM) +#define MFP53_CI2C_SCL		(MFP_REG(0x1b0) | MFP_AF2 | MFP_DRIVE_MEDIUM) +#define MFP54_CI2C_SDA		(MFP_REG(0x1b4) | MFP_AF2 | MFP_DRIVE_MEDIUM)  /* More macros can be defined here... */ diff --git a/board/Marvell/dkb/dkb.c b/board/Marvell/dkb/dkb.c index 72a2d2a98..00f73e79f 100644 --- a/board/Marvell/dkb/dkb.c +++ b/board/Marvell/dkb/dkb.c @@ -36,6 +36,10 @@ int board_early_init_f(void)  		MFP47_UART2_RXD,  		MFP48_UART2_TXD, +		/* I2C */ +		MFP53_CI2C_SCL, +		MFP54_CI2C_SDA, +  		MFP_EOC		/*End of configureation*/  	};  	/* configure MFP's */ diff --git a/include/configs/dkb.h b/include/configs/dkb.h index 638af5e33..b400d0acf 100644 --- a/include/configs/dkb.h +++ b/include/configs/dkb.h @@ -47,6 +47,7 @@  #define CONFIG_SYS_NO_FLASH		/* Declare no flash (NOR/SPI) */  #include <config_cmd_default.h>  #define CONFIG_CMD_AUTOSCRIPT +#define CONFIG_CMD_I2C  #undef CONFIG_CMD_NET  #undef CONFIG_CMD_NFS  /* @@ -56,6 +57,7 @@  #include "mv-common.h"  #undef CONFIG_ARCH_MISC_INIT +  /*   * Environment variables configurations   */ |