diff --git a/firmware/common/hackrf_core.h b/firmware/common/hackrf_core.h index 41a6ff71..ad84648e 100644 --- a/firmware/common/hackrf_core.h +++ b/firmware/common/hackrf_core.h @@ -99,6 +99,13 @@ extern "C" /* MAX2837 GPIO (XCVR_CTL) PinMux */ #ifdef JELLYBEAN #define SCU_XCVR_RXHP (P4_0) /* GPIO2[0] on P4_0 */ +#define SCU_XCVR_B1 (P5_0) /* GPIO2[9] on P5_0 */ +#define SCU_XCVR_B2 (P5_1) /* GPIO2[10] on P5_1 */ +#define SCU_XCVR_B3 (P5_2) /* GPIO2[11] on P5_2 */ +#define SCU_XCVR_B4 (P5_3) /* GPIO2[12] on P5_3 */ +#define SCU_XCVR_B5 (P5_4) /* GPIO2[13] on P5_4 */ +#define SCU_XCVR_B6 (P5_5) /* GPIO2[14] on P5_5 */ +#define SCU_XCVR_B7 (P5_6) /* GPIO2[15] on P5_6 */ #endif #define SCU_XCVR_ENABLE (P4_6) /* GPIO2[6] on P4_6 */ #define SCU_XCVR_RXENABLE (P4_5) /* GPIO2[5] on P4_5 */ @@ -151,6 +158,14 @@ extern "C" #ifdef JELLYBEAN #define PIN_XCVR_RXHP (BIT0) /* GPIO2[0] on P4_0 */ #define PORT_XCVR_RXHP (GPIO2) +#define PIN_XCVR_B1 (BIT9) /* GPIO2[9] on P5_0 */ +#define PIN_XCVR_B2 (BIT10) /* GPIO2[10] on P5_1 */ +#define PIN_XCVR_B3 (BIT11) /* GPIO2[11] on P5_2 */ +#define PIN_XCVR_B4 (BIT12) /* GPIO2[12] on P5_3 */ +#define PIN_XCVR_B5 (BIT13) /* GPIO2[13] on P5_4 */ +#define PIN_XCVR_B6 (BIT14) /* GPIO2[14] on P5_5 */ +#define PIN_XCVR_B7 (BIT15) /* GPIO2[15] on P5_6 */ +#define PORT_XCVR_B (GPIO2) #endif #define PIN_AD_CS (BIT7) /* GPIO2[7] on P5_7 */ diff --git a/firmware/common/max2837.c b/firmware/common/max2837.c index ae4a313d..725e04e6 100644 --- a/firmware/common/max2837.c +++ b/firmware/common/max2837.c @@ -89,6 +89,13 @@ void max2837_setup(void) /* Configure XCVR_CTL GPIO pins. */ #ifdef JELLYBEAN scu_pinmux(SCU_XCVR_RXHP, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B1, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B2, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B3, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B4, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B5, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B6, SCU_GPIO_FAST); + scu_pinmux(SCU_XCVR_B7, SCU_GPIO_FAST); #endif scu_pinmux(SCU_XCVR_ENABLE, SCU_GPIO_FAST); scu_pinmux(SCU_XCVR_RXENABLE, SCU_GPIO_FAST); @@ -97,7 +104,16 @@ void max2837_setup(void) /* Set GPIO pins as outputs. */ GPIO2_DIR |= (PIN_XCVR_ENABLE | PIN_XCVR_RXENABLE | PIN_XCVR_TXENABLE); #ifdef JELLYBEAN - GPIO2_DIR |= PIN_XCVR_RXHP; + GPIO_DIR(PORT_XCVR_RXHP) |= PIN_XCVR_RXHP; + GPIO_DIR(PORT_XCVR_B) |= + PIN_XCVR_B1 + | PIN_XCVR_B2 + | PIN_XCVR_B3 + | PIN_XCVR_B4 + | PIN_XCVR_B5 + | PIN_XCVR_B6 + | PIN_XCVR_B7 + ; #endif /* disable everything */ @@ -105,6 +121,15 @@ void max2837_setup(void) (PIN_XCVR_ENABLE | PIN_XCVR_RXENABLE | PIN_XCVR_TXENABLE)); #ifdef JELLYBEAN gpio_set(PORT_XCVR_RXHP, PIN_XCVR_RXHP); + gpio_set(PORT_XCVR_B, + PIN_XCVR_B1 + | PIN_XCVR_B2 + | PIN_XCVR_B3 + | PIN_XCVR_B4 + | PIN_XCVR_B5 + | PIN_XCVR_B6 + | PIN_XCVR_B7 + ); #endif #endif