Home | History | Annotate | Download | only in input
      1 // SPDX-License-Identifier: GPL-2.0+
      2 /*
      3  * TWL6030 input
      4  *
      5  * Copyright (C) 2016 Paul Kocialkowski <contact (at) paulk.fr>
      6  */
      7 
      8 #include <twl6030.h>
      9 
     10 int twl6030_input_power_button(void)
     11 {
     12 	u8 value;
     13 
     14 	twl6030_i2c_read_u8(TWL6030_CHIP_PM, TWL6030_STS_HW_CONDITIONS, &value);
     15 
     16 	/* Power button is active low. */
     17 	if (value & TWL6030_STS_HW_CONDITIONS_PWRON)
     18 		return 0;
     19 
     20 	return 1;
     21 }
     22 
     23 int twl6030_input_charger(void)
     24 {
     25 	u8 value;
     26 
     27 	twl6030_i2c_read_u8(TWL6030_CHIP_CHARGER, TWL6030_CONTROLLER_STAT1,
     28 		&value);
     29 
     30 	if (value & TWL6030_CONTROLLER_STAT1_VAC_DET)
     31 		return 1;
     32 
     33 	return 0;
     34 }
     35 
     36 int twl6030_input_usb(void)
     37 {
     38 	u8 value;
     39 
     40 	twl6030_i2c_read_u8(TWL6030_CHIP_CHARGER, TWL6030_CONTROLLER_STAT1,
     41 		&value);
     42 
     43 	if (value & TWL6030_CONTROLLER_STAT1_VBUS_DET)
     44 		return 1;
     45 
     46 	return 0;
     47 }
     48