diff --git a/demos/bsp/boards/microbuilder/board_lpc4357usb.c b/demos/bsp/boards/microbuilder/board_lpc4357usb.c index 09fe5ab7..82934853 100644 --- a/demos/bsp/boards/microbuilder/board_lpc4357usb.c +++ b/demos/bsp/boards/microbuilder/board_lpc4357usb.c @@ -26,10 +26,10 @@ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This file is part of the tinyusb stack. @@ -40,52 +40,56 @@ #if BOARD == BOARD_LPC4357USB -#define BOARD_MAX_LEDS 1 -const static struct { - uint8_t port; - uint8_t pin; -}leds[BOARD_MAX_LEDS] = { {6, 1} }; - -#define BOARD_UART_PORT LPC_USART0 -#define BOARD_UART_PIN_PORT 0x0f -#define BOARD_UART_PIN_TX 10 // PF.10 : UART0_TXD -#define BOARD_UART_PIN_RX 11 // PF.11 : UART0_RXD +#define BOARD_UART_PORT (LPC_USART0) +#define BOARD_UART_PIN_PORT (0x0F) +#define BOARD_UART_PIN_TX (10) // PF.10 : UART0_TXD +#define BOARD_UART_PIN_RX (11) // PF.11 : UART0_RXD +#define BOARD_LED0_PORT (0x0C) +#define BOARD_LED0_PIN (2) // PC.2 = User LED +#define BOARD_LED0_FUNCTION (4) // GPIO multiplexed as function 4 on PC.2 +#define BOARD_LED0_GPIO_PORT (6) +#define BOARD_LED0_GPIO_PIN (1) // PC.2 = GPIO 6[1] void board_init(void) { SystemInit(); CGU_Init(); - SysTick_Config( CGU_GetPCLKFrequency(CGU_PERIPHERAL_M4CORE)/CFG_TICKS_PER_SECOND ); /* 1 ms Timer */ + + /* Setup the systick time for 1ms ticks */ + SysTick_Config(CGU_GetPCLKFrequency(CGU_PERIPHERAL_M4CORE) / CFG_TICKS_PER_SECOND); + + /* Configure LED0 as GPIO */ + scu_pinmux(BOARD_LED0_PORT, BOARD_LED0_PIN, MD_PDN, BOARD_LED0_FUNCTION); + GPIO_SetDir(BOARD_LED0_GPIO_PORT, (1 << BOARD_LED0_GPIO_PIN), 1); + + /* Configure TRACE pins */ + scu_pinmux(0xF, 4, MD_PDN, 0x2); /* PF_4 = TRACECLK */ + scu_pinmux(0x7, 4, MD_PDN, 0x5); /* P7_4 = TRACEDATA[0] */ + scu_pinmux(0x7, 5, MD_PDN, 0x5); /* P7_5 = TRACEDATA[1] */ + scu_pinmux(0x7, 6, MD_PDN, 0x5); /* P7_6 = TRACEDATA[2] */ + scu_pinmux(0x7, 7, MD_PDN, 0x5); /* P7_7 = TRACEDATA[3] */ - //------------- USB Bus power HOST ONLY-------------// -// scu_pinmux(0x1, 7, MD_PUP | MD_EZI, FUNC4); // P1_7 USB0_PWR_EN, USB0 VBus function Xplorer -// -// scu_pinmux(0x2, 6, MD_PUP | MD_EZI, FUNC4); // P2_6 is configured as GPIO5[6] for USB1_PWR_EN -// GPIO_SetDir (5, BIT_(6), 1); // GPIO5[6] is output -// GPIO_SetValue (5, BIT_(6)); // GPIO5[6] output high - - //------------- Led Init -------------// - for (uint8_t i=0; iSET[BOARD_LED0_GPIO_PORT] = (1 << BOARD_LED0_GPIO_PIN); + } + + if (off_mask & 0x01) + { + LPC_GPIO_PORT->CLR[BOARD_LED0_GPIO_PORT] = (1 << BOARD_LED0_GPIO_PIN); } } diff --git a/demos/bsp/boards/microbuilder/board_lpc4357usb.h b/demos/bsp/boards/microbuilder/board_lpc4357usb.h index ac051a40..9a67d4a0 100644 --- a/demos/bsp/boards/microbuilder/board_lpc4357usb.h +++ b/demos/bsp/boards/microbuilder/board_lpc4357usb.h @@ -26,16 +26,22 @@ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This file is part of the tinyusb stack. */ /**************************************************************************/ +/** \file + * \brief TBD + * + * \note TBD + */ + /** \ingroup TBD * \defgroup TBD * \brief TBD @@ -55,8 +61,9 @@ #include "lpc43xx_cgu.h" #include "lpc43xx_gpio.h" #include "lpc43xx_uart.h" +#include "lpc43xx_i2c.h" -#define CFG_PRINTF_TARGET PRINTF_TARGET_DEBUG_CONSOLE // PRINTF_TARGET_UART +#define CFG_PRINTF_TARGET PRINTF_TARGET_UART #ifdef __cplusplus }