1*f39db26cSSui Jingfeng /* SPDX-License-Identifier: GPL-2.0+ */ 2*f39db26cSSui Jingfeng /* 3*f39db26cSSui Jingfeng * Copyright (C) 2023 Loongson Technology Corporation Limited 4*f39db26cSSui Jingfeng */ 5*f39db26cSSui Jingfeng 6*f39db26cSSui Jingfeng #ifndef __LSDC_I2C_H__ 7*f39db26cSSui Jingfeng #define __LSDC_I2C_H__ 8*f39db26cSSui Jingfeng 9*f39db26cSSui Jingfeng #include <linux/i2c.h> 10*f39db26cSSui Jingfeng #include <linux/i2c-algo-bit.h> 11*f39db26cSSui Jingfeng 12*f39db26cSSui Jingfeng struct lsdc_i2c { 13*f39db26cSSui Jingfeng struct i2c_adapter adapter; 14*f39db26cSSui Jingfeng struct i2c_algo_bit_data bit; 15*f39db26cSSui Jingfeng struct drm_device *ddev; 16*f39db26cSSui Jingfeng void __iomem *dir_reg; 17*f39db26cSSui Jingfeng void __iomem *dat_reg; 18*f39db26cSSui Jingfeng /* pin bit mask */ 19*f39db26cSSui Jingfeng u8 sda; 20*f39db26cSSui Jingfeng u8 scl; 21*f39db26cSSui Jingfeng }; 22*f39db26cSSui Jingfeng 23*f39db26cSSui Jingfeng struct lsdc_display_pipe; 24*f39db26cSSui Jingfeng 25*f39db26cSSui Jingfeng int lsdc_create_i2c_chan(struct drm_device *ddev, 26*f39db26cSSui Jingfeng struct lsdc_display_pipe *dispipe, 27*f39db26cSSui Jingfeng unsigned int index); 28*f39db26cSSui Jingfeng 29*f39db26cSSui Jingfeng #endif 30