msm8974: Enable I2C using BLSP block
Change-Id: I75cc87ee6cad38b8594133351db4b21277dd4f73
diff --git a/app/tests/i2c_test.c b/app/tests/i2c_test.c
new file mode 100644
index 0000000..cfaa920
--- /dev/null
+++ b/app/tests/i2c_test.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <i2c_qup.h>
+#include <blsp_qup.h>
+
+#define EEPROM_HW_I2C_ADDRESS (0x52)
+
+void eeprom_read_test()
+{
+
+ struct qup_i2c_dev *dev;
+ char ret[100] = {'\0'};
+
+ dev = qup_blsp_i2c_init(BLSP_ID_2, QUP_ID_4, 100000, 24000000);
+
+ if (!dev) {
+ dprintf(CRITICAL, "Failed initializing I2c\n");
+ return;
+ }
+
+ /* Create a i2c_msg buffer, to read from eprom */
+
+ struct i2c_msg msg_buf[] = {
+ {EEPROM_HW_I2C_ADDRESS, I2C_M_RD, 100, ret}
+ };
+
+ qup_i2c_xfer(dev, msg_buf, 1);
+}
diff --git a/app/tests/rules.mk b/app/tests/rules.mk
index 8f78eed..c8578ec 100644
--- a/app/tests/rules.mk
+++ b/app/tests/rules.mk
@@ -5,4 +5,5 @@
OBJS += \
$(LOCAL_DIR)/tests.o \
$(LOCAL_DIR)/thread_tests.o \
- $(LOCAL_DIR)/printf_tests.o
+ $(LOCAL_DIR)/printf_tests.o \
+ $(LOCAL_DIR)/i2c_tests.o