xref: /rk3399_rockchip-uboot/drivers/power/pmic/pmic_pfuze3000.c (revision 0ffadab1b9ab59816a0f71c927604bb6c402d863)
1*48469c2dSAdrian Alonso /*
2*48469c2dSAdrian Alonso  * Copyright (C) 2015 Freescale Semiconductor, Inc.
3*48469c2dSAdrian Alonso  * Peng Fan <Peng.Fan@freescale.com>
4*48469c2dSAdrian Alonso  *
5*48469c2dSAdrian Alonso  * SPDX-License-Identifier:      GPL-2.0+
6*48469c2dSAdrian Alonso  */
7*48469c2dSAdrian Alonso 
8*48469c2dSAdrian Alonso #include <common.h>
9*48469c2dSAdrian Alonso #include <errno.h>
10*48469c2dSAdrian Alonso #include <i2c.h>
11*48469c2dSAdrian Alonso #include <power/pmic.h>
12*48469c2dSAdrian Alonso #include <power/pfuze3000_pmic.h>
13*48469c2dSAdrian Alonso 
power_pfuze3000_init(unsigned char bus)14*48469c2dSAdrian Alonso int power_pfuze3000_init(unsigned char bus)
15*48469c2dSAdrian Alonso {
16*48469c2dSAdrian Alonso 	static const char name[] = "PFUZE3000";
17*48469c2dSAdrian Alonso 	struct pmic *p = pmic_alloc();
18*48469c2dSAdrian Alonso 
19*48469c2dSAdrian Alonso 	if (!p) {
20*48469c2dSAdrian Alonso 		printf("%s: POWER allocation error!\n", __func__);
21*48469c2dSAdrian Alonso 		return -ENOMEM;
22*48469c2dSAdrian Alonso 	}
23*48469c2dSAdrian Alonso 
24*48469c2dSAdrian Alonso 	p->name = name;
25*48469c2dSAdrian Alonso 	p->interface = PMIC_I2C;
26*48469c2dSAdrian Alonso 	p->number_of_regs = PMIC_NUM_OF_REGS;
27*48469c2dSAdrian Alonso 	p->hw.i2c.addr = CONFIG_POWER_PFUZE3000_I2C_ADDR;
28*48469c2dSAdrian Alonso 	p->hw.i2c.tx_num = 1;
29*48469c2dSAdrian Alonso 	p->bus = bus;
30*48469c2dSAdrian Alonso 
31*48469c2dSAdrian Alonso 	return 0;
32*48469c2dSAdrian Alonso }
33