@@ -15,17 +15,11 @@ LOG_MODULE_REGISTER(mfd_axp192, CONFIG_MFD_LOG_LEVEL);
15
15
16
16
struct mfd_axp192_config {
17
17
struct i2c_dt_spec i2c ;
18
- #ifdef CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED
19
18
bool vbusen_disable ;
20
- #endif
21
- uint8_t reg_chip_id ;
22
19
uint8_t vbus_config_reg ;
23
- uint8_t chip_id ;
24
20
uint8_t val_vbusen_disable ;
25
21
};
26
22
27
- #ifdef CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED
28
-
29
23
/* Chip ID value */
30
24
#define AXP192_CHIP_ID 0x03U
31
25
@@ -145,22 +139,6 @@ const struct mfd_axp192_func_reg_desc gpio_reg_desc[AXP192_GPIO_MAX_NUM] = {
145
139
.mask = AXP192_GPIO4_FUNC_MASK ,
146
140
},
147
141
};
148
- #endif /* CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED */
149
-
150
- #ifdef CONFIG_DT_HAS_X_POWERS_AXP2101_ENABLED
151
-
152
- /* Chip ID value */
153
- #define AXP2101_CHIP_ID 0x4AU
154
-
155
- /* Registers definitions */
156
- #define AXP2101_REG_CHIP_ID 0x03U
157
-
158
- /* AXP210 GPIO register addresses */
159
- #define AXP2101_VBUS_CFG_REG 0x00U
160
-
161
- /* VBUS control reg values */
162
- #define AXP2101_VBUS_CFG_VAL_VBUSEN_DISABLE 0x00U
163
- #endif /* CONFIG_DT_HAS_X_POWERS_AXP2101_ENABLED */
164
142
165
143
static int mfd_axp192_init (const struct device * dev )
166
144
{
@@ -175,30 +153,27 @@ static int mfd_axp192_init(const struct device *dev)
175
153
return - ENODEV ;
176
154
}
177
155
178
- /* Check if axp192 chip is available */
179
- ret = i2c_reg_read_byte_dt (& config -> i2c , config -> reg_chip_id , & chip_id );
156
+ /* Check if AXP192 chip is available */
157
+ ret = i2c_reg_read_byte_dt (& config -> i2c , AXP192_REG_CHIP_ID , & chip_id );
180
158
if (ret < 0 ) {
181
159
return ret ;
182
160
}
183
- if (chip_id != config -> chip_id ) {
161
+ if (chip_id != AXP192_CHIP_ID ) {
184
162
LOG_ERR ("Invalid Chip detected (%d)" , chip_id );
185
163
return - EINVAL ;
186
164
}
187
165
188
- #ifdef CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED
189
166
/* Disable N_VBUSEN */
190
167
ret = i2c_reg_update_byte_dt (
191
168
& config -> i2c , config -> vbus_config_reg , config -> val_vbusen_disable ,
192
169
config -> vbusen_disable ? config -> val_vbusen_disable : 0 );
193
170
if (ret < 0 ) {
194
171
return ret ;
195
172
}
196
- #endif
197
173
198
174
return 0 ;
199
175
}
200
176
201
- #ifdef CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED
202
177
int mfd_axp192_gpio_func_get (const struct device * dev , uint8_t gpio , enum axp192_gpio_func * func )
203
178
{
204
179
const struct mfd_axp192_config * config = dev -> config ;
@@ -626,29 +601,18 @@ int mfd_axp192_gpio_write_port(const struct device *dev, uint8_t value, uint8_t
626
601
627
602
return 0 ;
628
603
}
629
- #endif
630
-
631
- #define MFD_AXP192_CONST_CONFIG (model ) \
632
- .reg_chip_id = AXP##model##_REG_CHIP_ID, \
633
- .vbus_config_reg = AXP##model##_VBUS_CFG_REG, \
634
- .chip_id = AXP##model##_CHIP_ID, \
635
- .val_vbusen_disable = AXP##model##_CHIP_ID,
636
604
637
- #define MFD_AXP192_AXP2101_DEFINE (node , model ) \
605
+ #define MFD_AXP192_DEFINE (node ) \
638
606
static const struct mfd_axp192_config config##node = { \
639
607
.i2c = I2C_DT_SPEC_GET(node), \
640
- IF_ENABLED(CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED, \
641
- (.vbusen_disable = DT_PROP_OR(node, vbusen_disable, false),)) \
642
- MFD_AXP192_CONST_CONFIG(model) \
608
+ .vbusen_disable = DT_PROP_OR(node, vbusen_disable, false), \
609
+ .vbus_config_reg = AXP192_VBUS_CFG_REG, \
610
+ .val_vbusen_disable = AXP192_VBUS_CFG_VAL_VBUSEN_DISABLE, \
643
611
}; \
644
612
\
645
- IF_ENABLED(CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED, \
646
- (static struct mfd_axp192_data data##node;)) \
613
+ static struct mfd_axp192_data data##node; \
647
614
\
648
- DEVICE_DT_DEFINE(node, mfd_axp192_init, NULL, \
649
- COND_CODE_1(CONFIG_DT_HAS_X_POWERS_AXP192_ENABLED, \
650
- (&data##node), (NULL)), \
615
+ DEVICE_DT_DEFINE(node, mfd_axp192_init, NULL, &data##node, \
651
616
&config##node, POST_KERNEL, CONFIG_MFD_INIT_PRIORITY, NULL);
652
617
653
- DT_FOREACH_STATUS_OKAY_VARGS (x_powers_axp192 , MFD_AXP192_AXP2101_DEFINE , 192 );
654
- DT_FOREACH_STATUS_OKAY_VARGS (x_powers_axp2101 , MFD_AXP192_AXP2101_DEFINE , 2101 );
618
+ DT_FOREACH_STATUS_OKAY (x_powers_axp192 , MFD_AXP192_DEFINE );
0 commit comments