blob: b64b88819e6765634cf95b1ef4c43eccf6fae274 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/* Copyright (c) 2014 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.
*/
/* Master/slave identification */
#ifndef __BOARD_KEYBORG_MASTER_SLAVE_H
#define __BOARD_KEYBORG_MASTER_SLAVE_H
/**
* Get the identity of this chip.
*
* @return 1 if master; otherwise, 0.
*/
int master_slave_is_master(void);
/**
* Synchronize with the other chip. The other chip must also call this
* function to synchronize.
*
* @param timeout_ms Timeout value in millisecond. If the other chip
* doesn't synchronize within this time, the sync
* call fails.
*
* @return EC_SUCCESS, or non-zero if any error.
*/
int master_slave_sync(int timeout_ms);
/**
* Identify this chip and shake hands with the other chip.
*
* @return EC_SUCCESS, or non-zero if any error.
*/
int master_slave_init(void);
#endif /* __BOARD_KEYBORG_MASTER_SLAVE_H */
|