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