mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-11 02:15:14 +00:00
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.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/603987 Commit-Ready: Vijay P Hiremath <vijay.p.hiremath@intel.com> Tested-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
3bd19634bb
commit
a1649d151f
41
driver/ioexpander_pca9555.h
Normal file
41
driver/ioexpander_pca9555.h
Normal file
@@ -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 */
|
||||
Reference in New Issue
Block a user