1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 2461484c2SPaul Kocialkowski /* 3461484c2SPaul Kocialkowski * TWL6030 input 4461484c2SPaul Kocialkowski * 5461484c2SPaul Kocialkowski * Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> 6461484c2SPaul Kocialkowski */ 7461484c2SPaul Kocialkowski 8461484c2SPaul Kocialkowski #include <twl6030.h> 9461484c2SPaul Kocialkowski twl6030_input_power_button(void)10461484c2SPaul Kocialkowskiint twl6030_input_power_button(void) 11461484c2SPaul Kocialkowski { 12461484c2SPaul Kocialkowski u8 value; 13461484c2SPaul Kocialkowski 14461484c2SPaul Kocialkowski twl6030_i2c_read_u8(TWL6030_CHIP_PM, TWL6030_STS_HW_CONDITIONS, &value); 15461484c2SPaul Kocialkowski 16461484c2SPaul Kocialkowski /* Power button is active low. */ 17461484c2SPaul Kocialkowski if (value & TWL6030_STS_HW_CONDITIONS_PWRON) 18461484c2SPaul Kocialkowski return 0; 19461484c2SPaul Kocialkowski 20461484c2SPaul Kocialkowski return 1; 21461484c2SPaul Kocialkowski } 22461484c2SPaul Kocialkowski twl6030_input_charger(void)23461484c2SPaul Kocialkowskiint twl6030_input_charger(void) 24461484c2SPaul Kocialkowski { 25461484c2SPaul Kocialkowski u8 value; 26461484c2SPaul Kocialkowski 27461484c2SPaul Kocialkowski twl6030_i2c_read_u8(TWL6030_CHIP_CHARGER, TWL6030_CONTROLLER_STAT1, 28461484c2SPaul Kocialkowski &value); 29461484c2SPaul Kocialkowski 30461484c2SPaul Kocialkowski if (value & TWL6030_CONTROLLER_STAT1_VAC_DET) 31461484c2SPaul Kocialkowski return 1; 32461484c2SPaul Kocialkowski 33461484c2SPaul Kocialkowski return 0; 34461484c2SPaul Kocialkowski } 35461484c2SPaul Kocialkowski twl6030_input_usb(void)36461484c2SPaul Kocialkowskiint twl6030_input_usb(void) 37461484c2SPaul Kocialkowski { 38461484c2SPaul Kocialkowski u8 value; 39461484c2SPaul Kocialkowski 40461484c2SPaul Kocialkowski twl6030_i2c_read_u8(TWL6030_CHIP_CHARGER, TWL6030_CONTROLLER_STAT1, 41461484c2SPaul Kocialkowski &value); 42461484c2SPaul Kocialkowski 43461484c2SPaul Kocialkowski if (value & TWL6030_CONTROLLER_STAT1_VBUS_DET) 44461484c2SPaul Kocialkowski return 1; 45461484c2SPaul Kocialkowski 46461484c2SPaul Kocialkowski return 0; 47461484c2SPaul Kocialkowski } 48