From 6ca6bcafb74d2dc43a5082c1b7caf6b2aa453c2d Mon Sep 17 00:00:00 2001 From: Nikita Shubin <n.shubin@yadro.com> Date: Wed, 10 Nov 2021 12:42:28 +0300 Subject: lib: utils/i2c: Add simple FDT based I2C framework FDT based I2C framework on the top of I2C library. The drivers are probed on demand by fdt_i2c_adapter_get function. Tested-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Alexandre Ghiti <alexandre.ghiti@canonical.com> Tested-by: Alexandre Ghiti <alexandre.ghiti@canonical.com> Signed-off-by: Nikita Shubin <n.shubin@yadro.com> --- include/sbi_utils/i2c/fdt_i2c.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 include/sbi_utils/i2c/fdt_i2c.h (limited to 'include') diff --git a/include/sbi_utils/i2c/fdt_i2c.h b/include/sbi_utils/i2c/fdt_i2c.h new file mode 100644 index 0000000..c6e3339 --- /dev/null +++ b/include/sbi_utils/i2c/fdt_i2c.h @@ -0,0 +1,26 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2021 YADRO + * + * Authors: + * Nikita Shubin <n.shubin@yadro.com> + */ + +#ifndef __FDT_I2C_H__ +#define __FDT_I2C_H__ + +#include <sbi_utils/i2c/i2c.h> + +/** FDT based I2C adapter driver */ +struct fdt_i2c_adapter { + const struct fdt_match *match_table; + int (*init)(void *fdt, int nodeoff, + const struct fdt_match *match); +}; + +/** Get I2C adapter identified by nodeoff */ +int fdt_i2c_adapter_get(void *fdt, int nodeoff, + struct i2c_adapter **out_adapter); + +#endif -- cgit v1.2.3