]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - ArmPlatformPkg/Include/Drivers/PL061Gpio.h
ArmPlatformPkg: PL061: support multiple controller
[mirror_edk2.git] / ArmPlatformPkg / Include / Drivers / PL061Gpio.h
... / ...
CommitLineData
1/** @file\r
2*\r
3* Copyright (c) 2011-2012, ARM Limited. All rights reserved.\r
4*\r
5* This program and the accompanying materials\r
6* are licensed and made available under the terms and conditions of the BSD License\r
7* which accompanies this distribution. The full text of the license may be found at\r
8* http://opensource.org/licenses/bsd-license.php\r
9*\r
10* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12*\r
13**/\r
14\r
15\r
16#ifndef __PL061_GPIO_H__\r
17#define __PL061_GPIO_H__\r
18\r
19#include <Protocol/EmbeddedGpio.h>\r
20\r
21// PL061 GPIO Registers\r
22#define PL061_GPIO_DATA_REG_OFFSET ((UINTN) 0x000)\r
23#define PL061_GPIO_DATA_REG 0x000\r
24#define PL061_GPIO_DIR_REG 0x400\r
25#define PL061_GPIO_IS_REG 0x404\r
26#define PL061_GPIO_IBE_REG 0x408\r
27#define PL061_GPIO_IEV_REG 0x40C\r
28#define PL061_GPIO_IE_REG 0x410\r
29#define PL061_GPIO_RIS_REG 0x414\r
30#define PL061_GPIO_MIS_REG 0x410\r
31#define PL061_GPIO_IC_REG 0x41C\r
32#define PL061_GPIO_AFSEL_REG 0x420\r
33\r
34#define PL061_GPIO_PERIPH_ID0 0xFE0\r
35#define PL061_GPIO_PERIPH_ID1 0xFE4\r
36#define PL061_GPIO_PERIPH_ID2 0xFE8\r
37#define PL061_GPIO_PERIPH_ID3 0xFEC\r
38\r
39#define PL061_GPIO_PCELL_ID0 0xFF0\r
40#define PL061_GPIO_PCELL_ID1 0xFF4\r
41#define PL061_GPIO_PCELL_ID2 0xFF8\r
42#define PL061_GPIO_PCELL_ID3 0xFFC\r
43\r
44#define PL061_GPIO_PINS 8\r
45\r
46// All bits low except one bit high, native bit length\r
47#define GPIO_PIN_MASK(Pin) (1UL << ((UINTN)(Pin)))\r
48\r
49#endif // __PL061_GPIO_H__\r