Lines Matching +full:29 +full:- +full:bit
5 * SPDX-License-Identifier: Apache-2.0
41 /* Data Bit Timing & Prescaler register */
43 #define CAN_MCAN_DBTP_TDC BIT(23)
51 #define CAN_MCAN_TEST_SVAL BIT(21)
53 #define CAN_MCAN_TEST_PVAL BIT(13)
55 #define CAN_MCAN_TEST_RX BIT(7)
57 #define CAN_MCAN_TEST_LBCK BIT(4)
66 #define CAN_MCAN_CCCR_NISO BIT(15)
67 #define CAN_MCAN_CCCR_TXP BIT(14)
68 #define CAN_MCAN_CCCR_EFBI BIT(13)
69 #define CAN_MCAN_CCCR_PXHD BIT(12)
70 #define CAN_MCAN_CCCR_WMM BIT(11)
71 #define CAN_MCAN_CCCR_UTSU BIT(10)
72 #define CAN_MCAN_CCCR_BRSE BIT(9)
73 #define CAN_MCAN_CCCR_FDOE BIT(8)
74 #define CAN_MCAN_CCCR_TEST BIT(7)
75 #define CAN_MCAN_CCCR_DAR BIT(6)
76 #define CAN_MCAN_CCCR_MON BIT(5)
77 #define CAN_MCAN_CCCR_CSR BIT(4)
78 #define CAN_MCAN_CCCR_CSA BIT(3)
79 #define CAN_MCAN_CCCR_ASM BIT(2)
80 #define CAN_MCAN_CCCR_CCE BIT(1)
81 #define CAN_MCAN_CCCR_INIT BIT(0)
83 /* Nominal Bit Timing & Prescaler register */
103 #define CAN_MCAN_TOCC_ETOC BIT(1)
112 #define CAN_MCAN_ECR_RP BIT(15)
119 #define CAN_MCAN_PSR_PXE BIT(14)
120 #define CAN_MCAN_PSR_RFDF BIT(13)
121 #define CAN_MCAN_PSR_RBRS BIT(12)
122 #define CAN_MCAN_PSR_RESI BIT(11)
124 #define CAN_MCAN_PSR_BO BIT(7)
125 #define CAN_MCAN_PSR_EW BIT(6)
126 #define CAN_MCAN_PSR_EP BIT(5)
148 #define CAN_MCAN_IR_ARA BIT(29)
149 #define CAN_MCAN_IR_PED BIT(28)
150 #define CAN_MCAN_IR_PEA BIT(27)
151 #define CAN_MCAN_IR_WDI BIT(26)
152 #define CAN_MCAN_IR_BO BIT(25)
153 #define CAN_MCAN_IR_EW BIT(24)
154 #define CAN_MCAN_IR_EP BIT(23)
155 #define CAN_MCAN_IR_ELO BIT(22)
156 #define CAN_MCAN_IR_BEU BIT(21)
157 #define CAN_MCAN_IR_BEC BIT(20)
158 #define CAN_MCAN_IR_DRX BIT(19)
159 #define CAN_MCAN_IR_TOO BIT(18)
160 #define CAN_MCAN_IR_MRAF BIT(17)
161 #define CAN_MCAN_IR_TSW BIT(16)
162 #define CAN_MCAN_IR_TEFL BIT(15)
163 #define CAN_MCAN_IR_TEFF BIT(14)
164 #define CAN_MCAN_IR_TEFW BIT(13)
165 #define CAN_MCAN_IR_TEFN BIT(12)
166 #define CAN_MCAN_IR_TFE BIT(11)
167 #define CAN_MCAN_IR_TCF BIT(10)
168 #define CAN_MCAN_IR_TC BIT(9)
169 #define CAN_MCAN_IR_HPM BIT(8)
170 #define CAN_MCAN_IR_RF1L BIT(7)
171 #define CAN_MCAN_IR_RF1F BIT(6)
172 #define CAN_MCAN_IR_RF1W BIT(5)
173 #define CAN_MCAN_IR_RF1N BIT(4)
174 #define CAN_MCAN_IR_RF0L BIT(3)
175 #define CAN_MCAN_IR_RF0F BIT(2)
176 #define CAN_MCAN_IR_RF0W BIT(1)
177 #define CAN_MCAN_IR_RF0N BIT(0)
181 #define CAN_MCAN_IE_ARAE BIT(29)
182 #define CAN_MCAN_IE_PEDE BIT(28)
183 #define CAN_MCAN_IE_PEAE BIT(27)
184 #define CAN_MCAN_IE_WDIE BIT(26)
185 #define CAN_MCAN_IE_BOE BIT(25)
186 #define CAN_MCAN_IE_EWE BIT(24)
187 #define CAN_MCAN_IE_EPE BIT(23)
188 #define CAN_MCAN_IE_ELOE BIT(22)
189 #define CAN_MCAN_IE_BEUE BIT(21)
190 #define CAN_MCAN_IE_BECE BIT(20)
191 #define CAN_MCAN_IE_DRXE BIT(19)
192 #define CAN_MCAN_IE_TOOE BIT(18)
193 #define CAN_MCAN_IE_MRAFE BIT(17)
194 #define CAN_MCAN_IE_TSWE BIT(16)
195 #define CAN_MCAN_IE_TEFLE BIT(15)
196 #define CAN_MCAN_IE_TEFFE BIT(14)
197 #define CAN_MCAN_IE_TEFWE BIT(13)
198 #define CAN_MCAN_IE_TEFNE BIT(12)
199 #define CAN_MCAN_IE_TFEE BIT(11)
200 #define CAN_MCAN_IE_TCFE BIT(10)
201 #define CAN_MCAN_IE_TCE BIT(9)
202 #define CAN_MCAN_IE_HPME BIT(8)
203 #define CAN_MCAN_IE_RF1LE BIT(7)
204 #define CAN_MCAN_IE_RF1FE BIT(6)
205 #define CAN_MCAN_IE_RF1WE BIT(5)
206 #define CAN_MCAN_IE_RF1NE BIT(4)
207 #define CAN_MCAN_IE_RF0LE BIT(3)
208 #define CAN_MCAN_IE_RF0FE BIT(2)
209 #define CAN_MCAN_IE_RF0WE BIT(1)
210 #define CAN_MCAN_IE_RF0NE BIT(0)
214 #define CAN_MCAN_ILS_ARAL BIT(29)
215 #define CAN_MCAN_ILS_PEDL BIT(28)
216 #define CAN_MCAN_ILS_PEAL BIT(27)
217 #define CAN_MCAN_ILS_WDIL BIT(26)
218 #define CAN_MCAN_ILS_BOL BIT(25)
219 #define CAN_MCAN_ILS_EWL BIT(24)
220 #define CAN_MCAN_ILS_EPL BIT(23)
221 #define CAN_MCAN_ILS_ELOL BIT(22)
222 #define CAN_MCAN_ILS_BEUL BIT(21)
223 #define CAN_MCAN_ILS_BECL BIT(20)
224 #define CAN_MCAN_ILS_DRXL BIT(19)
225 #define CAN_MCAN_ILS_TOOL BIT(18)
226 #define CAN_MCAN_ILS_MRAFL BIT(17)
227 #define CAN_MCAN_ILS_TSWL BIT(16)
228 #define CAN_MCAN_ILS_TEFLL BIT(15)
229 #define CAN_MCAN_ILS_TEFFL BIT(14)
230 #define CAN_MCAN_ILS_TEFWL BIT(13)
231 #define CAN_MCAN_ILS_TEFNL BIT(12)
232 #define CAN_MCAN_ILS_TFEL BIT(11)
233 #define CAN_MCAN_ILS_TCFL BIT(10)
234 #define CAN_MCAN_ILS_TCL BIT(9)
235 #define CAN_MCAN_ILS_HPML BIT(8)
236 #define CAN_MCAN_ILS_RF1LL BIT(7)
237 #define CAN_MCAN_ILS_RF1FL BIT(6)
238 #define CAN_MCAN_ILS_RF1WL BIT(5)
239 #define CAN_MCAN_ILS_RF1NL BIT(4)
240 #define CAN_MCAN_ILS_RF0LL BIT(3)
241 #define CAN_MCAN_ILS_RF0FL BIT(2)
242 #define CAN_MCAN_ILS_RF0WL BIT(1)
243 #define CAN_MCAN_ILS_RF0NL BIT(0)
247 #define CAN_MCAN_ILE_EINT1 BIT(1)
248 #define CAN_MCAN_ILE_EINT0 BIT(0)
254 #define CAN_MCAN_GFC_RRFS BIT(1)
255 #define CAN_MCAN_GFC_RRFE BIT(0)
273 #define CAN_MCAN_HPMS_FLST BIT(15)
288 #define CAN_MCAN_RXF0C_F0OM BIT(31)
295 #define CAN_MCAN_RXF0S_RF0L BIT(25)
296 #define CAN_MCAN_RXF0S_F0F BIT(24)
311 #define CAN_MCAN_RXF1C_F1OM BIT(31)
318 #define CAN_MCAN_RXF1S_RF1L BIT(25)
319 #define CAN_MCAN_RXF1S_F1F BIT(24)
336 #define CAN_MCAN_TXBC_TFQM BIT(30)
337 #define CAN_MCAN_TXBC_TFQS GENMASK(29, 24)
343 #define CAN_MCAN_TXFQS_TFQF BIT(21)
382 #define CAN_MCAN_TXEFC_EFWM GENMASK(29, 24)
388 #define CAN_MCAN_TXEFS_TEFL BIT(25)
389 #define CAN_MCAN_TXEFS_EFF BIT(24)
399 * @name Indexes for the cells in the devicetree bosch,mram-cfg property
402 * These match the description of the cells in the bosch,m_can-base devicetree binding.
408 /** std-filter-elements cell index */
410 /** ext-filter-elements cell index */
412 /** rx-fifo0-elements cell index */
414 /** rx-fifo1-elements cell index */
416 /** rx-buffer-elements cell index */
418 /** tx-event-fifo-elements cell index */
420 /** tx-buffer-elements cell index */
422 /** Total number of cells in bosch,mram-cfg property */
437 * @brief Get the number of standard (11-bit) filter elements in Bosch M_CAN Message RAM
440 * @return the number of standard (11-bit) filter elements
446 * @brief Get the number of extended (29-bit) filter elements in Bosch M_CAN Message RAM
449 * @return the number of extended (29-bit) filter elements
500 * @brief Get the base offset of standard (11-bit) filter elements in Bosch M_CAN Message RAM
503 * @return the base offset of standard (11-bit) filter elements in bytes
508 * @brief Get the base offset of extended (29-bit) filter elements in Bosch M_CAN Message RAM
511 * @return the base offset of extended (29-bit) filter elements in bytes
618 (mem_addr_t)(DT_REG_SIZE_BY_NAME(node_id, message_ram) - CAN_MCAN_DT_MRAM_OFFSET(node_id))
677 * @return the number of standard (11-bit) elements
686 * @return the number of extended (29-bit) elements
740 * @return the base offset of standard (11-bit) filter elements in bytes
749 * @return the base offset of extended (29-bit) filter elements in bytes
912 uint32_t ext_id: 29;
953 uint32_t ext_id: 29;
994 uint32_t ext_id: 29;
1053 uint32_t efid1: 29;
1055 uint32_t efid2: 29;
1072 * @brief Bosch M_CAN driver front-end callback for reading a register value
1079 * @retval -ENOTSUP Register not supported.
1080 * @retval -EIO General input/output error.
1085 * @brief Bosch M_CAN driver front-end callback for writing a register value
1092 * @retval -ENOTSUP Register not supported.
1093 * @retval -EIO General input/output error.
1098 * @brief Bosch M_CAN driver front-end callback for reading from Message RAM
1102 * offset must be 32-bit aligned.
1103 * @param[out] dst Destination for the data read. The destination address must be 32-bit aligned.
1107 * @retval -EIO General input/output error.
1113 * @brief Bosch M_CAN driver front-end callback for writing to Message RAM
1117 * offset must be 32-bit aligned.
1118 * @param src Source for the data to be written. The source address must be 32-bit aligned.
1122 * @retval -EIO General input/output error.
1128 * @brief Bosch M_CAN driver front-end callback for clearing Message RAM
1134 * offset must be 32-bit aligned.
1138 * @retval -EIO General input/output error.
1143 * @brief Bosch M_CAN driver front-end operations.
1185 * the required software resources (e.g. limit the number of the standard (11-bit) or extended
1186 * (29-bit) filters in use).
1193 * @param _std Number of standard (11-bit) filter callbacks
1194 * @param _ext Number of extended (29-bit) filter callbacks
1288 * @param _ops Pointer to front-end @a can_mcan_ops
1289 * @param _cbs Pointer to front-end @a can_mcan_callbacks
1320 * @param _ops Pointer to front-end @a can_mcan_ops
1321 * @param _cbs Pointer to front-end @a can_mcan_callbacks
1337 * @brief Bosch M_CAN driver front-end callback helper for reading a memory mapped register
1353 * @brief Bosch M_CAN driver front-end callback helper for writing a memory mapped register
1369 * @brief Bosch M_CAN driver front-end callback helper for reading from memory mapped Message RAM
1372 * must be 32-bit aligned.
1374 * offset must be 32-bit aligned.
1375 * @param[out] dst Destination for the data read. The destination address must be 32-bit aligned.
1379 * @retval -EIO General input/output error.
1389 __ASSERT(POINTER_TO_UINT(dst) % 4U == 0U, "dst must be 32-bit aligned"); in can_mcan_sys_read_mram()
1401 while (len32-- > 0) { in can_mcan_sys_read_mram()
1409 * @brief Bosch M_CAN driver front-end callback helper for writing to memory mapped Message RAM
1412 * must be 32-bit aligned.
1414 * offset must be 32-bit aligned.
1415 * @param src Source for the data to be written. The source address must be 32-bit aligned.
1419 * @retval -EIO General input/output error.
1430 __ASSERT(POINTER_TO_UINT(src) % 4U == 0U, "src must be 32-bit aligned"); in can_mcan_sys_write_mram()
1433 while (len32-- > 0) { in can_mcan_sys_write_mram()
1445 * @brief Bosch M_CAN driver front-end callback helper for clearing memory mapped Message RAM
1450 * must be 32-bit aligned.
1452 * offset must be 32-bit aligned.
1456 * @retval -EIO General input/output error.
1467 while (len32-- > 0) { in can_mcan_sys_clear_mram()
1486 * @retval -ENOTSUP Register not supported.
1487 * @retval -EIO General input/output error.
1499 * @retval -ENOTSUP Register not supported.
1500 * @retval -EIO General input/output error.
1509 * offset must be 32-bit aligned.
1514 * @retval -EIO General input/output error.
1519 const struct can_mcan_config *config = dev->config; in can_mcan_read_mram()
1521 return config->ops->read_mram(dev, offset, dst, len); in can_mcan_read_mram()
1529 * offset must be 32-bit aligned.
1534 * @retval -EIO General input/output error.
1539 const struct can_mcan_config *config = dev->config; in can_mcan_write_mram()
1541 return config->ops->write_mram(dev, offset, src, len); in can_mcan_write_mram()
1551 * offset must be 32-bit aligned.
1555 * @retval -EIO General input/output error.
1559 const struct can_mcan_config *config = dev->config; in can_mcan_clear_mram()
1561 return config->ops->clear_mram(dev, offset, len); in can_mcan_clear_mram()
1567 * Bosch M_CAN driver front-end callback helper function for configuring the start addresses of the
1571 * The start addresses (containing bits 15:2 since Bosch M_CAN message RAM is accessed as 32 bit
1576 * RAM. It is the responsibility of the front-end driver to call this function during driver
1584 * @retval -EIO General input/output error.