/* * Copyright (C) 2010 * Reinhard Meyer, reinhard.meyer@emk-elektronik.de * * Debug Unit * Based on AT91SAM9XE datasheet * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #ifndef AT91_DBU_H #define AT91_DBU_H #ifndef __ASSEMBLY__ typedef struct at91_dbu { u32 cr; /* Control Register WO */ u32 mr; /* Mode Register RW */ u32 ier; /* Interrupt Enable Register WO */ u32 idr; /* Interrupt Disable Register WO */ u32 imr; /* Interrupt Mask Register RO */ u32 sr; /* Status Register RO */ u32 rhr; /* Receive Holding Register RO */ u32 thr; /* Transmit Holding Register WO */ u32 brgr; /* Baud Rate Generator Register RW */ u32 res1[7];/* 0x0024 - 0x003C Reserved */ u32 cidr; /* Chip ID Register RO */ u32 exid; /* Chip ID Extension Register RO */ u32 fnr; /* Force NTRST Register RW */ } at91_dbu_t; #endif /* __ASSEMBLY__ */ #define AT91_DBU_CID_ARCH_MASK 0x0ff00000 #define AT91_DBU_CID_ARCH_9xx 0x01900000 #define AT91_DBU_CID_ARCH_9XExx 0x02900000 #define AT91_DBU_CIDR_MASK 0x1f #define AT91_DBU_CIDR 0x40 #define AT91_DBU_EXID 0x44 #endif