linux/drivers/regulator/tps6287x-regulator.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2023 Axis Communications AB
 *
 * Driver for Texas Instruments TPS6287x PMIC.
 * Datasheet: https://www.ti.com/lit/ds/symlink/tps62873.pdf
 */

#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/driver.h>
#include <linux/bitfield.h>
#include <linux/linear_range.h>

#define TPS6287X_VSET
#define TPS6287X_CTRL1
#define TPS6287X_CTRL1_VRAMP
#define TPS6287X_CTRL1_FPWMEN
#define TPS6287X_CTRL1_SWEN
#define TPS6287X_CTRL2
#define TPS6287X_CTRL2_VRANGE
#define TPS6287X_CTRL3
#define TPS6287X_STATUS

static const struct regmap_config tps6287x_regmap_config =;

static const struct linear_range tps6287x_voltage_ranges[] =;

static const unsigned int tps6287x_voltage_range_sel[] =;

static const unsigned int tps6287x_ramp_table[] =;

static int tps6287x_set_mode(struct regulator_dev *rdev, unsigned int mode)
{}

static unsigned int tps6287x_get_mode(struct regulator_dev *rdev)
{}

static unsigned int tps6287x_of_map_mode(unsigned int mode)
{}

static const struct regulator_ops tps6287x_regulator_ops =;

static struct regulator_desc tps6287x_reg =;

static int tps6287x_i2c_probe(struct i2c_client *i2c)
{}

static const struct of_device_id tps6287x_dt_ids[] =;

MODULE_DEVICE_TABLE(of, tps6287x_dt_ids);

static const struct i2c_device_id tps6287x_i2c_id[] =;

MODULE_DEVICE_TABLE(i2c, tps6287x_i2c_id);

static struct i2c_driver tps6287x_regulator_driver =;

module_i2c_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();