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