1*af930827SMasahiro Yamada /* 2*af930827SMasahiro Yamada * Copyright (C) 2010 3*af930827SMasahiro Yamada * Reinhard Meyer, reinhard.meyer@emk-elektronik.de 4*af930827SMasahiro Yamada * 5*af930827SMasahiro Yamada * General Purpose Backup Registers 6*af930827SMasahiro Yamada * Based on AT91SAM9XE datasheet 7*af930827SMasahiro Yamada * 8*af930827SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 9*af930827SMasahiro Yamada */ 10*af930827SMasahiro Yamada 11*af930827SMasahiro Yamada #ifndef AT91_GPBR_H 12*af930827SMasahiro Yamada #define AT91_GPBR_H 13*af930827SMasahiro Yamada 14*af930827SMasahiro Yamada /* 15*af930827SMasahiro Yamada * The Atmel AT91SAM9 series has a small resource of 4 nonvolatile 16*af930827SMasahiro Yamada * 32 Bit registers (buffered by the Vbu power). 17*af930827SMasahiro Yamada * 18*af930827SMasahiro Yamada * Please consider carefully before using this resource for tasks 19*af930827SMasahiro Yamada * that do not really need nonvolatile registers. Maybe you can 20*af930827SMasahiro Yamada * store information in EEPROM or FLASH instead. 21*af930827SMasahiro Yamada * 22*af930827SMasahiro Yamada * However, if you use a GPBR please document its use here and 23*af930827SMasahiro Yamada * reference the define in your code! 24*af930827SMasahiro Yamada * 25*af930827SMasahiro Yamada * known typical uses of the GPBRs: 26*af930827SMasahiro Yamada * GPBR[0]: offset for RTT timekeeping (u-boot, kernel) 27*af930827SMasahiro Yamada * GPBR[1]: unused 28*af930827SMasahiro Yamada * GPBR[2]: unused 29*af930827SMasahiro Yamada * GPBR[3]: bootcount (u-boot) 30*af930827SMasahiro Yamada */ 31*af930827SMasahiro Yamada #define AT91_GPBR_INDEX_TIMEOFF 0 32*af930827SMasahiro Yamada #define AT91_GPBR_INDEX_BOOTCOUNT 3 33*af930827SMasahiro Yamada 34*af930827SMasahiro Yamada #ifndef __ASSEMBLY__ 35*af930827SMasahiro Yamada 36*af930827SMasahiro Yamada typedef struct at91_gpbr { 37*af930827SMasahiro Yamada u32 reg[4]; 38*af930827SMasahiro Yamada } at91_gpbr_t; 39*af930827SMasahiro Yamada 40*af930827SMasahiro Yamada #endif /* __ASSEMBLY__ */ 41*af930827SMasahiro Yamada 42*af930827SMasahiro Yamada #endif 43