1*5e2f0177STim Harvey /* 2*5e2f0177STim Harvey * Copyright (C) 2014 Gateworks Corporation 3*5e2f0177STim Harvey * Tim Harvey <tharvey@gateworks.com> 4*5e2f0177STim Harvey * 5*5e2f0177STim Harvey * SPDX-License-Identifier: GPL-2.0+ 6*5e2f0177STim Harvey */ 7*5e2f0177STim Harvey 8*5e2f0177STim Harvey #include <common.h> 9*5e2f0177STim Harvey #include <errno.h> 10*5e2f0177STim Harvey #include <i2c.h> 11*5e2f0177STim Harvey #include <power/pmic.h> 12*5e2f0177STim Harvey #include <power/ltc3676_pmic.h> 13*5e2f0177STim Harvey 14*5e2f0177STim Harvey int power_ltc3676_init(unsigned char bus) 15*5e2f0177STim Harvey { 16*5e2f0177STim Harvey static const char name[] = "LTC3676_PMIC"; 17*5e2f0177STim Harvey struct pmic *p = pmic_alloc(); 18*5e2f0177STim Harvey 19*5e2f0177STim Harvey if (!p) { 20*5e2f0177STim Harvey printf("%s: POWER allocation error!\n", __func__); 21*5e2f0177STim Harvey return -ENOMEM; 22*5e2f0177STim Harvey } 23*5e2f0177STim Harvey 24*5e2f0177STim Harvey p->name = name; 25*5e2f0177STim Harvey p->interface = PMIC_I2C; 26*5e2f0177STim Harvey p->number_of_regs = LTC3676_NUM_OF_REGS; 27*5e2f0177STim Harvey p->hw.i2c.addr = CONFIG_POWER_LTC3676_I2C_ADDR; 28*5e2f0177STim Harvey p->hw.i2c.tx_num = 1; 29*5e2f0177STim Harvey p->bus = bus; 30*5e2f0177STim Harvey 31*5e2f0177STim Harvey return 0; 32*5e2f0177STim Harvey } 33