1 /*
2  * Copyright (c) 2012 Ian McKellar
3  *
4  * Use of this source code is governed by a MIT-style
5  * license that can be found in the LICENSE file or at
6  * https://opensource.org/licenses/MIT
7  */
8 #include <lk/err.h>
9 #include <lk/debug.h>
10 #include <target.h>
11 #include <lk/compiler.h>
12 #include <dev/gpio.h>
13 #include <platform/gpio.h>
14 
15 #include "ti_driverlib.h"
16 
17 extern void target_usb_setup(void);
18 
target_early_init(void)19 void target_early_init(void) {
20     GPIOPinWrite(GPIO_PORTF_AHB_BASE, GPIO_PIN_1, 0);
21     GPIOPinWrite(GPIO_PORTF_AHB_BASE, GPIO_PIN_2, 0);
22     GPIOPinWrite(GPIO_PORTF_AHB_BASE, GPIO_PIN_3, 0);
23 
24     GPIOPadConfigSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
25     GPIOPadConfigSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_2, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
26     GPIOPadConfigSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_3, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
27     GPIODirModeSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_1, GPIO_DIR_MODE_OUT);
28     GPIODirModeSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_2, GPIO_DIR_MODE_OUT);
29     GPIODirModeSet(GPIO_PORTF_AHB_BASE, GPIO_PIN_3, GPIO_DIR_MODE_OUT);
30 }
31 
target_init(void)32 void target_init(void) {
33     target_usb_setup();
34 }
35 
target_set_debug_led(unsigned int led,bool on)36 void target_set_debug_led(unsigned int led, bool on) {
37     switch (led) {
38         case 0:
39             gpio_set(GPIO(GPIO_PORT_F, 1), on);
40             break;
41         case 1:
42             gpio_set(GPIO(GPIO_PORT_F, 2), on);
43             break;
44         case 2:
45             gpio_set(GPIO(GPIO_PORT_F, 3), on);
46             break;
47     }
48 }
49