1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2014 NVIDIA Corporation
4  */
5 
6 #ifndef __POWER_AS3722_H__
7 #define __POWER_AS3722_H__
8 
9 struct udevice;
10 
11 #define AS3722_GPIO_OUTPUT_VDDH (1 << 0)
12 #define AS3722_GPIO_INVERT (1 << 1)
13 
14 #define AS3722_DEVICE_ID 0x0c
15 #define AS3722_SD_VOLTAGE(n) (0x00 + (n))
16 #define AS3722_LDO_VOLTAGE(n) (0x10 + (n))
17 #define AS3722_SD_CONTROL 0x4d
18 #define AS3722_LDO_CONTROL0 0x4e
19 #define AS3722_LDO_CONTROL1 0x4f
20 #define AS3722_ASIC_ID1 0x90
21 #define AS3722_ASIC_ID2 0x91
22 
23 #define AS3722_GPIO_CONTROL(n) (0x08 + (n))
24 #define AS3722_GPIO_SIGNAL_OUT 0x20
25 #define AS3722_GPIO_CONTROL_MODE_OUTPUT_VDDH (1 << 0)
26 #define AS3722_GPIO_CONTROL_MODE_OUTPUT_VDDL (7 << 0)
27 #define AS3722_GPIO_CONTROL_INVERT (1 << 7)
28 
29 int as3722_sd_set_voltage(struct udevice *dev, unsigned int sd, u8 value);
30 int as3722_ldo_set_voltage(struct udevice *dev, unsigned int ldo, u8 value);
31 
32 #endif /* __POWER_AS3722_H__ */
33