1 /* generated pin source file - do not edit */
2 #include "bsp_api.h"
3 #include "r_ioport_api.h"
4
5 const ioport_pin_cfg_t g_bsp_pin_cfg_data[] =
6 {
7 { .pin = BSP_IO_PORT_00_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) },
8 { .pin = BSP_IO_PORT_00_PIN_01, .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) },
9 { .pin = BSP_IO_PORT_00_PIN_02, .pin_cfg = ((uint32_t) IOPORT_CFG_IRQ_ENABLE
10 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT) },
11 { .pin = BSP_IO_PORT_00_PIN_03, .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) },
12 { .pin = BSP_IO_PORT_00_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
13 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
14 { .pin = BSP_IO_PORT_00_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_IRQ_ENABLE
15 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT) },
16 { .pin = BSP_IO_PORT_00_PIN_06, .pin_cfg = ((uint32_t) IOPORT_CFG_IRQ_ENABLE
17 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT) },
18 { .pin = BSP_IO_PORT_00_PIN_07, .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) },
19 { .pin = BSP_IO_PORT_00_PIN_08, .pin_cfg = ((uint32_t) IOPORT_CFG_IRQ_ENABLE
20 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT | (uint32_t) IOPORT_CFG_PULLUP_ENABLE) },
21 { .pin = BSP_IO_PORT_00_PIN_09, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
22 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
23 { .pin = BSP_IO_PORT_00_PIN_14, .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) },
24 { .pin = BSP_IO_PORT_00_PIN_15, .pin_cfg = ((uint32_t) IOPORT_CFG_ANALOG_ENABLE) },
25 { .pin = BSP_IO_PORT_01_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
26 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
27 { .pin = BSP_IO_PORT_01_PIN_01, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
28 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
29 { .pin = BSP_IO_PORT_01_PIN_02, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
30 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
31 { .pin = BSP_IO_PORT_01_PIN_03, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
32 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
33 { .pin = BSP_IO_PORT_01_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
34 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
35 { .pin = BSP_IO_PORT_01_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
36 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
37 { .pin = BSP_IO_PORT_01_PIN_06, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
38 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
39 { .pin = BSP_IO_PORT_01_PIN_07, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
40 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
41 { .pin = BSP_IO_PORT_01_PIN_08, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
42 | (uint32_t) IOPORT_PERIPHERAL_DEBUG) },
43 { .pin = BSP_IO_PORT_01_PIN_09, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
44 | (uint32_t) IOPORT_PERIPHERAL_DEBUG) },
45 { .pin = BSP_IO_PORT_01_PIN_10, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
46 | (uint32_t) IOPORT_PERIPHERAL_DEBUG) },
47 { .pin = BSP_IO_PORT_01_PIN_11, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
48 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
49 { .pin = BSP_IO_PORT_01_PIN_15, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
50 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
51 { .pin = BSP_IO_PORT_02_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT) },
52 { .pin = BSP_IO_PORT_02_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
53 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_HIGH) },
54 { .pin = BSP_IO_PORT_03_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
55 | (uint32_t) IOPORT_PERIPHERAL_DEBUG) },
56 { .pin = BSP_IO_PORT_03_PIN_03, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
57 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
58 { .pin = BSP_IO_PORT_03_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
59 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
60 { .pin = BSP_IO_PORT_03_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
61 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_QSPI) },
62 { .pin = BSP_IO_PORT_03_PIN_06, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
63 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_QSPI) },
64 { .pin = BSP_IO_PORT_03_PIN_07, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
65 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_QSPI) },
66 { .pin = BSP_IO_PORT_03_PIN_08, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
67 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_QSPI) },
68 { .pin = BSP_IO_PORT_03_PIN_09, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
69 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_QSPI) },
70 { .pin = BSP_IO_PORT_03_PIN_10, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
71 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_QSPI) },
72 { .pin = BSP_IO_PORT_03_PIN_11, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
73 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
74 { .pin = BSP_IO_PORT_03_PIN_12, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
75 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
76 { .pin = BSP_IO_PORT_03_PIN_13, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
77 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
78 { .pin = BSP_IO_PORT_04_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
79 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
80 { .pin = BSP_IO_PORT_04_PIN_01, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
81 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
82 { .pin = BSP_IO_PORT_04_PIN_02, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
83 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
84 { .pin = BSP_IO_PORT_04_PIN_03, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
85 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT | (uint32_t) IOPORT_CFG_PORT_OUTPUT_HIGH) },
86 { .pin = BSP_IO_PORT_04_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
87 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
88 { .pin = BSP_IO_PORT_04_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
89 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
90 { .pin = BSP_IO_PORT_04_PIN_06, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
91 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
92 { .pin = BSP_IO_PORT_04_PIN_07, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
93 | (uint32_t) IOPORT_PERIPHERAL_USB_FS) },
94 { .pin = BSP_IO_PORT_04_PIN_08, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
95 | (uint32_t) IOPORT_PERIPHERAL_GPT1) },
96 { .pin = BSP_IO_PORT_04_PIN_09, .pin_cfg = ((uint32_t) IOPORT_CFG_IRQ_ENABLE
97 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT | (uint32_t) IOPORT_CFG_PULLUP_ENABLE) },
98 { .pin = BSP_IO_PORT_04_PIN_10, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
99 | (uint32_t) IOPORT_PERIPHERAL_SPI) },
100 { .pin = BSP_IO_PORT_04_PIN_11, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
101 | (uint32_t) IOPORT_PERIPHERAL_SPI) },
102 { .pin = BSP_IO_PORT_04_PIN_12, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
103 | (uint32_t) IOPORT_PERIPHERAL_SPI) },
104 { .pin = BSP_IO_PORT_04_PIN_13, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
105 | (uint32_t) IOPORT_PERIPHERAL_SPI) },
106 { .pin = BSP_IO_PORT_04_PIN_14, .pin_cfg = ((uint32_t) IOPORT_CFG_IRQ_ENABLE
107 | (uint32_t) IOPORT_CFG_PORT_DIRECTION_INPUT | (uint32_t) IOPORT_CFG_PULLUP_ENABLE) },
108 { .pin = BSP_IO_PORT_04_PIN_15, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
109 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
110 { .pin = BSP_IO_PORT_05_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
111 | (uint32_t) IOPORT_PERIPHERAL_USB_FS) },
112 { .pin = BSP_IO_PORT_05_PIN_01, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
113 | (uint32_t) IOPORT_PERIPHERAL_USB_FS) },
114 { .pin = BSP_IO_PORT_05_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_NMOS_ENABLE
115 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SCI0_2_4_6_8) },
116 { .pin = BSP_IO_PORT_05_PIN_06, .pin_cfg = ((uint32_t) IOPORT_CFG_NMOS_ENABLE
117 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_SCI0_2_4_6_8) },
118 { .pin = BSP_IO_PORT_05_PIN_11, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_MID
119 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_IIC) },
120 { .pin = BSP_IO_PORT_05_PIN_12, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_MID
121 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_IIC) },
122 { .pin = BSP_IO_PORT_06_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
123 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
124 { .pin = BSP_IO_PORT_06_PIN_01, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
125 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
126 { .pin = BSP_IO_PORT_06_PIN_02, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
127 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
128 { .pin = BSP_IO_PORT_06_PIN_10, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
129 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_OSPI) },
130 { .pin = BSP_IO_PORT_06_PIN_11, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
131 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
132 { .pin = BSP_IO_PORT_06_PIN_12, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
133 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
134 { .pin = BSP_IO_PORT_06_PIN_13, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
135 | (uint32_t) IOPORT_PERIPHERAL_SCI1_3_5_7_9) },
136 { .pin = BSP_IO_PORT_06_PIN_14, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
137 | (uint32_t) IOPORT_PERIPHERAL_SCI1_3_5_7_9) },
138 { .pin = BSP_IO_PORT_07_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
139 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
140 { .pin = BSP_IO_PORT_07_PIN_01, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
141 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
142 { .pin = BSP_IO_PORT_07_PIN_02, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
143 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
144 { .pin = BSP_IO_PORT_07_PIN_03, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
145 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
146 { .pin = BSP_IO_PORT_07_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
147 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
148 { .pin = BSP_IO_PORT_07_PIN_05, .pin_cfg = ((uint32_t) IOPORT_CFG_DRIVE_HIGH
149 | (uint32_t) IOPORT_CFG_PERIPHERAL_PIN | (uint32_t) IOPORT_PERIPHERAL_ETHER_RMII) },
150 { .pin = BSP_IO_PORT_07_PIN_08, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
151 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
152 { .pin = BSP_IO_PORT_07_PIN_09, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
153 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
154 { .pin = BSP_IO_PORT_07_PIN_10, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
155 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
156 { .pin = BSP_IO_PORT_07_PIN_12, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
157 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
158 { .pin = BSP_IO_PORT_07_PIN_13, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
159 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) }, };
160
161 const ioport_cfg_t g_bsp_pin_cfg =
162 { .number_of_pins = sizeof(g_bsp_pin_cfg_data) / sizeof(ioport_pin_cfg_t), .p_pin_cfg_data = &g_bsp_pin_cfg_data[0], };
163
164 #if BSP_TZ_SECURE_BUILD
165
166 void R_BSP_PinCfgSecurityInit(void);
167
168 /* Initialize SAR registers for secure pins. */
R_BSP_PinCfgSecurityInit(void)169 void R_BSP_PinCfgSecurityInit(void)
170 {
171 #if (2U == BSP_FEATURE_IOPORT_VERSION)
172 uint32_t pmsar[BSP_FEATURE_BSP_NUM_PMSAR];
173 #else
174 uint16_t pmsar[BSP_FEATURE_BSP_NUM_PMSAR];
175 #endif
176 memset(pmsar, 0xFF, BSP_FEATURE_BSP_NUM_PMSAR * sizeof(R_PMISC->PMSAR[0]));
177
178
179 for(uint32_t i = 0; i < g_bsp_pin_cfg.number_of_pins; i++)
180 {
181 uint32_t port_pin = g_bsp_pin_cfg.p_pin_cfg_data[i].pin;
182 uint32_t port = port_pin >> 8U;
183 uint32_t pin = port_pin & 0xFFU;
184 pmsar[port] &= (uint16_t) ~(1U << pin);
185 }
186
187 for(uint32_t i = 0; i < BSP_FEATURE_BSP_NUM_PMSAR; i++)
188 {
189 #if (2U == BSP_FEATURE_IOPORT_VERSION)
190 R_PMISC->PMSAR[i].PMSAR = (uint16_t) pmsar[i];
191 #else
192 R_PMISC->PMSAR[i].PMSAR = pmsar[i];
193 #endif
194 }
195
196 }
197 #endif
198