]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mfd: axp20x: AXP717: Add type-C CC registers
authorChen-Yu Tsai <wens@kernel.org>
Thu, 25 Dec 2025 08:02:40 +0000 (16:02 +0800)
committerLee Jones <lee@kernel.org>
Thu, 22 Jan 2026 14:23:10 +0000 (14:23 +0000)
The AXP717 has some extra registers related to type-C CC pin
negotiation. They were missing from the original submission.

Add them for completeness.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20251225080241.3153453-1-wens@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/axp20x.c
include/linux/mfd/axp20x.h

index c5f0ebae327f51d8827f0e7d2fad33d099daf6f4..679364189ea58d102d25e82917dcdace94a102d7 100644 (file)
@@ -229,6 +229,8 @@ static const struct regmap_range axp717_writeable_ranges[] = {
        regmap_reg_range(AXP717_DCDC_OUTPUT_CONTROL, AXP717_CPUSLDO_CONTROL),
        regmap_reg_range(AXP717_ADC_CH_EN_CONTROL, AXP717_ADC_CH_EN_CONTROL),
        regmap_reg_range(AXP717_ADC_DATA_SEL, AXP717_ADC_DATA_SEL),
+       regmap_reg_range(AXP717_TYPEC_CC_AA_EN, AXP717_TYPEC_CC_AA_EN),
+       regmap_reg_range(AXP717_TYPEC_CC_MODE_CONTROL, AXP717_TYPEC_CC_MODE_CONTROL),
 };
 
 static const struct regmap_range axp717_volatile_ranges[] = {
@@ -237,6 +239,7 @@ static const struct regmap_range axp717_volatile_ranges[] = {
        regmap_reg_range(AXP717_BATT_PERCENT_DATA, AXP717_BATT_PERCENT_DATA),
        regmap_reg_range(AXP717_BATT_V_H, AXP717_BATT_CHRG_I_L),
        regmap_reg_range(AXP717_ADC_DATA_H, AXP717_ADC_DATA_L),
+       regmap_reg_range(AXP717_TYPEC_CC_STATUS, AXP717_TYPEC_CC_STATUS),
 };
 
 static const struct regmap_access_table axp717_writeable_table = {
@@ -458,7 +461,7 @@ static const struct regmap_config axp717_regmap_config = {
        .val_bits = 8,
        .wr_table = &axp717_writeable_table,
        .volatile_table = &axp717_volatile_table,
-       .max_register = AXP717_ADC_DATA_L,
+       .max_register = AXP717_TYPEC_CC_STATUS,
        .cache_type = REGCACHE_MAPLE,
 };
 
index 3c5aecf1d4b5be7eea14009aa7637d8b3e71a9f9..b352661d99a155b62f4b661dc85c7a7a4c2bc3fc 100644 (file)
@@ -174,6 +174,9 @@ enum axp20x_variants {
 #define AXP717_ADC_DATA_SEL            0xcd
 #define AXP717_ADC_DATA_H              0xce
 #define AXP717_ADC_DATA_L              0xcf
+#define AXP717_TYPEC_CC_AA_EN          0xe1
+#define AXP717_TYPEC_CC_MODE_CONTROL   0xe3
+#define AXP717_TYPEC_CC_STATUS         0xe7
 
 #define AXP806_STARTUP_SRC             0x00
 #define AXP806_CHIP_ID                 0x03