blob: 8d9da760a7e5cb47f13b4fdbd81e637097b47ce2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
/* Copyright 2017 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
* MCHP MEC SoC little FW
*
*/
/* Why naked? This is dangerous except for
* function/ISR wrappers using inline assembly.
* lfw_main() makes many calls and has one local variable.
* Naked C functions should not use local data unless the local
* data can fit in CPU registers.
* Note other C functions called by lfw_main() are not marked naked and
* do include compiler generated prolog and epilog code.
* We also do not know how much stack space is available when
* EC_RO calls lfw_main().
*
void lfw_main(void) __attribute__ ((noreturn, naked));
*/
void lfw_main(void) __attribute__ ((noreturn));
void fault_handler(void) __attribute__((naked));
/*
* Defined in linker file ec_lfw.ld
*/
extern uint32_t lfw_stack_top[];
struct int_vector_t {
void *stack_ptr;
void *reset_vector;
void *nmi;
void *hard_fault;
void *bus_fault;
void *usage_fault;
};
#define SPI_CHUNK_SIZE 1024
|