xref: /linux/include/linux/regulator/fan53555.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*579d8b5cSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
249d8c599SYunfan Zhang /*
349d8c599SYunfan Zhang  * fan53555.h - Fairchild Regulator FAN53555 Driver
449d8c599SYunfan Zhang  *
549d8c599SYunfan Zhang  * Copyright (C) 2012 Marvell Technology Ltd.
649d8c599SYunfan Zhang  * Yunfan Zhang <yfzhang@marvell.com>
749d8c599SYunfan Zhang  */
849d8c599SYunfan Zhang 
949d8c599SYunfan Zhang #ifndef __FAN53555_H__
1036f8250eSAxel Lin #define __FAN53555_H__
1149d8c599SYunfan Zhang 
1249d8c599SYunfan Zhang /* VSEL ID */
1349d8c599SYunfan Zhang enum {
1449d8c599SYunfan Zhang 	FAN53555_VSEL_ID_0 = 0,
1549d8c599SYunfan Zhang 	FAN53555_VSEL_ID_1,
1649d8c599SYunfan Zhang };
1749d8c599SYunfan Zhang 
1849d8c599SYunfan Zhang /* Transition slew rate limiting from a low to high voltage.
1949d8c599SYunfan Zhang  * -----------------------
2049d8c599SYunfan Zhang  *   Bin |Slew Rate(mV/uS)
2149d8c599SYunfan Zhang  * ------|----------------
2249d8c599SYunfan Zhang  *   000 |    64.00
2349d8c599SYunfan Zhang  * ------|----------------
2449d8c599SYunfan Zhang  *   001 |    32.00
2549d8c599SYunfan Zhang  * ------|----------------
2649d8c599SYunfan Zhang  *   010 |    16.00
2749d8c599SYunfan Zhang  * ------|----------------
2849d8c599SYunfan Zhang  *   011 |     8.00
2949d8c599SYunfan Zhang  * ------|----------------
3049d8c599SYunfan Zhang  *   100 |     4.00
3149d8c599SYunfan Zhang  * ------|----------------
3249d8c599SYunfan Zhang  *   101 |     2.00
3349d8c599SYunfan Zhang  * ------|----------------
3449d8c599SYunfan Zhang  *   110 |     1.00
3549d8c599SYunfan Zhang  * ------|----------------
3649d8c599SYunfan Zhang  *   111 |     0.50
3749d8c599SYunfan Zhang  * -----------------------
3849d8c599SYunfan Zhang  */
3949d8c599SYunfan Zhang enum {
4049d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_64MV = 0,
4149d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_32MV,
4249d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_16MV,
4349d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_8MV,
4449d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_4MV,
4549d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_2MV,
4649d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_1MV,
4749d8c599SYunfan Zhang 	FAN53555_SLEW_RATE_0_5MV,
4849d8c599SYunfan Zhang };
4949d8c599SYunfan Zhang 
5049d8c599SYunfan Zhang struct fan53555_platform_data {
5149d8c599SYunfan Zhang 	struct regulator_init_data *regulator;
5249d8c599SYunfan Zhang 	unsigned int slew_rate;
5349d8c599SYunfan Zhang 	/* Sleep VSEL ID */
5449d8c599SYunfan Zhang 	unsigned int sleep_vsel_id;
5549d8c599SYunfan Zhang };
5649d8c599SYunfan Zhang 
5749d8c599SYunfan Zhang #endif /* __FAN53555_H__ */
58