blob: c10492f01675e38c4c31481abfa3ec1b0894fea6 [file] [log] [blame]
Sven Schwermer25957522019-06-24 13:03:33 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 Disruptive Technologies Research AS
4 * Sven Schwermer <sven.svenschwermer@disruptive-technologies.com>
5 */
6
7#ifndef _REGULATOR_COMMON_H
8#define _REGULATOR_COMMON_H
9
Sven Schwermer25957522019-06-24 13:03:33 +020010#include <asm/gpio.h>
Sven Schwermer25957522019-06-24 13:03:33 +020011
Simon Glassb75b15b2020-12-03 16:55:23 -070012struct regulator_common_plat {
Sven Schwermer25957522019-06-24 13:03:33 +020013 struct gpio_desc gpio; /* GPIO for regulator enable control */
14 unsigned int startup_delay_us;
15 unsigned int off_on_delay_us;
16};
17
Simon Glassaad29ae2020-12-03 16:55:21 -070018int regulator_common_of_to_plat(struct udevice *dev,
Simon Glassb75b15b2020-12-03 16:55:23 -070019 struct regulator_common_plat *dev_pdata, const
20 char *enable_gpio_name);
Sven Schwermer25957522019-06-24 13:03:33 +020021int regulator_common_get_enable(const struct udevice *dev,
Simon Glassb75b15b2020-12-03 16:55:23 -070022 struct regulator_common_plat *dev_pdata);
Sven Schwermer25957522019-06-24 13:03:33 +020023int regulator_common_set_enable(const struct udevice *dev,
Simon Glassb75b15b2020-12-03 16:55:23 -070024 struct regulator_common_plat *dev_pdata, bool enable);
Sven Schwermer25957522019-06-24 13:03:33 +020025
26#endif /* _REGULATOR_COMMON_H */