xref: /rk3399_rockchip-uboot/drivers/power/pmic/pmic_mc34vr500.c (revision 0675f992dbf4a785a05a1baf149c2bce6aa5fe90)
1*762161b0SHou Zhiqiang /*
2*762161b0SHou Zhiqiang  * Copyright 2016 Freescale Semiconductor, Inc.
3*762161b0SHou Zhiqiang  * Hou Zhiqiang <Zhiqiang.Hou@freescale.com>
4*762161b0SHou Zhiqiang  *
5*762161b0SHou Zhiqiang  * SPDX-License-Identifier:	GPL-2.0+
6*762161b0SHou Zhiqiang  */
7*762161b0SHou Zhiqiang 
8*762161b0SHou Zhiqiang #include <common.h>
9*762161b0SHou Zhiqiang #include <errno.h>
10*762161b0SHou Zhiqiang #include <i2c.h>
11*762161b0SHou Zhiqiang #include <power/pmic.h>
12*762161b0SHou Zhiqiang #include <power/mc34vr500_pmic.h>
13*762161b0SHou Zhiqiang 
power_mc34vr500_init(unsigned char bus)14*762161b0SHou Zhiqiang int power_mc34vr500_init(unsigned char bus)
15*762161b0SHou Zhiqiang {
16*762161b0SHou Zhiqiang 	static const char name[] = "MC34VR500";
17*762161b0SHou Zhiqiang 	struct pmic *p = pmic_alloc();
18*762161b0SHou Zhiqiang 
19*762161b0SHou Zhiqiang 	if (!p) {
20*762161b0SHou Zhiqiang 		printf("%s: POWER allocation error!\n", __func__);
21*762161b0SHou Zhiqiang 		return -ENOMEM;
22*762161b0SHou Zhiqiang 	}
23*762161b0SHou Zhiqiang 
24*762161b0SHou Zhiqiang 	p->name = name;
25*762161b0SHou Zhiqiang 	p->interface = PMIC_I2C;
26*762161b0SHou Zhiqiang 	p->number_of_regs = MC34VR500_NUM_OF_REGS;
27*762161b0SHou Zhiqiang 	p->hw.i2c.addr = MC34VR500_I2C_ADDR;
28*762161b0SHou Zhiqiang 	p->hw.i2c.tx_num = 1;
29*762161b0SHou Zhiqiang 	p->bus = bus;
30*762161b0SHou Zhiqiang 
31*762161b0SHou Zhiqiang 	return 0;
32*762161b0SHou Zhiqiang }
33