]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/arm/include/asm/arch-at91/at91_gpbr.h
arm920t/at91: add at91rm9200_devices.c
[karo-tx-uboot.git] / arch / arm / include / asm / arch-at91 / at91_gpbr.h
1 /*
2  * Copyright (C) 2010
3  * Reinhard Meyer, reinhard.meyer@emk-elektronik.de
4  *
5  * General Purpose Backup Registers
6  * Based on AT91SAM9XE datasheet
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  */
13
14 #ifndef AT91_GPBR_H
15 #define AT91_GPBR_H
16
17 /*
18  * The Atmel AT91SAM9 series has a small resource of 4 nonvolatile
19  * 32 Bit registers (buffered by the Vbu power).
20  *
21  * Please consider carefully before using this resource for tasks
22  * that do not really need nonvolatile registers. Maybe you can
23  * store information in EEPROM or FLASH instead.
24  *
25  * However, if you use a GPBR please document its use here and
26  * reference the define in your code!
27  *
28  * known typical uses of the GPBRs:
29  * GPBR[0]: offset for RTT timekeeping (u-boot, kernel)
30  * GPBR[1]: unused
31  * GPBR[2]: unused
32  * GPBR[3]: bootcount (u-boot)
33  */
34 #define AT91_GPBR_INDEX_TIMEOFF 0
35 #define AT91_GPBR_INDEX_BOOTCOUNT 3
36
37 #ifndef __ASSEMBLY__
38
39 typedef struct at91_gpbr {
40         u32 reg[4];
41 } at91_gpbr_t;
42
43 #endif /* __ASSEMBLY__ */
44
45 #endif