1 /*!
2  * \file      se-identity.h
3  *
4  * \brief     Secure Element identity and keys
5  *
6  * \copyright Revised BSD License, see section \ref LICENSE.
7  *
8  * \code
9  *                ______                              _
10  *               / _____)             _              | |
11  *              ( (____  _____ ____ _| |_ _____  ____| |__
12  *               \____ \| ___ |    (_   _) ___ |/ ___)  _ \
13  *               _____) ) ____| | | || |_| ____( (___| | | |
14  *              (______/|_____)_|_|_| \__)_____)\____)_| |_|
15  *              (C)2020 Semtech
16  *
17  *               ___ _____ _   ___ _  _____ ___  ___  ___ ___
18  *              / __|_   _/_\ / __| |/ / __/ _ \| _ \/ __| __|
19  *              \__ \ | |/ _ \ (__| ' <| _| (_) |   / (__| _|
20  *              |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
21  *              embedded.connectivity.solutions===============
22  *
23  * \endcode
24  *
25  */
26 #ifndef __SOFT_SE_IDENTITY_H__
27 #define __SOFT_SE_IDENTITY_H__
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 /*!
34  ******************************************************************************
35  ********************************** WARNING ***********************************
36  ******************************************************************************
37   The secure-element implementation supports both 1.0.x and 1.1.x LoRaWAN
38   versions of the specification.
39   Thus it has been decided to use the 1.1.x keys and EUI name definitions.
40   The below table shows the names equivalence between versions:
41                +---------------------+-------------------------+
42                |       1.0.x         |          1.1.x          |
43                +=====================+=========================+
44                | LORAWAN_DEVICE_EUI  | LORAWAN_DEVICE_EUI      |
45                +---------------------+-------------------------+
46                | LORAWAN_APP_EUI     | LORAWAN_JOIN_EUI        |
47                +---------------------+-------------------------+
48                | LORAWAN_GEN_APP_KEY | LORAWAN_APP_KEY         |
49                +---------------------+-------------------------+
50                | LORAWAN_APP_KEY     | LORAWAN_NWK_KEY         |
51                +---------------------+-------------------------+
52                | LORAWAN_NWK_S_KEY   | LORAWAN_F_NWK_S_INT_KEY |
53                +---------------------+-------------------------+
54                | LORAWAN_NWK_S_KEY   | LORAWAN_S_NWK_S_INT_KEY |
55                +---------------------+-------------------------+
56                | LORAWAN_NWK_S_KEY   | LORAWAN_NWK_S_ENC_KEY   |
57                +---------------------+-------------------------+
58                | LORAWAN_APP_S_KEY   | LORAWAN_APP_S_KEY       |
59                +---------------------+-------------------------+
60  ******************************************************************************
61  ******************************************************************************
62  ******************************************************************************
63  */
64 
65 /*!
66  * When set to 1 DevEui is LORAWAN_DEVICE_EUI
67  * When set to 0 DevEui is automatically set with a value provided by MCU platform
68  */
69 #define STATIC_DEVICE_EUI                                  0
70 
71 /*!
72  * end-device IEEE EUI (big endian)
73  */
74 #define LORAWAN_DEVICE_EUI                                 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
75 
76 /*!
77  * App/Join server IEEE EUI (big endian)
78  */
79 #define LORAWAN_JOIN_EUI                                   { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
80 
81 /*!
82  * Secure-element pin
83  */
84 #define SECURE_ELEMENT_PIN                                 { 0x00, 0x00, 0x00, 0x00 }
85 
86 /*!
87  * When set to 1 DevAddr is LORAWAN_DEVICE_ADDRESS
88  * When set to 0 DevAddr is automatically set with a value provided by a pseudo
89  *      random generator seeded with a value provided by the MCU platform
90  */
91 #define STATIC_DEVICE_ADDRESS                              0
92 
93 /*!
94  * Device address on the network (big endian)
95  */
96 #define LORAWAN_DEVICE_ADDRESS                             ( uint32_t )0x00000000
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 #endif  //  __SOFT_SE_IDENTITY_H__
103