blob: 7346fc0569b463d13c6a747ff0bc50ca6873f063 [file] [log] [blame]
Reinhard Meyer8ec18f42010-07-27 15:18:38 +02001/*
2 * Copyright (C) 2010
3 * Reinhard Meyer, reinhard.meyer@emk-elektronik.de
4 *
5 * Debug Unit
6 * Based on AT91SAM9XE datasheet
7 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02008 * SPDX-License-Identifier: GPL-2.0+
Reinhard Meyer8ec18f42010-07-27 15:18:38 +02009 */
10
11#ifndef AT91_DBU_H
12#define AT91_DBU_H
13
14#ifndef __ASSEMBLY__
15
16typedef struct at91_dbu {
17 u32 cr; /* Control Register WO */
18 u32 mr; /* Mode Register RW */
19 u32 ier; /* Interrupt Enable Register WO */
20 u32 idr; /* Interrupt Disable Register WO */
21 u32 imr; /* Interrupt Mask Register RO */
22 u32 sr; /* Status Register RO */
23 u32 rhr; /* Receive Holding Register RO */
24 u32 thr; /* Transmit Holding Register WO */
25 u32 brgr; /* Baud Rate Generator Register RW */
26 u32 res1[7];/* 0x0024 - 0x003C Reserved */
27 u32 cidr; /* Chip ID Register RO */
28 u32 exid; /* Chip ID Extension Register RO */
29 u32 fnr; /* Force NTRST Register RW */
30} at91_dbu_t;
31
32#endif /* __ASSEMBLY__ */
33
34#define AT91_DBU_CID_ARCH_MASK 0x0ff00000
35#define AT91_DBU_CID_ARCH_9xx 0x01900000
36#define AT91_DBU_CID_ARCH_9XExx 0x02900000
37
Bo Shen60f3dd32013-05-12 22:40:54 +000038#define AT91_DBU_CIDR_MASK 0x1f
39#define AT91_DBU_CIDR 0x40
40#define AT91_DBU_EXID 0x44
41
Reinhard Meyer8ec18f42010-07-27 15:18:38 +020042#endif