0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef _DT_BINDINGS_PINCTRL_OMAP_H
0010 #define _DT_BINDINGS_PINCTRL_OMAP_H
0011
0012
0013 #define MUX_MODE0 0
0014 #define MUX_MODE1 1
0015 #define MUX_MODE2 2
0016 #define MUX_MODE3 3
0017 #define MUX_MODE4 4
0018 #define MUX_MODE5 5
0019 #define MUX_MODE6 6
0020 #define MUX_MODE7 7
0021
0022
0023 #define PULL_ENA (1 << 3)
0024 #define PULL_UP (1 << 4)
0025 #define ALTELECTRICALSEL (1 << 5)
0026
0027
0028 #define INPUT_EN (1 << 8)
0029 #define OFF_EN (1 << 9)
0030 #define OFFOUT_EN (1 << 10)
0031 #define OFFOUT_VAL (1 << 11)
0032 #define OFF_PULL_EN (1 << 12)
0033 #define OFF_PULL_UP (1 << 13)
0034 #define WAKEUP_EN (1 << 14)
0035 #define WAKEUP_EVENT (1 << 15)
0036
0037
0038 #define PIN_OUTPUT 0
0039 #define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP)
0040 #define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA)
0041 #define PIN_INPUT INPUT_EN
0042 #define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP)
0043 #define PIN_INPUT_PULLDOWN (PULL_ENA | INPUT_EN)
0044
0045
0046 #define PIN_OFF_NONE 0
0047 #define PIN_OFF_OUTPUT_HIGH (OFF_EN | OFFOUT_EN | OFFOUT_VAL)
0048 #define PIN_OFF_OUTPUT_LOW (OFF_EN | OFFOUT_EN)
0049 #define PIN_OFF_INPUT_PULLUP (OFF_EN | OFFOUT_EN | OFF_PULL_EN | OFF_PULL_UP)
0050 #define PIN_OFF_INPUT_PULLDOWN (OFF_EN | OFFOUT_EN | OFF_PULL_EN)
0051 #define PIN_OFF_WAKEUPENABLE WAKEUP_EN
0052
0053
0054
0055
0056
0057 #define OMAP_IOPAD_OFFSET(pa, offset) (((pa) & 0xffff) - (offset))
0058
0059 #define OMAP2420_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0030) (val)
0060 #define OMAP2430_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2030) (val)
0061 #define OMAP3_CORE1_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2030) (val)
0062 #define OMAP3430_CORE2_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x25d8) (val)
0063 #define OMAP3630_CORE2_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x25a0) (val)
0064 #define OMAP3_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2a00) (val)
0065 #define DM814X_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val)
0066 #define DM816X_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val)
0067 #define AM33XX_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val) (0)
0068 #define AM33XX_PADCONF(pa, conf, mux) OMAP_IOPAD_OFFSET((pa), 0x0800) (conf) (mux)
0069
0070
0071
0072
0073
0074 #define OMAP_PADCONF_OFFSET(offset, base_offset) ((offset) - (base_offset))
0075
0076 #define OMAP4_IOPAD(offset, val) OMAP_PADCONF_OFFSET((offset), 0x0040) (val)
0077 #define OMAP5_IOPAD(offset, val) OMAP_PADCONF_OFFSET((offset), 0x0040) (val)
0078
0079
0080
0081
0082
0083
0084 #define OMAP3_UART1_RX 0x152
0085 #define OMAP3_UART2_RX 0x14a
0086 #define OMAP3_UART3_RX 0x16e
0087 #define OMAP4_UART2_RX 0xdc
0088 #define OMAP4_UART3_RX 0x104
0089 #define OMAP4_UART4_RX 0x11c
0090
0091 #endif
0092