blob: 44ef5da214705a1990256d574a2f6edc53b08c48 [file] [log] [blame]
Kenneth Heitkee44b0ce2013-03-12 11:41:46 -07001/* Copyright (C) 2010 Google, Inc.
2 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
3 * Author: Dima Zavin <dima@android.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 and
7 * only version 2 as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
David Brownce44bf52013-03-12 11:41:54 -070015#ifndef _LINUX_SSBI_H
16#define _LINUX_SSBI_H
Kenneth Heitkee44b0ce2013-03-12 11:41:46 -070017
18#include <linux/types.h>
19
David Brownce44bf52013-03-12 11:41:54 -070020struct ssbi_slave_info {
Kenneth Heitkee44b0ce2013-03-12 11:41:46 -070021 const char *name;
22 void *platform_data;
23};
24
David Brownce44bf52013-03-12 11:41:54 -070025enum ssbi_controller_type {
Kenneth Heitkee44b0ce2013-03-12 11:41:46 -070026 MSM_SBI_CTRL_SSBI = 0,
27 MSM_SBI_CTRL_SSBI2,
28 MSM_SBI_CTRL_PMIC_ARBITER,
29};
30
David Brownce44bf52013-03-12 11:41:54 -070031struct ssbi_platform_data {
32 struct ssbi_slave_info slave;
33 enum ssbi_controller_type controller_type;
Kenneth Heitkee44b0ce2013-03-12 11:41:46 -070034};
35
David Brownce44bf52013-03-12 11:41:54 -070036int ssbi_write(struct device *dev, u16 addr, u8 *buf, int len);
37int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len);
Kenneth Heitkee44b0ce2013-03-12 11:41:46 -070038#endif