From 143d845b0545cf2e37258999d263df05f68425d1 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Wed, 17 Oct 2012 21:48:41 -0700 Subject: [PATCH] Add code to control RXHP pin on MAX2837 (Jellybean only). I was hoping this would control the baseband DC offset problem, but no, it doesn't seem to help at all. --- firmware/common/hackrf_core.h | 7 +++++++ firmware/common/max2837.c | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/firmware/common/hackrf_core.h b/firmware/common/hackrf_core.h index b406ba90..41a6ff71 100644 --- a/firmware/common/hackrf_core.h +++ b/firmware/common/hackrf_core.h @@ -97,6 +97,9 @@ extern "C" #define SCU_PINMUX_SGPIO15 (P4_10) /* MAX2837 GPIO (XCVR_CTL) PinMux */ +#ifdef JELLYBEAN +#define SCU_XCVR_RXHP (P4_0) /* GPIO2[0] on P4_0 */ +#endif #define SCU_XCVR_ENABLE (P4_6) /* GPIO2[6] on P4_6 */ #define SCU_XCVR_RXENABLE (P4_5) /* GPIO2[5] on P4_5 */ #define SCU_XCVR_TXENABLE (P4_4) /* GPIO2[4] on P4_4 */ @@ -145,6 +148,10 @@ extern "C" #define PIN_XCVR_RXENABLE (BIT5) /* GPIO2[5] on P4_5 */ #define PIN_XCVR_TXENABLE (BIT4) /* GPIO2[4] on P4_4 */ #define PORT_XCVR_ENABLE (GPIO2) /* PORT for ENABLE, TXENABLE, RXENABLE */ +#ifdef JELLYBEAN +#define PIN_XCVR_RXHP (BIT0) /* GPIO2[0] on P4_0 */ +#define PORT_XCVR_RXHP (GPIO2) +#endif #define PIN_AD_CS (BIT7) /* GPIO2[7] on P5_7 */ #define PORT_AD_CS (GPIO2) /* PORT for AD_CS */ diff --git a/firmware/common/max2837.c b/firmware/common/max2837.c index c525947d..ae4a313d 100644 --- a/firmware/common/max2837.c +++ b/firmware/common/max2837.c @@ -87,16 +87,25 @@ void max2837_setup(void) LOG("# max2837_setup\n"); #if !defined TEST /* Configure XCVR_CTL GPIO pins. */ +#ifdef JELLYBEAN + scu_pinmux(SCU_XCVR_RXHP, SCU_GPIO_FAST); +#endif scu_pinmux(SCU_XCVR_ENABLE, SCU_GPIO_FAST); scu_pinmux(SCU_XCVR_RXENABLE, SCU_GPIO_FAST); scu_pinmux(SCU_XCVR_TXENABLE, SCU_GPIO_FAST); /* Set GPIO pins as outputs. */ GPIO2_DIR |= (PIN_XCVR_ENABLE | PIN_XCVR_RXENABLE | PIN_XCVR_TXENABLE); +#ifdef JELLYBEAN + GPIO2_DIR |= PIN_XCVR_RXHP; +#endif /* disable everything */ gpio_clear(PORT_XCVR_ENABLE, (PIN_XCVR_ENABLE | PIN_XCVR_RXENABLE | PIN_XCVR_TXENABLE)); +#ifdef JELLYBEAN + gpio_set(PORT_XCVR_RXHP, PIN_XCVR_RXHP); +#endif #endif max2837_init();