RTEMS  5.0.0
bsp.h
Go to the documentation of this file.
1 
7 /*
8  * Copyright (c) 2016 embedded brains GmbH. All rights reserved.
9  *
10  * embedded brains GmbH
11  * Dornierstr. 4
12  * 82178 Puchheim
13  * Germany
14  * <rtems@embedded-brains.de>
15  *
16  * The license and distribution terms for this file may be
17  * found in the file LICENSE in this distribution or at
18  * http://www.rtems.org/license/LICENSE.
19  */
20 
21 #ifndef LIBBSP_ARM_ATSAM_BSP_H
22 #define LIBBSP_ARM_ATSAM_BSP_H
23 
34 #include <bspopts.h>
36 
37 #include <rtems.h>
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif /* __cplusplus */
42 
43 #define BSP_FEATURE_IRQ_EXTENSION
44 
45 #define BSP_ARMV7M_IRQ_PRIORITY_DEFAULT (13 << 4)
46 
47 #define BSP_ARMV7M_SYSTICK_PRIORITY (14 << 4)
48 
49 uint32_t atsam_systick_frequency(void);
50 
51 #define BSP_ARMV7M_SYSTICK_FREQUENCY atsam_systick_frequency()
52 
53 struct rtems_bsdnet_ifconfig;
54 
55 int if_atsam_attach(struct rtems_bsdnet_ifconfig *config, int attaching);
56 
57 #define RTEMS_BSP_NETWORK_DRIVER_NAME "atsam0"
58 
59 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH if_atsam_attach
60 
64 typedef struct {
68  uint32_t mdio_retries;
69 
75  uint8_t phy_addr;
77 
78 extern char atsam_memory_dtcm_begin[];
79 extern char atsam_memory_dtcm_end[];
80 extern char atsam_memory_dtcm_size[];
81 
82 extern char atsam_memory_intflash_begin[];
83 extern char atsam_memory_intflash_end[];
84 extern char atsam_memory_intflash_size[];
85 
86 extern char atsam_memory_intsram_begin[];
87 extern char atsam_memory_intsram_end[];
88 extern char atsam_memory_intsram_size[];
89 
90 extern char atsam_memory_itcm_begin[];
91 extern char atsam_memory_itcm_end[];
92 extern char atsam_memory_itcm_size[];
93 
94 extern char atsam_memory_nocache_begin[];
95 extern char atsam_memory_nocache_end[];
96 extern char atsam_memory_nocache_size[];
97 
98 extern char atsam_memory_qspiflash_begin[];
99 extern char atsam_memory_qspiflash_end[];
100 extern char atsam_memory_qspiflash_size[];
101 
102 extern char atsam_memory_sdram_begin[];
103 extern char atsam_memory_sdram_end[];
104 extern char atsam_memory_sdram_size[];
105 
106 void atsam_rtc_get_time(rtems_time_of_day *tod);
107 
108 
109 
110 void bsp_restart( const void *const addr );
111 
112 #ifdef __cplusplus
113 }
114 #endif /* __cplusplus */
115 
118 #endif /* LIBBSP_ARM_ATSAM_BSP_H */
Definition: deflate.c:115
Interface driver configuration.
Definition: bsp.h:64
DEFAULT_INITIAL_EXTENSION Support.
Data structure to manage and manipulate calendar time.
Definition: types.h:141
uint32_t mdio_retries
Maximum retries for MDIO communication.
Definition: bsp.h:68
uint8_t phy_addr
Address of PHY.
Definition: bsp.h:75
void bsp_restart(const void *addr)
Restarts the bsp with "addr" address.
Definition: restart.c:25