RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / arm / mach-orion5x / mpp.h
blob290e610dc012adc777e639a93f8c2bfe99edc29d
1 #ifndef __ARCH_ORION5X_MPP_H
2 #define __ARCH_ORION5X_MPP_H
4 enum orion5x_mpp_type {
5 /*
6 * This MPP is unused.
7 */
8 MPP_UNUSED,
11 * This MPP pin is used as a generic GPIO pin. Valid for
12 * MPPs 0-15 and device bus data pins 16-31. On 5182, also
13 * valid for MPPs 16-19.
15 MPP_GPIO,
18 * This MPP is used as PCIe_RST_OUTn pin. Valid for
19 * MPP 0 only.
21 MPP_PCIE_RST_OUTn,
24 * This MPP is used as PCI arbiter pin (REQn/GNTn).
25 * Valid for MPPs 0-7 only.
27 MPP_PCI_ARB,
30 * This MPP is used as PCI_PMEn pin. Valid for MPP 2 only.
32 MPP_PCI_PMEn,
35 * This MPP is used as GigE half-duplex (COL, CRS) or GMII
36 * (RXERR, CRS, TXERR, TXD[7:4], RXD[7:4]) pin. Valid for
37 * MPPs 8-19 only.
39 MPP_GIGE,
42 * This MPP is used as NAND REn/WEn pin. Valid for MPPs
43 * 4-7 and 12-17 only, and only on the 5181l/5182/5281.
45 MPP_NAND,
48 * This MPP is used as a PCI clock output pin. Valid for
49 * MPPs 6-7 only, and only on the 5181l.
51 MPP_PCI_CLK,
54 * This MPP is used as a SATA presence/activity LED.
55 * Valid for MPPs 4-7 and 12-15 only, and only on the 5182.
57 MPP_SATA_LED,
60 * This MPP is used as UART1 RXD/TXD/CTSn/RTSn pin.
61 * Valid for MPPs 16-19 only.
63 MPP_UART,
66 struct orion5x_mpp_mode {
67 int mpp;
68 enum orion5x_mpp_type type;
71 void orion5x_mpp_conf(struct orion5x_mpp_mode *mode);
74 #endif