1a2c81616SWang Jie /* 2a2c81616SWang Jie * (C) Copyright 2020 Rockchip Electronics Co., Ltd 3a2c81616SWang Jie * 4a2c81616SWang Jie * SPDX-License-Identifier: GPL-2.0+ 5a2c81616SWang Jie */ 6a2c81616SWang Jie 7a2c81616SWang Jie #ifndef _power_delivery_H_ 8a2c81616SWang Jie #define _power_delivery_H_ 9a2c81616SWang Jie 10a2c81616SWang Jie /* Capability */ 11a2c81616SWang Jie #define FG_CAP_FUEL_GAUGE BIT(0) 12a2c81616SWang Jie #define FG_CAP_CHARGER BIT(1) 13a2c81616SWang Jie 14a2c81616SWang Jie struct dm_power_delivery_ops { 15a2c81616SWang Jie int (*get_voltage)(struct udevice *dev); 16a2c81616SWang Jie int (*get_current)(struct udevice *dev); 17a2c81616SWang Jie int (*get_online)(struct udevice *dev); 18a2c81616SWang Jie }; 19a2c81616SWang Jie 20a2c81616SWang Jie struct power_delivery_data { 21a2c81616SWang Jie int voltage; 22a2c81616SWang Jie int current; 23a2c81616SWang Jie int online; 24a2c81616SWang Jie }; 25a2c81616SWang Jie 26*d0d19ce5SWang Jie #ifdef CONFIG_DM_POWER_DELIVERY 27a2c81616SWang Jie int power_delivery_get_data(struct udevice *dev, struct power_delivery_data *pd_data); 28*d0d19ce5SWang Jie #else power_delivery_get_data(struct udevice * dev,struct power_delivery_data * pd_data)29*d0d19ce5SWang Jieinline int power_delivery_get_data(struct udevice *dev, 30*d0d19ce5SWang Jie struct power_delivery_data *pd_data) 31*d0d19ce5SWang Jie { 32*d0d19ce5SWang Jie return -ENOSYS; 33*d0d19ce5SWang Jie } 34*d0d19ce5SWang Jie #endif 35a2c81616SWang Jie #endif 36