zynqmp: i2c: Enable i2c driver for zynqMP
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Tue, 3 Mar 2015 09:31:44 +0000 (15:01 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 29 Apr 2015 09:19:04 +0000 (11:19 +0200)
Enable the i2c driver for ZynqMP
Also enable the eeprom for read and writes
to eeprom on ZynqMP
ZynqMP uses the same i2c controller as in Zynq

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/include/asm/arch-zynqmp/hardware.h
include/configs/xilinx_zynqmp.h

index 87792c21a5d0f42f9cfd27cf9e86c56f0ac61df2..1fedb1bb4b94de04029b27205cdd6d5b363abf2c 100644 (file)
@@ -11,6 +11,9 @@
 #define ZYNQ_SERIAL_BASEADDR0  0xFF000000
 #define ZYNQ_SERIAL_BASEADDR1  0xFF001000
 
+#define ZYNQ_I2C_BASEADDR0     0xFF020000
+#define ZYNQ_I2C_BASEADDR1     0xFF030000
+
 #define ZYNQ_SDHCI_BASEADDR0   0xFF160000
 #define ZYNQ_SDHCI_BASEADDR1   0xFF170000
 
index d0ec3c066f33014b825fa2d65095a18071a8f8e7..54bca6d47b72709c0c9657595a7ada9a84bd089b 100644 (file)
 #define CONFIG_CMDLINE_EDITING
 #define CONFIG_SYS_MAXARGS             64
 
+#define CONFIG_ZYNQ_I2C0
+#define CONFIG_SYS_I2C_ZYNQ
+
+/* I2C */
+#if defined(CONFIG_SYS_I2C_ZYNQ)
+# define CONFIG_CMD_I2C
+# define CONFIG_SYS_I2C
+# define CONFIG_SYS_I2C_ZYNQ_SPEED             100000
+# define CONFIG_SYS_I2C_ZYNQ_SLAVE             0
+#endif
+
+#define CONFIG_ZYNQMP_EEPROM
+
+/* EEPROM */
+#ifdef CONFIG_ZYNQMP_EEPROM
+# define CONFIG_CMD_EEPROM
+# define CONFIG_SYS_I2C_EEPROM_ADDR_LEN                2
+# define CONFIG_SYS_I2C_EEPROM_ADDR            0x54
+# define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS     4
+# define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5
+# define CONFIG_SYS_EEPROM_SIZE                        (64 * 1024)
+#endif
+
 #define CONFIG_FIT
 #define CONFIG_FIT_VERBOSE       /* enable fit_format_{error,warning}() */