summaryrefslogtreecommitdiff
path: root/board/samus_pd
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2015-11-30 16:30:59 -0800
committerchrome-bot <chrome-bot@chromium.org>2015-12-04 01:20:33 -0800
commit743a9ea7cd39dffc4f1dc104803f767ba774372b (patch)
treea31b89a803f213a2421cbef449fff19cae5c5f5e /board/samus_pd
parent6b75bfee7e66ff2061b3ca114ec52fada16af731 (diff)
downloadchrome-ec-743a9ea7cd39dffc4f1dc104803f767ba774372b.tar.gz
pwm: Add common initialization for PWM pins
Rather than having various PWM module groups initialized from various HOOK_INIT functions, group them all into a single module and initialize them all from a common function in pwm.c. BUG=chromium:563708 TEST=Manual on samus / samus_pd (with CONFIG_ADC enabled). Verify that samus fan + KB backlight control is functional and samus_pd correctly sets PWM output. BRANCH=None Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I9f9b09bfa544cd9bc6b7a867e77757dff0505941 Reviewed-on: https://chromium-review.googlesource.com/314882 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'board/samus_pd')
-rw-r--r--board/samus_pd/board.c7
-rw-r--r--board/samus_pd/gpio.inc4
2 files changed, 9 insertions, 2 deletions
diff --git a/board/samus_pd/board.c b/board/samus_pd/board.c
index 61159dc3c4..7a0c0a759b 100644
--- a/board/samus_pd/board.c
+++ b/board/samus_pd/board.c
@@ -62,7 +62,7 @@ static int desired_charge_rate_ma = -1;
/* PWM channels. Must be in the exact same order as in enum pwm_channel. */
const struct pwm_t pwm_channels[] = {
- {STM32_TIM(15), STM32_TIM_CH(2), 0, GPIO_ILIM_ADJ_PWM, GPIO_ALT_F1},
+ {STM32_TIM(15), STM32_TIM_CH(2), 0},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
@@ -475,6 +475,9 @@ int board_is_vbus_too_low(enum chg_ramp_vbus_state ramp_state)
static int board_update_charge_limit(int charge_ma)
{
+#ifdef CONFIG_PWM
+ int pwm_duty;
+#endif
static int actual_charge_rate_ma = -1;
desired_charge_rate_ma = charge_ma;
@@ -490,7 +493,7 @@ static int board_update_charge_limit(int charge_ma)
actual_charge_rate_ma = charge_ma;
#ifdef CONFIG_PWM
- int pwm_duty = MA_TO_PWM(charge_ma);
+ pwm_duty = MA_TO_PWM(charge_ma);
if (pwm_duty < 0)
pwm_duty = 0;
else if (pwm_duty > 100)
diff --git a/board/samus_pd/gpio.inc b/board/samus_pd/gpio.inc
index 407e073a5f..779519fe5c 100644
--- a/board/samus_pd/gpio.inc
+++ b/board/samus_pd/gpio.inc
@@ -128,3 +128,7 @@ ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, 0) /* USART1: PA9/PA10 */
ALTERNATE(PIN_MASK(D, 0x0060), 0, MODULE_UART, 0) /* USART2: PD5/PD6 */
ALTERNATE(PIN_MASK(C, 0x0030), 1, MODULE_UART, 0) /* USART3: PC4/PC5 */
ALTERNATE(PIN_MASK(B, 0x0cc0), 1, MODULE_I2C, 0) /* I2C SLAVE:PB6/7 MASTER:PB10/11 */
+
+#ifdef CONFIG_PWM
+ALTERNATE(PIN_MASK(B, 0x8000), 1, MODULE_PWM, 0) /* ILIM_PWM: PB15 */
+#endif