blob: 68c46129d14f38e6e31dded629f3f376e47c4675 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* drivers/amlogic/media/camera/common/plat_ctrl.h
*
* Copyright (C) 2017 Amlogic, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
*/
#ifndef _AMLOGIC_CAMERA_PLAT_CTRL_H
#define _AMLOGIC_CAMERA_PLAT_CTRL_H
#define ADDR8_DATA8 0
#define ADDR16_DATA8 1
#define ADDR16_DATA16 2
#define ADDR8_DATA16 3
#define TIME_DELAY 0xfe
#define END_OF_SCRIPT 0xff
struct cam_i2c_msg_s {
unsigned char type;
unsigned short addr;
unsigned short data;
};
int i2c_get_byte(struct i2c_client *client, unsigned short addr);
int i2c_get_word(struct i2c_client *client, unsigned short addr);
int i2c_get_byte_add8(struct i2c_client *client, unsigned char addr);
int i2c_put_byte(struct i2c_client *client, unsigned short addr,
unsigned char data);
int i2c_put_word(struct i2c_client *client, unsigned short addr,
unsigned short data);
int i2c_put_byte_add8_new(struct i2c_client *client, unsigned char addr,
unsigned char data);
int i2c_put_byte_add8(struct i2c_client *client, char *buf, int len);
int cam_i2c_send_msg(struct i2c_client *client,
struct cam_i2c_msg_s i2c_msg);
#endif /* _AMLOGIC_CAMERA_PLAT_CTRL_H. */