diff options
| -rw-r--r-- | board/st/nhk8815/nhk8815.c | 16 | ||||
| -rw-r--r-- | include/configs/nhk8815.h | 18 | 
2 files changed, 31 insertions, 3 deletions
| diff --git a/board/st/nhk8815/nhk8815.c b/board/st/nhk8815/nhk8815.c index 085a5e0a4..1fa506a88 100644 --- a/board/st/nhk8815/nhk8815.c +++ b/board/st/nhk8815/nhk8815.c @@ -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;  } diff --git a/include/configs/nhk8815.h b/include/configs/nhk8815.h index 3e2e09fb8..8a83d924b 100644 --- a/include/configs/nhk8815.h +++ b/include/configs/nhk8815.h @@ -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 |