drivers/power/supply/bd99954-charger.h

Source file repositories/reference/linux-study-clean/drivers/power/supply/bd99954-charger.h

File Facts

System
Linux kernel
Corpus path
drivers/power/supply/bd99954-charger.h
Extension
.h
Size
35377 bytes
Lines
1076
Domain
Driver Families
Bucket
drivers/power
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef BD99954_CHARGER_H
#define BD99954_CHARGER_H

#include <linux/regmap.h>

#define BD9995X_MANUFACTURER "Rohm Semiconductor"
#define BD9995X_IRQ_PIN      "bd9995x_irq"

#define BD9995X_VSYS_PRECHARGE_OFFSET_MV 200

#define BD99954_ID            0x346
#define BD99955_ID            0x221
#define BD99956_ID            0x331

/* Battery Charger Commands */
#define    CHARGING_CURRENT   0x14
#define    CHARGING_VOLTAGE   0x15
#define    PROTECT_SET        0x3E
#define    MAP_SET            0x3F

/* Extended commands */
#define    CHGSTM_STATUS       0x100
#define    VBAT_VSYS_STATUS    0x101
#define    VBUS_VCC_STATUS     0x102
#define    CHGOP_STATUS        0x103
#define    WDT_STATUS          0x104
#define    CUR_ILIM_VAL        0x105
#define    SEL_ILIM_VAL        0x106
#define    IBUS_LIM_SET        0x107
#define    ICC_LIM_SET         0x108
#define    IOTG_LIM_SET        0x109
#define    VIN_CTRL_SET        0x10A
#define    CHGOP_SET1          0x10B
#define    CHGOP_SET2          0x10C
#define    VBUSCLPS_TH_SET     0x10D
#define    VCCCLPS_TH_SET      0x10E
#define    CHGWDT_SET          0x10F
#define    BATTWDT_SET         0x110
#define    VSYSREG_SET         0x111
#define    VSYSVAL_THH_SET     0x112
#define    VSYSVAL_THL_SET     0x113
#define    ITRICH_SET          0x114
#define    IPRECH_SET          0x115
#define    ICHG_SET            0x116
#define    ITERM_SET           0x117
#define    VPRECHG_TH_SET      0x118
#define    VRBOOST_SET         0x119
#define    VFASTCHG_REG_SET1   0x11A
#define    VFASTCHG_REG_SET2   0x11B
#define    VFASTCHG_REG_SET3   0x11C
#define    VRECHG_SET          0x11D
#define    VBATOVP_SET         0x11E
#define    IBATSHORT_SET       0x11F
#define    PROCHOT_CTRL_SET    0x120
#define    PROCHOT_ICRIT_SET   0x121
#define    PROCHOT_INORM_SET   0x122
#define    PROCHOT_IDCHG_SET   0x123
#define    PROCHOT_VSYS_SET    0x124
#define    PMON_IOUT_CTRL_SET  0x125
#define    PMON_DACIN_VAL      0x126
#define    IOUT_DACIN_VAL      0x127
#define    VCC_UCD_SET         0x128
#define    VCC_UCD_STATUS      0x129
#define    VCC_IDD_STATUS      0x12A
#define    VCC_UCD_FCTRL_SET   0x12B
#define    VCC_UCD_FCTRL_EN    0x12C
#define    VBUS_UCD_SET        0x130
#define    VBUS_UCD_STATUS     0x131
#define    VBUS_IDD_STATUS     0x132
#define    VBUS_UCD_FCTRL_SET  0x133
#define    VBUS_UCD_FCTRL_EN   0x134
#define    CHIP_ID             0x138
#define    CHIP_REV            0x139
#define    IC_SET1             0x13A
#define    IC_SET2             0x13B
#define    SYSTEM_STATUS       0x13C
#define    SYSTEM_CTRL_SET     0x13D
#define    VM_CTRL_SET         0x140
#define    THERM_WINDOW_SET1   0x141
#define    THERM_WINDOW_SET2   0x142
#define    THERM_WINDOW_SET3   0x143
#define    THERM_WINDOW_SET4   0x144
#define    THERM_WINDOW_SET5   0x145
#define    IBATP_TH_SET        0x146
#define    IBATM_TH_SET        0x147
#define    VBAT_TH_SET         0x148
#define    THERM_TH_SET        0x149
#define    IACP_TH_SET         0x14A
#define    VACP_TH_SET         0x14B
#define    VBUS_TH_SET         0x14C

Annotation

Implementation Notes