1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright 2014 Freescale Semiconductor, Inc. 4 * Copyright 2020-21 NXP 5 * Copyright 2021 Microsoft Corporation 6 */ 7 8 #ifndef __NXP_I2C_COMMON_H__ 9 #define __NXP_I2C_COMMON_H__ 10 11 /* Common functionality shared by the I2C drivers for VID and the mux. */ 12 #ifdef CONFIG_DM_I2C 13 #define DEVICE_HANDLE_T struct udevice * 14 15 #define I2C_READ(dev, register, data, length) \ 16 dm_i2c_read(dev, register, data, length) 17 #define I2C_WRITE(dev, register, data, length) \ 18 dm_i2c_write(dev, register, data, length) 19 #else 20 #define DEVICE_HANDLE_T int 21 22 #define I2C_READ(dev, register, data, length) \ 23 i2c_read(dev, register, 1, data, length) 24 #define I2C_WRITE(dev, register, data, length) \ 25 i2c_write(dev, register, 1, data, length) 26 #endif 27 28 int fsl_i2c_get_device(int address, int bus, DEVICE_HANDLE_T *dev); 29 30 #endif 31