HPM SDK
HPMicro Software Development Kit
hpm_mcan_soc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2023-2024 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 #include "hpm_soc_feature.h"
14 
18 #define MCAN_TSU_EXT_TIMEBASE_SRC_MIN (0U)
19 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN0 (MCAN_TSU_EXT_TIMEBASE_SRC_MIN)
20 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN1 (1U)
21 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN2 (2U)
22 #define MCAN_TSU_EXT_TIMEBASE_SRC_MCAN3 (3U)
23 #define MCAN_TSU_EXT_TIMEBASE_SRC_PTPC (4U)
24 #define MCAN_TSU_EXT_TIMEBASE_SRC_MAX (MCAN_TSU_EXT_TIMEBASE_SRC_PTPC)
25 
26 #ifdef __cpluspus
27 extern "C" {
28 #endif
29 
35 static inline void mcan_set_tsu_ext_timebase_src(MCAN_Type *ptr, uint8_t src)
36 {
38 }
39 
44 static inline void mcan_enable_standby_pin(MCAN_Type *ptr)
45 {
47 }
48 
53 static inline void mcan_disable_standby_pin(MCAN_Type *ptr)
54 {
56 }
57 
63 static inline uint32_t mcan_get_ram_base(MCAN_Type *ptr)
64 {
65  return (uint32_t) &ptr->MESSAGE_BUFF[0];
66 }
67 
73 static inline uint32_t mcan_get_ram_offset(MCAN_Type *ptr)
74 {
75  (void) ptr;
76  return 0U;
77 }
78 
84 static inline uint32_t mcan_get_ram_size(MCAN_Type *ptr)
85 {
86  return sizeof(ptr->MESSAGE_BUFF);
87 }
88 
89 #ifdef __cpluspus
90 }
91 #endif
92 
93 #endif /* HPM_MCAN_SOC_H */
#define MCAN_GLB_CTL_M_CAN_STBY_MASK
Definition: hpm_mcan_regs.h:2874
#define MCAN_GLB_CTL_TSU_TBIN_SEL_SET(x)
Definition: hpm_mcan_regs.h:2908
#define MCAN_GLB_CTL_TSU_TBIN_SEL_MASK
Definition: hpm_mcan_regs.h:2906
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:73
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:35
static void mcan_disable_standby_pin(MCAN_Type *ptr)
Disable Standby pin for MCAN.
Definition: hpm_mcan_soc.h:53
static void mcan_enable_standby_pin(MCAN_Type *ptr)
Enable Standby Pin for MCAN.
Definition: hpm_mcan_soc.h:44
static uint32_t mcan_get_ram_base(MCAN_Type *ptr)
Get RAM base for MCAN.
Definition: hpm_mcan_soc.h:63
static uint32_t mcan_get_ram_size(MCAN_Type *ptr)
Get MCAN RAM size.
Definition: hpm_mcan_soc.h:84
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