xref: /rk3399_rockchip-uboot/arch/m68k/include/asm/coldfire/eport.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
1819833afSPeter Tyser /*
2819833afSPeter Tyser  * Edge Port Memory Map
3819833afSPeter Tyser  *
4819833afSPeter Tyser  * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
5819833afSPeter Tyser  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
6819833afSPeter Tyser  *
7*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
8819833afSPeter Tyser  */
9819833afSPeter Tyser 
10819833afSPeter Tyser #ifndef __EPORT_H__
11819833afSPeter Tyser #define __EPORT_H__
12819833afSPeter Tyser 
13819833afSPeter Tyser /* Edge Port Module (EPORT) */
14819833afSPeter Tyser typedef struct eport {
15819833afSPeter Tyser #ifdef CONFIG_MCF547x_8x
16819833afSPeter Tyser 	u16 par;	/* 0x00 */
17819833afSPeter Tyser 	u16 res0;	/* 0x02 */
18819833afSPeter Tyser 	u8 ddr;		/* 0x04 */
19819833afSPeter Tyser 	u8 ier;		/* 0x05 */
20819833afSPeter Tyser 	u16 res1;	/* 0x06 */
21819833afSPeter Tyser 	u8 dr;		/* 0x08 */
22819833afSPeter Tyser 	u8 pdr;		/* 0x09 */
23819833afSPeter Tyser 	u16 res2;	/* 0x0A */
24819833afSPeter Tyser 	u8 fr;		/* 0x0C */
25819833afSPeter Tyser 	u8 res3[3];	/* 0x0D */
26819833afSPeter Tyser #else
27819833afSPeter Tyser 	u16 par;	/* 0x00 Pin Assignment */
28819833afSPeter Tyser 	u8 ddr;		/* 0x02 Data Direction */
29819833afSPeter Tyser 	u8 ier;		/* 0x03 Interrupt Enable */
30819833afSPeter Tyser 	u8 dr;		/* 0x04 Data */
31819833afSPeter Tyser 	u8 pdr;		/* 0x05 Pin Data */
32819833afSPeter Tyser 	u8 fr;		/* 0x06 Flag */
33819833afSPeter Tyser 	u8 res0;
34819833afSPeter Tyser #endif
35819833afSPeter Tyser } eport_t;
36819833afSPeter Tyser 
37819833afSPeter Tyser /* EPPAR */
38819833afSPeter Tyser #define EPORT_PAR_EPPA1(x)		(((x)&0x0003)<<2)
39819833afSPeter Tyser #define EPORT_PAR_EPPA2(x)		(((x)&0x0003)<<4)
40819833afSPeter Tyser #define EPORT_PAR_EPPA3(x)		(((x)&0x0003)<<6)
41819833afSPeter Tyser #define EPORT_PAR_EPPA4(x)		(((x)&0x0003)<<8)
42819833afSPeter Tyser #define EPORT_PAR_EPPA5(x)		(((x)&0x0003)<<10)
43819833afSPeter Tyser #define EPORT_PAR_EPPA6(x)		(((x)&0x0003)<<12)
44819833afSPeter Tyser #define EPORT_PAR_EPPA7(x)		(((x)&0x0003)<<14)
45819833afSPeter Tyser #define EPORT_PAR_LEVEL			(0)
46819833afSPeter Tyser #define EPORT_PAR_RISING		(1)
47819833afSPeter Tyser #define EPORT_PAR_FALLING		(2)
48819833afSPeter Tyser #define EPORT_PAR_BOTH			(3)
49819833afSPeter Tyser #define EPORT_PAR_EPPA7_LEVEL		(0x0000)
50819833afSPeter Tyser #define EPORT_PAR_EPPA7_RISING		(0x4000)
51819833afSPeter Tyser #define EPORT_PAR_EPPA7_FALLING		(0x8000)
52819833afSPeter Tyser #define EPORT_PAR_EPPA7_BOTH		(0xC000)
53819833afSPeter Tyser #define EPORT_PAR_EPPA6_LEVEL		(0x0000)
54819833afSPeter Tyser #define EPORT_PAR_EPPA6_RISING		(0x1000)
55819833afSPeter Tyser #define EPORT_PAR_EPPA6_FALLING		(0x2000)
56819833afSPeter Tyser #define EPORT_PAR_EPPA6_BOTH		(0x3000)
57819833afSPeter Tyser #define EPORT_PAR_EPPA5_LEVEL		(0x0000)
58819833afSPeter Tyser #define EPORT_PAR_EPPA5_RISING		(0x0400)
59819833afSPeter Tyser #define EPORT_PAR_EPPA5_FALLING		(0x0800)
60819833afSPeter Tyser #define EPORT_PAR_EPPA5_BOTH		(0x0C00)
61819833afSPeter Tyser #define EPORT_PAR_EPPA4_LEVEL		(0x0000)
62819833afSPeter Tyser #define EPORT_PAR_EPPA4_RISING		(0x0100)
63819833afSPeter Tyser #define EPORT_PAR_EPPA4_FALLING		(0x0200)
64819833afSPeter Tyser #define EPORT_PAR_EPPA4_BOTH		(0x0300)
65819833afSPeter Tyser #define EPORT_PAR_EPPA3_LEVEL		(0x0000)
66819833afSPeter Tyser #define EPORT_PAR_EPPA3_RISING		(0x0040)
67819833afSPeter Tyser #define EPORT_PAR_EPPA3_FALLING		(0x0080)
68819833afSPeter Tyser #define EPORT_PAR_EPPA3_BOTH		(0x00C0)
69819833afSPeter Tyser #define EPORT_PAR_EPPA2_LEVEL		(0x0000)
70819833afSPeter Tyser #define EPORT_PAR_EPPA2_RISING		(0x0010)
71819833afSPeter Tyser #define EPORT_PAR_EPPA2_FALLING		(0x0020)
72819833afSPeter Tyser #define EPORT_PAR_EPPA2_BOTH		(0x0030)
73819833afSPeter Tyser #define EPORT_PAR_EPPA1_LEVEL		(0x0000)
74819833afSPeter Tyser #define EPORT_PAR_EPPA1_RISING		(0x0004)
75819833afSPeter Tyser #define EPORT_PAR_EPPA1_FALLING		(0x0008)
76819833afSPeter Tyser #define EPORT_PAR_EPPA1_BOTH		(0x000C)
77819833afSPeter Tyser 
78819833afSPeter Tyser /* EPDDR */
79819833afSPeter Tyser #define EPORT_DDR_EPDD1			(0x02)
80819833afSPeter Tyser #define EPORT_DDR_EPDD2			(0x04)
81819833afSPeter Tyser #define EPORT_DDR_EPDD3			(0x08)
82819833afSPeter Tyser #define EPORT_DDR_EPDD4			(0x10)
83819833afSPeter Tyser #define EPORT_DDR_EPDD5			(0x20)
84819833afSPeter Tyser #define EPORT_DDR_EPDD6			(0x40)
85819833afSPeter Tyser #define EPORT_DDR_EPDD7			(0x80)
86819833afSPeter Tyser 
87819833afSPeter Tyser /* EPIER */
88819833afSPeter Tyser #define EPORT_IER_EPIE1			(0x02)
89819833afSPeter Tyser #define EPORT_IER_EPIE2			(0x04)
90819833afSPeter Tyser #define EPORT_IER_EPIE3			(0x08)
91819833afSPeter Tyser #define EPORT_IER_EPIE4			(0x10)
92819833afSPeter Tyser #define EPORT_IER_EPIE5			(0x20)
93819833afSPeter Tyser #define EPORT_IER_EPIE6			(0x40)
94819833afSPeter Tyser #define EPORT_IER_EPIE7			(0x80)
95819833afSPeter Tyser 
96819833afSPeter Tyser /* EPDR */
97819833afSPeter Tyser #define EPORT_DR_EPD1			(0x02)
98819833afSPeter Tyser #define EPORT_DR_EPD2			(0x04)
99819833afSPeter Tyser #define EPORT_DR_EPD3			(0x08)
100819833afSPeter Tyser #define EPORT_DR_EPD4			(0x10)
101819833afSPeter Tyser #define EPORT_DR_EPD5			(0x20)
102819833afSPeter Tyser #define EPORT_DR_EPD6			(0x40)
103819833afSPeter Tyser #define EPORT_DR_EPD7			(0x80)
104819833afSPeter Tyser 
105819833afSPeter Tyser /* EPPDR */
106819833afSPeter Tyser #define EPORT_PDR_EPPD1			(0x02)
107819833afSPeter Tyser #define EPORT_PDR_EPPD2			(0x04)
108819833afSPeter Tyser #define EPORT_PDR_EPPD3			(0x08)
109819833afSPeter Tyser #define EPORT_PDR_EPPD4			(0x10)
110819833afSPeter Tyser #define EPORT_PDR_EPPD5			(0x20)
111819833afSPeter Tyser #define EPORT_PDR_EPPD6			(0x40)
112819833afSPeter Tyser #define EPORT_PDR_EPPD7			(0x80)
113819833afSPeter Tyser 
114819833afSPeter Tyser /* EPFR */
115819833afSPeter Tyser #define EPORT_FR_EPF1			(0x02)
116819833afSPeter Tyser #define EPORT_FR_EPF2			(0x04)
117819833afSPeter Tyser #define EPORT_FR_EPF3			(0x08)
118819833afSPeter Tyser #define EPORT_FR_EPF4			(0x10)
119819833afSPeter Tyser #define EPORT_FR_EPF5			(0x20)
120819833afSPeter Tyser #define EPORT_FR_EPF6			(0x40)
121819833afSPeter Tyser #define EPORT_FR_EPF7			(0x80)
122819833afSPeter Tyser 
123819833afSPeter Tyser #endif				/* __EPORT_H__ */
124