Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * max8973-regulator.h -- MAXIM 8973 regulator
0004  *
0005  * Interface for regulator driver for MAXIM 8973 DC-DC step-down
0006  * switching regulator.
0007  *
0008  * Copyright (C) 2012 NVIDIA Corporation
0009 
0010  * Author: Laxman Dewangan <ldewangan@nvidia.com>
0011  */
0012 
0013 #ifndef __LINUX_REGULATOR_MAX8973_H
0014 #define __LINUX_REGULATOR_MAX8973_H
0015 
0016 /*
0017  * Control flags for configuration of the device.
0018  * Client need to pass this information with ORed
0019  */
0020 #define MAX8973_CONTROL_REMOTE_SENSE_ENABLE         0x00000001
0021 #define MAX8973_CONTROL_FALLING_SLEW_RATE_ENABLE        0x00000002
0022 #define MAX8973_CONTROL_OUTPUT_ACTIVE_DISCH_ENABLE      0x00000004
0023 #define MAX8973_CONTROL_BIAS_ENABLE             0x00000008
0024 #define MAX8973_CONTROL_PULL_DOWN_ENABLE            0x00000010
0025 #define MAX8973_CONTROL_FREQ_SHIFT_9PER_ENABLE          0x00000020
0026 
0027 #define MAX8973_CONTROL_CLKADV_TRIP_DISABLED            0x00000000
0028 #define MAX8973_CONTROL_CLKADV_TRIP_75mV_PER_US         0x00010000
0029 #define MAX8973_CONTROL_CLKADV_TRIP_150mV_PER_US        0x00020000
0030 #define MAX8973_CONTROL_CLKADV_TRIP_75mV_PER_US_HIST_DIS    0x00030000
0031 
0032 #define MAX8973_CONTROL_INDUCTOR_VALUE_NOMINAL          0x00000000
0033 #define MAX8973_CONTROL_INDUCTOR_VALUE_MINUS_30_PER     0x00100000
0034 #define MAX8973_CONTROL_INDUCTOR_VALUE_PLUS_30_PER      0x00200000
0035 #define MAX8973_CONTROL_INDUCTOR_VALUE_PLUS_60_PER      0x00300000
0036 
0037 /*
0038  * struct max8973_regulator_platform_data - max8973 regulator platform data.
0039  *
0040  * @reg_init_data: The regulator init data.
0041  * @control_flags: Control flags which are ORed value of above flags to
0042  *      configure device.
0043  * @junction_temp_warning: Junction temp in millicelcius on which warning need
0044  *             to be set. Thermal functionality is only supported on
0045  *             MAX77621. The threshold warning supported by MAX77621
0046  *             are 120C and 140C.
0047  * @enable_ext_control: Enable the voltage enable/disable through external
0048  *      control signal from EN input pin. If it is false then
0049  *      voltage output will be enabled/disabled through EN bit of
0050  *      device register.
0051  * @enable_gpio: Enable GPIO. If EN pin is controlled through GPIO from host
0052  *      then GPIO number can be provided. If no GPIO controlled then
0053  *      it should be -1.
0054  * @dvs_gpio: GPIO for dvs. It should be -1 if this is tied with fixed logic.
0055  * @dvs_def_state: Default state of dvs. 1 if it is high else 0.
0056  */
0057 struct max8973_regulator_platform_data {
0058     struct regulator_init_data *reg_init_data;
0059     unsigned long control_flags;
0060     unsigned long junction_temp_warning;
0061     bool enable_ext_control;
0062     int enable_gpio;
0063     int dvs_gpio;
0064     unsigned dvs_def_state:1;
0065 };
0066 
0067 #endif /* __LINUX_REGULATOR_MAX8973_H */