linux/include/linux/mfd/rt5033.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * MFD core driver for the RT5033
   4 *
   5 * Copyright (C) 2014 Samsung Electronics
   6 * Author: Beomho Seo <beomho.seo@samsung.com>
   7 */
   8
   9#ifndef __RT5033_H__
  10#define __RT5033_H__
  11
  12#include <linux/regulator/consumer.h>
  13#include <linux/i2c.h>
  14#include <linux/regmap.h>
  15#include <linux/power_supply.h>
  16
  17/* RT5033 regulator IDs */
  18enum rt5033_regulators {
  19        RT5033_BUCK = 0,
  20        RT5033_LDO,
  21        RT5033_SAFE_LDO,
  22
  23        RT5033_REGULATOR_NUM,
  24};
  25
  26struct rt5033_dev {
  27        struct device *dev;
  28
  29        struct regmap *regmap;
  30        struct regmap_irq_chip_data *irq_data;
  31        int irq;
  32        bool wakeup;
  33};
  34
  35struct rt5033_battery {
  36        struct i2c_client       *client;
  37        struct rt5033_dev       *rt5033;
  38        struct regmap           *regmap;
  39        struct power_supply     *psy;
  40};
  41
  42/* RT5033 charger platform data */
  43struct rt5033_charger_data {
  44        unsigned int pre_uamp;
  45        unsigned int pre_uvolt;
  46        unsigned int const_uvolt;
  47        unsigned int eoc_uamp;
  48        unsigned int fast_uamp;
  49};
  50
  51struct rt5033_charger {
  52        struct device           *dev;
  53        struct rt5033_dev       *rt5033;
  54        struct power_supply     psy;
  55
  56        struct rt5033_charger_data      *chg;
  57};
  58
  59#endif /* __RT5033_H__ */
  60