summaryrefslogtreecommitdiff
path: root/board/samus_pd/board.h
diff options
context:
space:
mode:
Diffstat (limited to 'board/samus_pd/board.h')
-rw-r--r--board/samus_pd/board.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/board/samus_pd/board.h b/board/samus_pd/board.h
index be1dad7f8d..8729cdc2a2 100644
--- a/board/samus_pd/board.h
+++ b/board/samus_pd/board.h
@@ -18,12 +18,14 @@
/* Optional features */
#define CONFIG_ADC
#define CONFIG_BOARD_PRE_INIT
+#define CONFIG_CHARGE_MANAGER
#define CONFIG_FORCE_CONSOLE_RESUME
#define CONFIG_HIBERNATE_WAKEUP_PINS (STM32_PWR_CSR_EWUP3|STM32_PWR_CSR_EWUP8)
#define CONFIG_HW_CRC
#define CONFIG_I2C
#undef CONFIG_LID_SWITCH
#define CONFIG_LOW_POWER_IDLE
+#define CONFIG_PWM
#define CONFIG_STM_HWTIMER32
#undef CONFIG_TASK_PROFILING
#define CONFIG_USB_POWER_DELIVERY
@@ -35,9 +37,11 @@
#define CONFIG_USB_PD_DUAL_ROLE
#define CONFIG_USB_PD_FLASH_ERASE_CHECK
#define CONFIG_USB_PD_INTERNAL_COMP
+#define CONFIG_USB_SWITCH_PI3USB9281
+#undef CONFIG_USB_SWITCH_PI3USB9281_MUX_GPIO
+#define CONFIG_USB_SWITCH_PI3USB9281_MUX_GPIO GPIO_USB_C_BC12_SEL
#define CONFIG_USBC_SS_MUX
#define CONFIG_USBC_VCONN
-#define CONFIG_USB_SWITCH_TSU6721
#define CONFIG_VBOOT_HASH
#undef CONFIG_WATCHDOG_HELP
@@ -63,6 +67,7 @@
#define TIM_CLOCK32 2
#define TIM_ADC 3
+#include "charge_manager.h"
#include "gpio_signal.h"
/* ADC signal */
@@ -76,12 +81,31 @@ enum adc_channel {
ADC_CH_COUNT
};
+enum pwm_channel {
+ PWM_CH_ILIM = 0,
+ /* Number of PWM channels */
+ PWM_CH_COUNT
+};
+
+/* Charge current limit min / max, based on PWM duty cycle */
+#define PWM_0_MA 500
+#define PWM_100_MA 4000
+
+/* Map current in milli-amps to PWM duty cycle percentage */
+#define MA_TO_PWM(curr) (((curr) - PWM_0_MA) * 100 / (PWM_100_MA - PWM_0_MA))
+
/* Called when we receive battery level info from the EC. */
void board_update_battery_soc(int soc);
/* Get the last received battery level. */
int board_get_battery_soc(void);
+/* Set the active charge port. */
+void board_set_active_charge_port(int charge_port);
+
+/* Set the charge current limit. */
+void board_set_charge_limit(int charge_ma);
+
#endif /* !__ASSEMBLER__ */
#endif /* __BOARD_H */