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