1*a643acd4SFabio Estevam /* 2*a643acd4SFabio Estevam * Copyright (C) 2015 Freescale Semiconductor, Inc. 3*a643acd4SFabio Estevam * Fabio Estevam <fabio.estevam@freescale.com> 4*a643acd4SFabio Estevam * 5*a643acd4SFabio Estevam * SPDX-License-Identifier: GPL-2.0+ 6*a643acd4SFabio Estevam */ 7*a643acd4SFabio Estevam 8*a643acd4SFabio Estevam #include <common.h> 9*a643acd4SFabio Estevam #include <errno.h> 10*a643acd4SFabio Estevam #include <i2c.h> 11*a643acd4SFabio Estevam #include <power/pmic.h> 12*a643acd4SFabio Estevam #include <power/max77696_pmic.h> 13*a643acd4SFabio Estevam power_max77696_init(unsigned char bus)14*a643acd4SFabio Estevamint power_max77696_init(unsigned char bus) 15*a643acd4SFabio Estevam { 16*a643acd4SFabio Estevam static const char name[] = "MAX77696"; 17*a643acd4SFabio Estevam struct pmic *p = pmic_alloc(); 18*a643acd4SFabio Estevam 19*a643acd4SFabio Estevam if (!p) { 20*a643acd4SFabio Estevam printf("%s: POWER allocation error!\n", __func__); 21*a643acd4SFabio Estevam return -ENOMEM; 22*a643acd4SFabio Estevam } 23*a643acd4SFabio Estevam 24*a643acd4SFabio Estevam p->name = name; 25*a643acd4SFabio Estevam p->interface = PMIC_I2C; 26*a643acd4SFabio Estevam p->number_of_regs = PMIC_NUM_OF_REGS; 27*a643acd4SFabio Estevam p->hw.i2c.addr = CONFIG_POWER_MAX77696_I2C_ADDR; 28*a643acd4SFabio Estevam p->hw.i2c.tx_num = 1; 29*a643acd4SFabio Estevam p->bus = bus; 30*a643acd4SFabio Estevam 31*a643acd4SFabio Estevam return 0; 32*a643acd4SFabio Estevam } 33