xref: /rk3399_ARM-atf/include/plat/marvell/odyssey/csr/ody-arch.h (revision a8dc2595ab7e10dac8285d2c0b6da7ebbcd0edb0)
1 #ifndef __ODY_ARCH_H__
2 #define __ODY_ARCH_H__
3 /***********************license start***********************************
4 * Copyright (C) 2021-2026 Marvell.
5 * SPDX-License-Identifier: BSD-3-Clause
6 * https://spdx.org/licenses
7 ***********************license end**************************************/
8 
9 /**
10  * @file
11  *
12  * Master include file for architecture support. Use ody.h
13  * instead of including this file directly.
14  *
15  * <hr>$Revision: 49448 $<hr>
16  */
17 
18 #ifndef __BYTE_ORDER
19     #if !defined(__ORDER_BIG_ENDIAN__) || !defined(__ORDER_LITTLE_ENDIAN__) || !defined(__BYTE_ORDER__)
20 	#error Unable to determine Endian mode
21     #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
22 	#define __BYTE_ORDER __ORDER_BIG_ENDIAN__
23 	#define ODY_LITTLE_ENDIAN_STRUCT __attribute__ ((scalar_storage_order("little-endian")))
24     #elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
25 	#define __BYTE_ORDER __ORDER_LITTLE_ENDIAN__
26 	#define ODY_LITTLE_ENDIAN_STRUCT
27     #else
28 	#error Unable to determine Endian mode
29     #endif
30     #define __BIG_ENDIAN    __ORDER_BIG_ENDIAN__
31     #define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
32 #endif
33 
34 #include "ody-csr-plat.h"
35 #include "ody-require.h"
36 #include "ody-swap.h"
37 #ifndef ODY_BUILD_HOST
38 #include "ody-asm.h"
39 #endif
40 #include "ody-model.h"
41 #include "ody-csr.h"
42 #include "ody-warn.h"
43 #include "ody-version.h"
44 #ifndef ODY_BUILD_HOST
45 #include "ody-platform.h"
46 #endif
47 
48 #endif
49