1/*
2 * Copyright 2017, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the BSD 2-Clause license. Note that NO WARRANTY is provided.
8 * See "LICENSE_BSD2.txt" for details.
9 *
10 * @TAG(DATA61_BSD)
11 */
12
13#pragma once
14
15enum i2c_id {
16    I2C0,
17    I2C1,
18    I2C2,
19    I2C3,
20    I2C4,
21    I2C5,
22    I2C6,
23    I2C7,
24    I2C8,
25    I2C9,
26    I2C10,
27    I2C11,
28    NI2C,
29    I2C_HDMI = I2C8,
30    I2C0_ISP = I2C9,
31    I2C1_ISP = I2C10,
32    I2C_SATAPHY = I2C11
33};
34
35/**
36 * Initalise an exynos I2C bus with memory mapped i2c deviced
37 * @param[in]   id      The id of the I2C bus to initalise
38 * @param[in]   base    The base address of the i2c device's mapped memory
39 * @param[in]   mux     Mux system for exynos
40 * @param[out]  i2c     I2C bus struct to be populated
41 */
42int exynos_i2c_init(enum i2c_id id, void* base, mux_sys_t* mux, i2c_bus_t* i2c);
43
44