arm nomadik: add i2c
Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
This commit is contained in:
parent
60cbfbfd0f
commit
bb4291e625
|
@ -27,6 +27,7 @@
|
|||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/gpio.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
|
@ -61,9 +62,20 @@ int board_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int misc_init_r(void)
|
||||
int board_late_init(void)
|
||||
{
|
||||
setenv("verify", "n");
|
||||
/* Set the two I2C gpio lines to be gpio high */
|
||||
nmk_gpio_set(__SCL, 1); nmk_gpio_set(__SDA, 1);
|
||||
nmk_gpio_dir(__SCL, 1); nmk_gpio_dir(__SDA, 1);
|
||||
nmk_gpio_af(__SCL, GPIO_GPIO); nmk_gpio_af(__SDA, GPIO_GPIO);
|
||||
|
||||
/* Reset the I2C port expander, on GPIO77 */
|
||||
nmk_gpio_af(77, GPIO_GPIO);
|
||||
nmk_gpio_dir(77, 1);
|
||||
nmk_gpio_set(77, 0);
|
||||
udelay(10);
|
||||
nmk_gpio_set(77, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* for initial data */
|
||||
#define CONFIG_SYS_64BIT_VSPRINTF /* mtd desires this */
|
||||
|
||||
#define CONFIG_MISC_INIT_R /* call misc_init_r during start up */
|
||||
#define BOARD_LATE_INIT /* call board_late_init during start up */
|
||||
|
||||
/* timing informazion */
|
||||
#define CONFIG_SYS_HZ 1000 /* Mandatory... */
|
||||
|
@ -110,6 +110,22 @@
|
|||
#define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
|
||||
#define CONFIG_PL011_CLOCK 48000000
|
||||
|
||||
/* i2c, for the port extenders (uses gpio.c in board directory) */
|
||||
#ifndef __ASSEMBLY__
|
||||
#include <asm/arch/gpio.h>
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_SOFT_I2C
|
||||
#define CONFIG_SYS_I2C_SPEED 400000
|
||||
#define __SDA 63
|
||||
#define __SCL 62
|
||||
#define I2C_SDA(x) nmk_gpio_set(__SDA, x)
|
||||
#define I2C_SCL(x) nmk_gpio_set(__SCL, x)
|
||||
#define I2C_READ (nmk_gpio_get(__SDA)!=0)
|
||||
#define I2C_ACTIVE nmk_gpio_dir(__SDA, 1)
|
||||
#define I2C_TRISTATE nmk_gpio_dir(__SDA, 0)
|
||||
#define I2C_DELAY (udelay(2))
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* Ethernet */
|
||||
#define PCI_MEMORY_VADDR 0xe8000000
|
||||
#define PCI_IO_VADDR 0xee000000
|
||||
|
|
Loading…
Reference in New Issue