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 Alonsoint 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