Thierry Reding | 6173c45 | 2014-12-09 22:25:05 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2014 NVIDIA Corporation |
| 3 | * |
| 4 | * SPDX-License-Identifier: GPL-2.0+ |
| 5 | */ |
| 6 | |
| 7 | #ifndef __POWER_AS3722_H__ |
| 8 | #define __POWER_AS3722_H__ |
| 9 | |
| 10 | #include <asm/types.h> |
| 11 | |
| 12 | #define AS3722_GPIO_OUTPUT_VDDH (1 << 0) |
| 13 | #define AS3722_GPIO_INVERT (1 << 1) |
| 14 | |
Simon Glass | deea211 | 2017-07-25 08:30:10 -0600 | [diff] [blame^] | 15 | #define AS3722_DEVICE_ID 0x0c |
| 16 | #define AS3722_SD_VOLTAGE(n) (0x00 + (n)) |
| 17 | #define AS3722_LDO_VOLTAGE(n) (0x10 + (n)) |
| 18 | #define AS3722_SD_CONTROL 0x4d |
| 19 | #define AS3722_LDO_CONTROL 0x4e |
| 20 | #define AS3722_ASIC_ID1 0x90 |
| 21 | #define AS3722_ASIC_ID2 0x91 |
| 22 | |
Thierry Reding | 6173c45 | 2014-12-09 22:25:05 -0700 | [diff] [blame] | 23 | struct udevice; |
| 24 | |
| 25 | int as3722_init(struct udevice **devp); |
| 26 | int as3722_sd_enable(struct udevice *pmic, unsigned int sd); |
| 27 | int as3722_sd_set_voltage(struct udevice *pmic, unsigned int sd, u8 value); |
| 28 | int as3722_ldo_enable(struct udevice *pmic, unsigned int ldo); |
| 29 | int as3722_ldo_set_voltage(struct udevice *pmic, unsigned int ldo, u8 value); |
| 30 | int as3722_gpio_configure(struct udevice *pmic, unsigned int gpio, |
| 31 | unsigned long flags); |
| 32 | int as3722_gpio_direction_output(struct udevice *pmic, unsigned int gpio, |
| 33 | unsigned int level); |
Simon Glass | d55b7d4 | 2015-04-14 21:03:26 -0600 | [diff] [blame] | 34 | int as3722_read(struct udevice *pmic, u8 reg, u8 *value); |
| 35 | int as3722_write(struct udevice *pmic, u8 reg, u8 value); |
| 36 | int as3722_get(struct udevice **devp); |
Thierry Reding | 6173c45 | 2014-12-09 22:25:05 -0700 | [diff] [blame] | 37 | |
| 38 | #endif /* __POWER_AS3722_H__ */ |