2 #include <asm/arch/pinmux.h>
4 void pinmux_set(int bank
, int pin
, int func
)
8 /* TODO: check parameters */
10 if (bank
== PINMUX_BANK_MFA
)
11 base
= SYS_CONTROL_BASE
;
13 base
= SEC_CONTROL_BASE
;
15 clrbits_le32(base
+ PINMUX_SECONDARY_SEL
, BIT(pin
));
16 clrbits_le32(base
+ PINMUX_TERTIARY_SEL
, BIT(pin
));
17 clrbits_le32(base
+ PINMUX_QUATERNARY_SEL
, BIT(pin
));
18 clrbits_le32(base
+ PINMUX_DEBUG_SEL
, BIT(pin
));
19 clrbits_le32(base
+ PINMUX_ALTERNATIVE_SEL
, BIT(pin
));
27 reg
= base
+ PINMUX_SECONDARY_SEL
;
30 reg
= base
+ PINMUX_TERTIARY_SEL
;
33 reg
= base
+ PINMUX_QUATERNARY_SEL
;
36 reg
= base
+ PINMUX_DEBUG_SEL
;
39 reg
= base
+ PINMUX_ALTERNATIVE_SEL
;
42 setbits_le32(reg
, BIT(pin
));