lpc_peripherals.h
Go to the documentation of this file.
1 /*
2  * SocialLedge.com - Copyright (C) 2013
3  *
4  * This file is part of free software framework for embedded processors.
5  * You can use it and/or distribute it as long as this copyright header
6  * remains unmodified. The code is free for personal use and requires
7  * permission to use in a commercial product.
8  *
9  * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
10  * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
12  * I SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
13  * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
14  *
15  * You can reach the author of this software at :
16  * p r e e t . w i k i @ g m a i l . c o m
17  */
18 
26 #ifndef LPC_PERIPHERALS_H__
27 #define LPC_PERIPHERALS_H__
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 #include <stdbool.h>
32 
33 
34 
36 typedef enum {
41 
44  pconp_spi = 8,
45  pconp_rtc = 9,
46  pconp_ssp1 = 10,
47 
48  pconp_adc = 12,
49  pconp_can1 = 13,
50  pconp_can2 = 14,
51 
52  pconp_gpio = 15,
53  pconp_rit = 16,
55  pconp_qei = 18,
56  pconp_i2c1 = 19,
57 
58  pconp_ssp0 = 21,
63  pconp_i2c2 = 26,
64  pconp_i2s = 27,
66  pconp_enet = 30,
67  pconp_usb = 31,
68 } lpc_pconp_t;
69 
71 typedef enum {
77 
78  pclk_pwm1 = 6,
79  pclk_i2c0 = 7,
80  pclk_spi = 8,
81 
82  pclk_ssp1 = 10,
83  pclk_dac = 11,
84  pclk_adc = 12,
85  pclk_can1 = 13,
86  pclk_can2 = 14,
88 
89  pclk_qei = 16,
91  pclk_pcb = 18,
92  pclk_i2c1 = 19,
93 
94  pclk_ssp0 = 21,
97  pclk_uart2 = 24,
98  pclk_uart3 = 25,
99  pclk_i2c2 = 26,
100 
101  pclk_rit = 29,
103  pclk_mc = 31,
104 } lpc_pclk_t;
105 
107 typedef enum {
108  clkdiv_4 = 0,
109  clkdiv_1 = 1,
110  clkdiv_2 = 2,
111  clkdiv_8 = 3,
112 } clkdiv_t;
113 
119 void lpc_pconp(lpc_pconp_t peripheral, bool on);
126 void lpc_pclk(lpc_pclk_t peripheral, clkdiv_t divider);
127 
128 
129 
130 #ifdef __cplusplus
131 }
132 #endif
133 #endif /* LPC_PERIPHERALS_H__ */
Definition: lpc_peripherals.h:72
Definition: lpc_peripherals.h:60
Definition: lpc_peripherals.h:101
Definition: lpc_peripherals.h:84
Definition: lpc_peripherals.h:39
Definition: lpc_peripherals.h:40
Definition: lpc_peripherals.h:66
Definition: lpc_peripherals.h:63
Definition: lpc_peripherals.h:48
Definition: lpc_peripherals.h:74
Definition: lpc_peripherals.h:67
void lpc_pconp(lpc_pconp_t peripheral, bool on)
Definition: lpc_peripherals.c:30
Definition: lpc_peripherals.h:42
Definition: lpc_peripherals.h:110
Definition: lpc_peripherals.h:89
Definition: lpc_peripherals.h:45
Definition: lpc_peripherals.h:73
Definition: lpc_peripherals.h:94
Definition: lpc_peripherals.h:109
Definition: lpc_peripherals.h:55
Definition: lpc_peripherals.h:111
Definition: lpc_peripherals.h:86
lpc_pconp_t
This enumeration matches the PCONP register numbers for peripherals.
Definition: lpc_peripherals.h:36
void lpc_pclk(lpc_pclk_t peripheral, clkdiv_t divider)
Definition: lpc_peripherals.c:42
Definition: lpc_peripherals.h:96
Definition: lpc_peripherals.h:103
Definition: lpc_peripherals.h:90
Definition: lpc_peripherals.h:76
Definition: lpc_peripherals.h:44
Definition: lpc_peripherals.h:43
Definition: lpc_peripherals.h:49
Definition: lpc_peripherals.h:58
Definition: lpc_peripherals.h:37
Definition: lpc_peripherals.h:64
Definition: lpc_peripherals.h:65
Definition: lpc_peripherals.h:80
Definition: lpc_peripherals.h:82
Definition: lpc_peripherals.h:99
Definition: lpc_peripherals.h:54
Definition: lpc_peripherals.h:85
Definition: lpc_peripherals.h:78
Definition: lpc_peripherals.h:62
Definition: lpc_peripherals.h:59
Definition: lpc_peripherals.h:108
Definition: lpc_peripherals.h:102
Definition: lpc_peripherals.h:50
Definition: lpc_peripherals.h:95
Definition: lpc_peripherals.h:91
Definition: lpc_peripherals.h:75
Definition: lpc_peripherals.h:92
Definition: lpc_peripherals.h:46
lpc_pclk_t
This enumeration matches peripheral clock registers (PCLKSEL0 and PCLKSEL1)
Definition: lpc_peripherals.h:71
Definition: lpc_peripherals.h:97
Definition: lpc_peripherals.h:87
Definition: lpc_peripherals.h:79
Definition: lpc_peripherals.h:98
Definition: lpc_peripherals.h:53
Definition: lpc_peripherals.h:56
Definition: lpc_peripherals.h:83
clkdiv_t
This enumeration matches the clock divider.
Definition: lpc_peripherals.h:107
Definition: lpc_peripherals.h:61
Definition: lpc_peripherals.h:38
Definition: lpc_peripherals.h:52