ChromeOS bot merged this change.
driver: Add driver header for PCA9555 I/O port controller
BUG=b:64394037
BRANCH=glkrvp
TEST=Manually tested on GLKRVP, i2cxfer works
Change-Id: If65e5039987ecbb7fa2a3a5eeeef5af6d73ab66a
Signed-off-by: Vijay Hiremath <vijay.p....@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/603987
Commit-Ready: Vijay P Hiremath <vijay.p....@intel.com>
Tested-by: Vijay P Hiremath <vijay.p....@intel.com>
Reviewed-by: Aaron Durbin <adu...@chromium.org>
Reviewed-by: Aseda Aboagye <aabo...@chromium.org>
---
A driver/ioexpander_pca9555.h
1 file changed, 41 insertions(+), 0 deletions(-)
diff --git a/driver/ioexpander_pca9555.h b/driver/ioexpander_pca9555.h
new file mode 100644
index 0000000..3a932ce
--- /dev/null
+++ b/driver/ioexpander_pca9555.h
@@ -0,0 +1,41 @@
+/* Copyright 2017 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * NXP PCA9555 I/O Port expander driver header
+ */
+
+#ifndef __CROS_EC_IOEXPANDER_PCA9555_H
+#define __CROS_EC_IOEXPANDER_PCA9555_H
+
+#include "i2c.h"
+
+#define PCA9555_CMD_INPUT_PORT_0 0
+#define PCA9555_CMD_INPUT_PORT_1 1
+#define PCA9555_CMD_OUTPUT_PORT_0 2
+#define PCA9555_CMD_OUTPUT_PORT_1 3
+#define PCA9555_CMD_POLARITY_INVERSION_PORT_0 4
+#define PCA9555_CMD_POLARITY_INVERSION_PORT_1 5
+#define PCA9555_CMD_CONFIGURATION_PORT_0 6
+#define PCA9555_CMD_CONFIGURATION_PORT_1 7
+
+#define PCA9555_IO_0 (1 << 0)
+#define PCA9555_IO_1 (1 << 1)
+#define PCA9555_IO_2 (1 << 2)
+#define PCA9555_IO_3 (1 << 3)
+#define PCA9555_IO_4 (1 << 4)
+#define PCA9555_IO_5 (1 << 5)
+#define PCA9555_IO_6 (1 << 6)
+#define PCA9555_IO_7 (1 << 7)
+
+static inline int pca9555_read(int port, int addr, int reg, int *data_ptr)
+{
+ return i2c_read8(port, addr, reg, data_ptr);
+}
+
+static inline int pca9555_write(int port, int addr, int reg, int data)
+{
+ return i2c_write8(port, addr, reg, data);
+}
+
+#endif /* __CROS_EC_IOEXPANDER_PCA9555_H */
To view, visit change 603987. To unsubscribe, or for help writing mail filters, visit settings.