summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-bcmbca/include/pinctrl.h
blob: 122ea4462cdfe0047adaa989034fd8e47bb74856 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <common.h>


#define PINMUX_ADDR_SHIFT       0
#define PINMUX_ADDR_MASK        (0xfff<<PINMUX_ADDR_SHIFT)
#define PINMUX_DATA_SHIFT       12
#define PINMUX_DATA_MASK        (0x3f<<PINMUX_DATA_SHIFT)

#define LOAD_MUX_REG_CMD        0x21
#define LOAD_PAD_CTRL_CMD       0x22
#define LOAD_SELECT_CMD         0x23

/*===================================================*/

typedef struct pinctrl_reg {
	uint32_t TestPortBlockDataMSB;
	uint32_t TestPortBlockDataLSB;
	uint32_t TestPortCmd;
	uint32_t DiagReadBack;
	uint32_t DiagReadBackHi;
}pinctrl_reg;

/* pinmux function */
int bcmbca_pinmux_set (volatile struct pinctrl_reg *regp, int pin, int func);