xref: /nrf52832-nimble/nordic/nrfx/mdk/nrf52_to_nrf52840.h (revision 150812a83cab50279bd772ef6db1bfaf255f2c5b)
1*150812a8SEvalZero /*
2*150812a8SEvalZero 
3*150812a8SEvalZero Copyright (c) 2010 - 2018, Nordic Semiconductor ASA All rights reserved.
4*150812a8SEvalZero 
5*150812a8SEvalZero Redistribution and use in source and binary forms, with or without
6*150812a8SEvalZero modification, are permitted provided that the following conditions are met:
7*150812a8SEvalZero 
8*150812a8SEvalZero 1. Redistributions of source code must retain the above copyright notice, this
9*150812a8SEvalZero    list of conditions and the following disclaimer.
10*150812a8SEvalZero 
11*150812a8SEvalZero 2. Redistributions in binary form must reproduce the above copyright
12*150812a8SEvalZero    notice, this list of conditions and the following disclaimer in the
13*150812a8SEvalZero    documentation and/or other materials provided with the distribution.
14*150812a8SEvalZero 
15*150812a8SEvalZero 3. Neither the name of Nordic Semiconductor ASA nor the names of its
16*150812a8SEvalZero    contributors may be used to endorse or promote products derived from this
17*150812a8SEvalZero    software without specific prior written permission.
18*150812a8SEvalZero 
19*150812a8SEvalZero THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20*150812a8SEvalZero AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21*150812a8SEvalZero IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
22*150812a8SEvalZero ARE DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
23*150812a8SEvalZero LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24*150812a8SEvalZero CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25*150812a8SEvalZero SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26*150812a8SEvalZero INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27*150812a8SEvalZero CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28*150812a8SEvalZero ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29*150812a8SEvalZero POSSIBILITY OF SUCH DAMAGE.
30*150812a8SEvalZero 
31*150812a8SEvalZero */
32*150812a8SEvalZero 
33*150812a8SEvalZero #ifndef NRF52_TO_NRF52840_H
34*150812a8SEvalZero #define NRF52_TO_NRF52840_H
35*150812a8SEvalZero 
36*150812a8SEvalZero /*lint ++flb "Enter library region */
37*150812a8SEvalZero 
38*150812a8SEvalZero /* This file is given to prevent your SW from not compiling with the name changes between nRF51 or nRF52832 and nRF52840 devices.
39*150812a8SEvalZero  * It redefines the old nRF51 or nRF52832 names into the new ones as long as the functionality is still supported. If the
40*150812a8SEvalZero  * functionality is gone, there old names are not defined, so compilation will fail. Note that also includes macros
41*150812a8SEvalZero  * from the nrf52_namechange.h file. */
42*150812a8SEvalZero 
43*150812a8SEvalZero /* Differences between latest nRF52 headers and nRF52840 headers. */
44*150812a8SEvalZero 
45*150812a8SEvalZero /* UART */
46*150812a8SEvalZero /* The registers PSELRTS, PSELTXD, PSELCTS, PSELRXD were restructured into a struct. */
47*150812a8SEvalZero #define PSELRTS       PSEL.RTS
48*150812a8SEvalZero #define PSELTXD       PSEL.TXD
49*150812a8SEvalZero #define PSELCTS       PSEL.CTS
50*150812a8SEvalZero #define PSELRXD       PSEL.RXD
51*150812a8SEvalZero 
52*150812a8SEvalZero /* TWI */
53*150812a8SEvalZero /* The registers PSELSCL, PSELSDA were restructured into a struct. */
54*150812a8SEvalZero #define PSELSCL       PSEL.SCL
55*150812a8SEvalZero #define PSELSDA       PSEL.SDA
56*150812a8SEvalZero 
57*150812a8SEvalZero 
58*150812a8SEvalZero /* LPCOMP */
59*150812a8SEvalZero /* The hysteresis control enumerated values has changed name for nRF52840 devices. */
60*150812a8SEvalZero #define LPCOMP_HYST_HYST_NoHyst     LPCOMP_HYST_HYST_Disabled
61*150812a8SEvalZero #define LPCOMP_HYST_HYST_Hyst50mV   LPCOMP_HYST_HYST_Enabled
62*150812a8SEvalZero 
63*150812a8SEvalZero 
64*150812a8SEvalZero /* From nrf52_name_change.h. Several macros changed in different versions of nRF52 headers. By defining the following, any code written for any version of nRF52 headers will still compile. */
65*150812a8SEvalZero 
66*150812a8SEvalZero /* I2S */
67*150812a8SEvalZero /* Several enumerations changed case. Adding old macros to keep compilation compatibility. */
68*150812a8SEvalZero #define I2S_ENABLE_ENABLE_DISABLE           I2S_ENABLE_ENABLE_Disabled
69*150812a8SEvalZero #define I2S_ENABLE_ENABLE_ENABLE            I2S_ENABLE_ENABLE_Enabled
70*150812a8SEvalZero #define I2S_CONFIG_MODE_MODE_MASTER         I2S_CONFIG_MODE_MODE_Master
71*150812a8SEvalZero #define I2S_CONFIG_MODE_MODE_SLAVE          I2S_CONFIG_MODE_MODE_Slave
72*150812a8SEvalZero #define I2S_CONFIG_RXEN_RXEN_DISABLE        I2S_CONFIG_RXEN_RXEN_Disabled
73*150812a8SEvalZero #define I2S_CONFIG_RXEN_RXEN_ENABLE         I2S_CONFIG_RXEN_RXEN_Enabled
74*150812a8SEvalZero #define I2S_CONFIG_TXEN_TXEN_DISABLE        I2S_CONFIG_TXEN_TXEN_Disabled
75*150812a8SEvalZero #define I2S_CONFIG_TXEN_TXEN_ENABLE         I2S_CONFIG_TXEN_TXEN_Enabled
76*150812a8SEvalZero #define I2S_CONFIG_MCKEN_MCKEN_DISABLE      I2S_CONFIG_MCKEN_MCKEN_Disabled
77*150812a8SEvalZero #define I2S_CONFIG_MCKEN_MCKEN_ENABLE       I2S_CONFIG_MCKEN_MCKEN_Enabled
78*150812a8SEvalZero #define I2S_CONFIG_SWIDTH_SWIDTH_8BIT       I2S_CONFIG_SWIDTH_SWIDTH_8Bit
79*150812a8SEvalZero #define I2S_CONFIG_SWIDTH_SWIDTH_16BIT      I2S_CONFIG_SWIDTH_SWIDTH_16Bit
80*150812a8SEvalZero #define I2S_CONFIG_SWIDTH_SWIDTH_24BIT      I2S_CONFIG_SWIDTH_SWIDTH_24Bit
81*150812a8SEvalZero #define I2S_CONFIG_ALIGN_ALIGN_LEFT         I2S_CONFIG_ALIGN_ALIGN_Left
82*150812a8SEvalZero #define I2S_CONFIG_ALIGN_ALIGN_RIGHT        I2S_CONFIG_ALIGN_ALIGN_Right
83*150812a8SEvalZero #define I2S_CONFIG_FORMAT_FORMAT_ALIGNED    I2S_CONFIG_FORMAT_FORMAT_Aligned
84*150812a8SEvalZero #define I2S_CONFIG_CHANNELS_CHANNELS_STEREO I2S_CONFIG_CHANNELS_CHANNELS_Stereo
85*150812a8SEvalZero #define I2S_CONFIG_CHANNELS_CHANNELS_LEFT   I2S_CONFIG_CHANNELS_CHANNELS_Left
86*150812a8SEvalZero #define I2S_CONFIG_CHANNELS_CHANNELS_RIGHT  I2S_CONFIG_CHANNELS_CHANNELS_Right
87*150812a8SEvalZero 
88*150812a8SEvalZero /* LPCOMP */
89*150812a8SEvalZero /* Corrected typo in RESULT register. */
90*150812a8SEvalZero #define LPCOMP_RESULT_RESULT_Bellow         LPCOMP_RESULT_RESULT_Below
91*150812a8SEvalZero 
92*150812a8SEvalZero 
93*150812a8SEvalZero /*lint --flb "Leave library region" */
94*150812a8SEvalZero 
95*150812a8SEvalZero #endif /* NRF51_TO_NRF52840_H */
96*150812a8SEvalZero 
97