From c3932736a6a670bf7b7b4a16564e349ebccf5af7 Mon Sep 17 00:00:00 2001 From: Thomas Ingleby Date: Wed, 7 May 2014 15:15:57 +0100 Subject: [PATCH] pwm: rev-d quirk worked-around. Signed-off-by: Thomas Ingleby --- src/maa.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/maa.c b/src/maa.c index 96fe872..70f188a 100644 --- a/src/maa.c +++ b/src/maa.c @@ -142,20 +142,20 @@ maa_check_pwm(int pin) if (plat->pins[pin].capabilites.pwm != 1) return NULL; - /** quirk in rev d, this messes with pwm on that pin - * if (plat->pins[pin].capabilites.gpio == 1) { - * maa_gpio_context* mux_i; - * mux_i = maa_gpio_init_raw(plat->pins[pin].gpio.pinmap); - * if (mux_i == NULL) - * return NULL; - * if (maa_gpio_dir(mux_i, MAA_GPIO_OUT) != MAA_SUCCESS) - * return NULL; - * if (maa_gpio_write(mux_i, 0) != MAA_SUCCESS) - * return NULL; - * if (maa_gpio_close(mux_i) != MAA_SUCCESS) - * return NULL; - * } - */ + if (plat->pins[pin].capabilites.gpio == 1) { + maa_gpio_context* mux_i; + mux_i = maa_gpio_init_raw(plat->pins[pin].gpio.pinmap); + if (mux_i == NULL) + return NULL; + if (maa_gpio_dir(mux_i, MAA_GPIO_OUT) != MAA_SUCCESS) + return NULL; + // Current REV D quirk. //TODO GEN 2 + if (maa_gpio_write(mux_i, 1) != MAA_SUCCESS) + return NULL; + if (maa_gpio_close(mux_i) != MAA_SUCCESS) + return NULL; + } + if (plat->pins[pin].pwm.mux_total > 0) if (maa_setup_mux_mapped(plat->pins[pin].pwm) != MAA_SUCCESS) return NULL;