skl-tunnel/radio/src/radio_gpio.c

40 lines
843 B
C

//
// Created by erki on 4.06.22.
//
#include "radio_gpio.h"
#include "radio_hardware_instance.h"
#ifdef __cplusplus
extern "C" {
#endif
void radio_gpio_init()
{
#define PINMUX_FUNCTION_A _L_(0)
#define PINMUX_PB00A_EXTINT0 ((_L_(00) << 16) | PINMUX_FUNCTION_A)
gpio_set_pin_level(OUT_RADIO_RST, false);
gpio_set_pin_direction(OUT_RADIO_RST, GPIO_DIRECTION_OUT);
gpio_set_pin_level(OUT_RADIO_SLP_TR, false);
gpio_set_pin_direction(OUT_RADIO_SLP_TR, GPIO_DIRECTION_OUT);
gpio_set_pin_direction(IN_RADIO_IRQ, GPIO_DIRECTION_IN);
gpio_set_pin_pull_mode(IN_RADIO_IRQ, GPIO_PULL_OFF);
EIC->CONFIG[0].reg |= (1 << 0);
EIC->INTENSET.reg |= (1 << 0);
EIC->CTRL.reg |= (1 << 1);
gpio_set_pin_function(IN_RADIO_IRQ, PINMUX_PB00A_EXTINT0);
#undef PINMUX_PB00A_EXTINT0
#undef PINMUX_FUNCTION_A
}
#ifdef __cplusplus
}
#endif