[platform][stellaris] begin of a gpio api

This commit is contained in:
Travis Geiselbrecht
2013-03-18 01:41:39 -07:00
parent 764fa1681c
commit 3dffd4ea6b
6 changed files with 209 additions and 34 deletions

View File

@@ -24,24 +24,23 @@
#include <debug.h>
#include <target.h>
#include <compiler.h>
#include <dev/gpio.h>
#include <platform/gpio.h>
#include "ti_driverlib.h"
void target_early_init(void)
{
SysCtlPeripheralPowerOn(SYSCTL_PERIPH_GPIOF);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinWrite(GPIO_PORTF_AHB_BASE, GPIO_PIN_1, 0);
GPIOPinWrite(GPIO_PORTF_AHB_BASE, GPIO_PIN_2, 0);
GPIOPinWrite(GPIO_PORTF_AHB_BASE, GPIO_PIN_3, 0);
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 0);
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, 0);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_3, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_DIR_MODE_OUT);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_DIR_MODE_OUT);
GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_3, GPIO_DIR_MODE_OUT);
GPIOPadConfigSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_2, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIOPadConfigSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_3, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
GPIODirModeSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_1, GPIO_DIR_MODE_OUT);
GPIODirModeSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_2, GPIO_DIR_MODE_OUT);
GPIODirModeSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_3, GPIO_DIR_MODE_OUT);
}
void target_init(void)
@@ -51,9 +50,9 @@ void target_init(void)
void target_set_debug_led(unsigned int led, bool on)
{
switch (led) {
case 0: GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, on ? GPIO_PIN_1 : 0); break;
case 1: GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, on ? GPIO_PIN_2 : 0); break;
case 2: GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, on ? GPIO_PIN_3 : 0); break;
case 0: gpio_set(GPIO(GPIO_PORT_F, 1), on); break;
case 1: gpio_set(GPIO(GPIO_PORT_F, 2), on); break;
case 2: gpio_set(GPIO(GPIO_PORT_F, 3), on); break;
}
}