mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
c2012cb47c
This pmic includes GPIOs which should have their own driver. Add a driver to support these. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Lukasz Majewski <lukma@denx.de> Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1 Tested-by: Stephen Warren <swarren@nvidia.com>
43 lines
1.4 KiB
C
43 lines
1.4 KiB
C
/*
|
|
* Copyright (C) 2014 NVIDIA Corporation
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __POWER_AS3722_H__
|
|
#define __POWER_AS3722_H__
|
|
|
|
#include <asm/types.h>
|
|
|
|
#define AS3722_GPIO_OUTPUT_VDDH (1 << 0)
|
|
#define AS3722_GPIO_INVERT (1 << 1)
|
|
|
|
#define AS3722_DEVICE_ID 0x0c
|
|
#define AS3722_SD_VOLTAGE(n) (0x00 + (n))
|
|
#define AS3722_LDO_VOLTAGE(n) (0x10 + (n))
|
|
#define AS3722_SD_CONTROL 0x4d
|
|
#define AS3722_LDO_CONTROL 0x4e
|
|
#define AS3722_ASIC_ID1 0x90
|
|
#define AS3722_ASIC_ID2 0x91
|
|
|
|
#define AS3722_GPIO_CONTROL(n) (0x08 + (n))
|
|
#define AS3722_GPIO_CONTROL_MODE_OUTPUT_VDDH (1 << 0)
|
|
#define AS3722_GPIO_CONTROL_MODE_OUTPUT_VDDL (7 << 0)
|
|
#define AS3722_GPIO_CONTROL_INVERT (1 << 7)
|
|
|
|
struct udevice;
|
|
|
|
int as3722_init(struct udevice **devp);
|
|
int as3722_sd_enable(struct udevice *pmic, unsigned int sd);
|
|
int as3722_sd_set_voltage(struct udevice *pmic, unsigned int sd, u8 value);
|
|
int as3722_ldo_enable(struct udevice *pmic, unsigned int ldo);
|
|
int as3722_ldo_set_voltage(struct udevice *pmic, unsigned int ldo, u8 value);
|
|
int as3722_gpio_configure(struct udevice *pmic, unsigned int gpio,
|
|
unsigned long flags);
|
|
int as3722_gpio_direction_output(struct udevice *pmic, unsigned int gpio,
|
|
unsigned int level);
|
|
int as3722_read(struct udevice *pmic, u8 reg, u8 *value);
|
|
int as3722_write(struct udevice *pmic, u8 reg, u8 value);
|
|
int as3722_get(struct udevice **devp);
|
|
|
|
#endif /* __POWER_AS3722_H__ */
|