aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-at91/at91_dbu.h
blob: 9a640a5b045d3919024fc535f591774b84130b67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * 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