diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot/drivers/input/twl6030.c | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot/drivers/input/twl6030.c')
-rw-r--r-- | roms/u-boot/drivers/input/twl6030.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/roms/u-boot/drivers/input/twl6030.c b/roms/u-boot/drivers/input/twl6030.c new file mode 100644 index 000000000..76bd3488f --- /dev/null +++ b/roms/u-boot/drivers/input/twl6030.c @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * TWL6030 input + * + * Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> + */ + +#include <twl6030.h> + +int twl6030_input_power_button(void) +{ + u8 value; + + twl6030_i2c_read_u8(TWL6030_CHIP_PM, TWL6030_STS_HW_CONDITIONS, &value); + + /* Power button is active low. */ + if (value & TWL6030_STS_HW_CONDITIONS_PWRON) + return 0; + + return 1; +} + +int twl6030_input_charger(void) +{ + u8 value; + + twl6030_i2c_read_u8(TWL6030_CHIP_CHARGER, TWL6030_CONTROLLER_STAT1, + &value); + + if (value & TWL6030_CONTROLLER_STAT1_VAC_DET) + return 1; + + return 0; +} + +int twl6030_input_usb(void) +{ + u8 value; + + twl6030_i2c_read_u8(TWL6030_CHIP_CHARGER, TWL6030_CONTROLLER_STAT1, + &value); + + if (value & TWL6030_CONTROLLER_STAT1_VBUS_DET) + return 1; + + return 0; +} |