cpu_conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 Gunar Schorcht
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
24 #include "cpu_conf_common.h"
25 #include "xtensa_conf.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
36 #ifndef DOXYGEN
37 /* Mapping of Kconfig defines to the respective enumeration values */
38 #if CONFIG_ESP8266_CPU_FREQUENCY_80
39 #define ESP8266_CPU_FREQUENCY 80
40 #elif CONFIG_ESP8266_CPU_FREQUENCY_160
41 #define ESP8266_CPU_FREQUENCY 160
42 #endif
43 #endif
44 
50 #ifndef ESP8266_CPU_FREQUENCY
51 #define ESP8266_CPU_FREQUENCY (80)
52 #endif
53 
57 #define CLOCK_CORECLOCK (1000000UL * ESP8266_CPU_FREQUENCY)
64 #ifndef THREAD_EXTRA_STACKSIZE_PRINTF
65 #define THREAD_EXTRA_STACKSIZE_PRINTF (0)
66 #endif
67 
68 #ifndef THREAD_STACKSIZE_DEFAULT
69 #define THREAD_STACKSIZE_DEFAULT (1024)
70 #endif
71 
72 #ifndef THREAD_STACKSIZE_IDLE
73 #define THREAD_STACKSIZE_IDLE (1024)
74 #endif
75 
76 #ifndef THREAD_STACKSIZE_MAIN
77 #define THREAD_STACKSIZE_MAIN (3072)
78 #endif
79 
80 #ifndef THREAD_STACKSIZE_SMALL
81 #define THREAD_STACKSIZE_SMALL (THREAD_STACKSIZE_MEDIUM * 3 / 2)
82 #endif
83 
84 #ifndef THREAD_STACKSIZE_TINY
85 #define THREAD_STACKSIZE_TINY (THREAD_STACKSIZE_MEDIUM / 2)
86 #endif
87 
88 #ifndef GNRC_IPV6_STACK_SIZE
89 #define GNRC_IPV6_STACK_SIZE (1536)
90 #endif
91 #ifndef GNRC_PKTDUMP_STACKSIZE
92 #define GNRC_PKTDUMP_STACKSIZE (THREAD_STACKSIZE_DEFAULT << 1)
93 #endif
94 
95 #ifndef ESP_NOW_STACKSIZE
96 #define ESP_NOW_STACKSIZE (2560)
97 #endif
98 
99 #ifndef TCPIP_THREAD_STACKSIZE
100 #define TCPIP_THREAD_STACKSIZE (3072)
101 #endif
102 
103 #ifndef ESP_WIFI_STACKSIZE
105 #define ESP_WIFI_STACKSIZE (1536)
106 #endif
107 
113 #define PRINTF_BUFSIZ 256
114 
115 #ifdef __cplusplus
116 }
117 #endif
118 
Xtensa ASM code specific configuration options for ESP SoCs.