HPM SDK
HPMicro Software Development Kit
hpm_mcan_soc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef HPM_MCAN_SOC_H
9 #define HPM_MCAN_SOC_H
10 
11 #include <stdint.h>
12 #include "hpm_mcan_regs.h"
13 
17 #define MCAN_TSU_EXT_TIMEBASE_SRC_MIN (0U)
18 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN0 (MCAN_TSU_EXT_TIMEBASE_SRC_MIN)
19 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN1 (1U)
20 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN2 (2U)
21 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN3 (3U)
22 #define MCAN_TSU_EXT_TIMEBASE_SRC_PTPC (4U)
23 #define MCAN_TSU_EXT_TIMEBASE_SRC_MAX (MCAN_TSU_EXT_TIMEBASE_SRC_PTPC)
24 
25 #ifdef __cpluspus
26 extern "C" {
27 #endif
28 
34 static inline void mcan_set_tsu_ext_timebase_src(MCAN_Type *ptr, uint8_t src)
35 {
37 }
38 
43 static inline void mcan_enable_standby_pin(MCAN_Type *ptr)
44 {
46 }
47 
52 static inline void mcan_disable_standby_pin(MCAN_Type *ptr)
53 {
55 }
56 
62 static inline uint32_t mcan_get_ram_base(MCAN_Type *ptr)
63 {
64  return (uint32_t) &ptr->MESSAGE_BUFF[0];
65 }
66 
72 static inline uint32_t mcan_get_ram_offset(MCAN_Type *ptr)
73 {
74  (void) ptr;
75  return 0U;
76 }
77 
83 static inline uint32_t mcan_get_ram_size(MCAN_Type *ptr)
84 {
85  return sizeof(ptr->MESSAGE_BUFF);
86 }
87 
88 #ifdef __cpluspus
89 }
90 #endif
91 
92 #endif /* HPM_MCAN_SOC_H */
static uint32_t mcan_get_ram_offset(MCAN_Type *ptr)
Get the MCAN RAM offset in the dedicated/shared RAM for.
Definition: hpm_mcan_soc.h:72
static void mcan_set_tsu_ext_timebase_src(MCAN_Type *ptr, uint8_t src)
Set External Timebase Source for MCAN TSU.
Definition: hpm_mcan_soc.h:34
static void mcan_disable_standby_pin(MCAN_Type *ptr)
Disable Standby pin for MCAN.
Definition: hpm_mcan_soc.h:52
static void mcan_enable_standby_pin(MCAN_Type *ptr)
Enable Standby Pin for MCAN.
Definition: hpm_mcan_soc.h:43
static uint32_t mcan_get_ram_base(MCAN_Type *ptr)
Get RAM base for MCAN.
Definition: hpm_mcan_soc.h:62
static uint32_t mcan_get_ram_size(MCAN_Type *ptr)
Get MCAN RAM size.
Definition: hpm_mcan_soc.h:83
#define MCAN_GLB_CTL_M_CAN_STBY_MASK
Definition: hpm_mcan_regs.h:2875
#define MCAN_GLB_CTL_TSU_TBIN_SEL_SET(x)
Definition: hpm_mcan_regs.h:2909
#define MCAN_GLB_CTL_TSU_TBIN_SEL_MASK
Definition: hpm_mcan_regs.h:2907
Definition: hpm_mcan_regs.h:12
__RW uint32_t GLB_CTL
Definition: hpm_mcan_regs.h:74
__RW uint32_t MESSAGE_BUFF[640]
Definition: hpm_mcan_regs.h:77