diff options
author | raj <raj@FreeBSD.org> | 2010-06-13 13:28:53 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2010-06-13 13:28:53 +0000 |
commit | 48f2ce50e598284d7c79d1111c68cc0e0f7c281d (patch) | |
tree | 07c2d0d0d218db6ddf32a8764732a00acfd6ae59 /sys/arm/mv/mvreg.h | |
parent | 9195421e5e6821c80ae6593124db55737a827f21 (diff) | |
download | FreeBSD-src-48f2ce50e598284d7c79d1111c68cc0e0f7c281d.zip FreeBSD-src-48f2ce50e598284d7c79d1111c68cc0e0f7c281d.tar.gz |
Convert Marvell ARM platforms to FDT convention.
The following systems are involved:
- DB-88F5182
- DB-88F5281
- DB-88F6281
- DB-78100
- SheevaPlug
This overhaul covers the following major changes:
- All integrated peripherals drivers for Marvell ARM SoC, which are
currently in the FreeBSD source tree are reworked and adjusted so they
derive config data out of the device tree blob (instead of hard coded /
tabelarized values).
- Since the common FDT infrastrucutre (fdtbus, simplebus) is used we say
good by to obio / mbus drivers and numerous hard-coded config data.
Note that world needs to be built WITH_FDT for the affected platforms.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation.
Diffstat (limited to 'sys/arm/mv/mvreg.h')
-rw-r--r-- | sys/arm/mv/mvreg.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/sys/arm/mv/mvreg.h b/sys/arm/mv/mvreg.h index 28e342a..9a8b781 100644 --- a/sys/arm/mv/mvreg.h +++ b/sys/arm/mv/mvreg.h @@ -240,6 +240,9 @@ #define CPU_PM_CTRL_XOR (CPU_PM_CTRL_XOR0 | CPU_PM_CTRL_XOR1) #define CPU_PM_CTRL_USB(u) (CPU_PM_CTRL_USB0) #define CPU_PM_CTRL_SATA (CPU_PM_CTRL_SATA0 | CPU_PM_CTRL_SATA1) +#define CPU_PM_CTRL_GE(u) (CPU_PM_CTRL_GE1 * (u) | CPU_PM_CTRL_GE0 * \ + (1 - (u))) +#define CPU_PM_CTRL_IDMA (CPU_PM_CTRL_NONE) #elif defined(SOC_MV_DISCOVERY) #define CPU_PM_CTRL_GE0 (1 << 1) #define CPU_PM_CTRL_GE1 (1 << 2) @@ -264,12 +267,15 @@ #define CPU_PM_CTRL_DEVICE (1 << 23) #define CPU_PM_CTRL_USB(u) (1 << (17 + (u))) #define CPU_PM_CTRL_SATA (CPU_PM_CTRL_SATA0 | CPU_PM_CTRL_SATA1) +#define CPU_PM_CTRL_GE(u) (CPU_PM_CTRL_GE1 * (u) | CPU_PM_CTRL_GE0 * \ + (1 - (u))) #else #define CPU_PM_CTRL_CRYPTO (CPU_PM_CTRL_NONE) #define CPU_PM_CTRL_IDMA (CPU_PM_CTRL_NONE) #define CPU_PM_CTRL_XOR (CPU_PM_CTRL_NONE) #define CPU_PM_CTRL_SATA (CPU_PM_CTRL_NONE) #define CPU_PM_CTRL_USB(u) (CPU_PM_CTRL_NONE) +#define CPU_PM_CTRL_GE(u) (CPU_PM_CTRL_NONE) #endif /* @@ -378,10 +384,14 @@ #define GPIO(n) (1 << (n)) #define MV_GPIO_MAX_NPINS 64 -#define MV_GPIO_BLINK 0x1 -#define MV_GPIO_POLAR_LOW 0x2 -#define MV_GPIO_EDGE 0x4 -#define MV_GPIO_LEVEL 0x8 +#define MV_GPIO_IN_NONE 0x0 +#define MV_GPIO_IN_POL_LOW (1 << 16) +#define MV_GPIO_IN_IRQ_EDGE (2 << 16) +#define MV_GPIO_IN_IRQ_LEVEL (4 << 16) +#define MV_GPIO_OUT_NONE 0x0 +#define MV_GPIO_OUT_BLINK 0x1 +#define MV_GPIO_OUT_OPEN_DRAIN 0x2 +#define MV_GPIO_OUT_OPEN_SRC 0x4 #define IS_GPIO_IRQ(irq) ((irq) >= NIRQ && (irq) < NIRQ + MV_GPIO_MAX_NPINS) #define GPIO2IRQ(gpio) ((gpio) + NIRQ) |