blob: 06fb4d3578b5079bd3f8bb4b41a23fa8af03c31d
1 | /* |
2 | * (C) Copyright 2012 |
3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
4 | * |
5 | * SPDX-License-Identifier: GPL-2.0+ |
6 | */ |
7 | |
8 | #include <common.h> |
9 | #include <asm/io.h> |
10 | #include <asm/byteorder.h> |
11 | |
12 | #if !defined(CONFIG_SYS_BOOTCOUNT_LE) && !defined(CONFIG_SYS_BOOTCOUNT_BE) |
13 | # if __BYTE_ORDER == __LITTLE_ENDIAN |
14 | # define CONFIG_SYS_BOOTCOUNT_LE |
15 | # else |
16 | # define CONFIG_SYS_BOOTCOUNT_BE |
17 | # endif |
18 | #endif |
19 | |
20 | #ifdef CONFIG_SYS_BOOTCOUNT_LE |
21 | static inline void raw_bootcount_store(volatile u32 *addr, u32 data) |
22 | { |
23 | out_le32(addr, data); |
24 | } |
25 | |
26 | static inline u32 raw_bootcount_load(volatile u32 *addr) |
27 | { |
28 | return in_le32(addr); |
29 | } |
30 | #else |
31 | static inline void raw_bootcount_store(volatile u32 *addr, u32 data) |
32 | { |
33 | out_be32(addr, data); |
34 | } |
35 | |
36 | static inline u32 raw_bootcount_load(volatile u32 *addr) |
37 | { |
38 | return in_be32(addr); |
39 | } |
40 | #endif |
41 |