xref: /rk3399_rockchip-uboot/drivers/power/pmic/pmic_pfuze100.c (revision 61dfa65e405f2713dfc8090ed8147ec33b003717)
191baa6f7STim Harvey /*
291baa6f7STim Harvey  * Copyright (C) 2014 Gateworks Corporation
391baa6f7STim Harvey  * Tim Harvey <tharvey@gateworks.com>
491baa6f7STim Harvey  *
591baa6f7STim Harvey  * SPDX-License-Identifier:      GPL-2.0+
691baa6f7STim Harvey  */
791baa6f7STim Harvey 
891baa6f7STim Harvey #include <common.h>
991baa6f7STim Harvey #include <errno.h>
1091baa6f7STim Harvey #include <i2c.h>
1191baa6f7STim Harvey #include <power/pmic.h>
1291baa6f7STim Harvey #include <power/pfuze100_pmic.h>
1391baa6f7STim Harvey 
power_pfuze100_init(unsigned char bus)1493a6d92cSTim Harvey int power_pfuze100_init(unsigned char bus)
1591baa6f7STim Harvey {
16676ac24eSFabio Estevam 	static const char name[] = "PFUZE100";
1791baa6f7STim Harvey 	struct pmic *p = pmic_alloc();
1891baa6f7STim Harvey 
1991baa6f7STim Harvey 	if (!p) {
2091baa6f7STim Harvey 		printf("%s: POWER allocation error!\n", __func__);
2191baa6f7STim Harvey 		return -ENOMEM;
2291baa6f7STim Harvey 	}
2391baa6f7STim Harvey 
2491baa6f7STim Harvey 	p->name = name;
2591baa6f7STim Harvey 	p->interface = PMIC_I2C;
26*1c1f6076SPeng Fan 	p->number_of_regs = PFUZE100_NUM_OF_REGS;
2791baa6f7STim Harvey 	p->hw.i2c.addr = CONFIG_POWER_PFUZE100_I2C_ADDR;
2891baa6f7STim Harvey 	p->hw.i2c.tx_num = 1;
2991baa6f7STim Harvey 	p->bus = bus;
3091baa6f7STim Harvey 
3191baa6f7STim Harvey 	return 0;
3291baa6f7STim Harvey }
33