LPCOpen Platform for LPC112X microcontrollers
112X
LPCOpen Platform for the NXP LPC112X family of Microcontrollers
Main Page
Modules
Data Structures
Files
File List
Globals
software
lpc_core
lpc_board
boards_112x
nxp_lpcxpresso_1125
board_sysinit.c
Go to the documentation of this file.
1
/*
2
* @brief Mcore48 1125 Sysinit file
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2013
6
* All rights reserved.
7
*
8
* @par
9
* Software that is described herein is for illustrative purposes only
10
* which provides customers with programming information regarding the
11
* LPC products. This software is supplied "AS IS" without any warranties of
12
* any kind, and NXP Semiconductors and its licensor disclaim any and
13
* all warranties, express or implied, including all implied warranties of
14
* merchantability, fitness for a particular purpose and non-infringement of
15
* intellectual property rights. NXP Semiconductors assumes no responsibility
16
* or liability for the use of the software, conveys no license or rights under any
17
* patent, copyright, mask work right, or any other intellectual property rights in
18
* or to any products. NXP Semiconductors reserves the right to make changes
19
* in the software without notification. NXP Semiconductors also makes no
20
* representation or warranty that such application will be suitable for the
21
* specified use without further testing or modification.
22
*
23
* @par
24
* Permission to use, copy, modify, and distribute this software and its
25
* documentation is hereby granted, under NXP Semiconductors' and its
26
* licensor's relevant copyrights in the software, without fee, provided that it
27
* is used in conjunction with NXP Semiconductors microcontrollers. This
28
* copyright, permission, and disclaimer notice must appear in all copies of
29
* this code.
30
*/
31
32
#include "
board.h
"
33
34
/* The System initialization code is called prior to the application and
35
* initializes the board for run-time operation. Board initialization
36
* includes clock setup and default pin muxing configuration. */
37
38
/*****************************************************************************
39
* Private types/enumerations/variables
40
****************************************************************************/
41
42
/* Pin muxing table, only items that need changing from their default pin
43
state are in this table. */
44
STATIC
const
PINMUX_GRP_T
pinmuxing
[] = {
45
{(uint32_t)
IOCON_PIO0_1
, (
IOCON_FUNC1
|
IOCON_MODE_INACT
)},
/* PIO0_1 used for CLKOUT */
46
{(uint32_t)
IOCON_PIO0_2
, (
IOCON_FUNC1
|
IOCON_MODE_INACT
)},
/* PIO0_2 used for SSEL */
47
{(uint32_t)
IOCON_PIO0_4
, (
IOCON_FUNC1
|
IOCON_SFI2C_EN
)},
/* PIO0_4 used for SCL */
48
{(uint32_t)
IOCON_PIO0_5
, (
IOCON_FUNC1
|
IOCON_SFI2C_EN
)},
/* PIO0_5 used for SDA */
49
50
{(uint32_t)
IOCON_PIO1_1
, (
IOCON_FUNC1
)},
/* PIO1_1 used for Red LED */
51
{(uint32_t)
IOCON_PIO1_2
, (
IOCON_FUNC1
)},
/* PIO1_2 used for Green LED */
52
{(uint32_t)
IOCON_PIO1_4
, (
IOCON_FUNC0
)},
/* PIO1_4 used for Blue LED */
53
{(uint32_t)
IOCON_PIO1_10
, (
IOCON_FUNC0
|
IOCON_MODE_INACT
)},
/* PIO1_10 GPIO */
54
55
{(uint32_t)
IOCON_PIO1_6
, (
IOCON_FUNC1
|
IOCON_MODE_INACT
)},
/* PIO1_6 used for U0 RXD */
56
{(uint32_t)
IOCON_PIO1_7
, (
IOCON_FUNC1
|
IOCON_MODE_INACT
)},
/* PIO1_7 used for U0 TXD */
57
};
58
59
/*****************************************************************************
60
* Public types/enumerations/variables
61
****************************************************************************/
62
63
/*****************************************************************************
64
* Private functions
65
****************************************************************************/
66
67
/*****************************************************************************
68
* Public functions
69
****************************************************************************/
70
71
/* Sets up system pin muxing */
72
void
Board_SetupMuxing
(
void
)
73
{
74
/* Enable IOCON clock */
75
Chip_Clock_EnablePeriphClock
(
SYSCON_CLOCK_IOCON
);
76
77
Chip_IOCON_SetPinMuxing
(
LPC_IOCON
,
pinmuxing
,
sizeof
(
pinmuxing
) /
sizeof
(
PINMUX_GRP_T
));
78
}
79
80
/* Set up and initialize clocking prior to call to main */
81
void
Board_SetupClocking
(
void
)
82
{
83
// FIXME - need common IRC function check for 1125, normal clocking may not work
84
Chip_SetupIrcClocking
();
85
}
86
87
/* Set up and initialize hardware prior to call to main */
88
void
Board_SystemInit
(
void
)
89
{
90
/* Setup system clocking and muxing */
91
Board_SetupMuxing
();
92
Board_SetupClocking
();
93
}
Generated on Fri Feb 20 2015 22:12:06 for LPCOpen Platform for LPC112X microcontrollers by
1.8.3.1