static int armada_xp_mpp_ctrl_set(unsigned pid, unsigned long config) { return default_mpp_ctrl_set(mpp_base, pid, config); } enum armada_xp_variant { V_MV78230 = BIT(0), V_MV78260 = BIT(1), V_MV78460 = BIT(2), V_MV78230_PLUS = (V_MV78230 | V_MV78260 | V_MV78460), V_MV78260_PLUS = (V_MV78260 | V_MV78460), }; static struct mvebu_mpp_mode armada_xp_mpp_modes[] = { MPP_MODE(0, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txclko", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d0", V_MV78230_PLUS)), MPP_MODE(1, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txd0", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d1", V_MV78230_PLUS)), MPP_MODE(2, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txd1", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d2", V_MV78230_PLUS)), MPP_MODE(3, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txd2", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d3", V_MV78230_PLUS)), MPP_MODE(4,
enum armada_xp_variant { V_MV78230 = BIT(0), V_MV78260 = BIT(1), V_MV78460 = BIT(2), V_MV78230_PLUS = (V_MV78230 | V_MV78260 | V_MV78460), V_MV78260_PLUS = (V_MV78260 | V_MV78460), V_98DX3236 = BIT(3), V_98DX3336 = BIT(4), V_98DX4251 = BIT(5), V_98DX3236_PLUS = (V_98DX3236 | V_98DX3336 | V_98DX4251), }; static struct mvebu_mpp_mode armada_xp_mpp_modes[] = { MPP_MODE(0, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txclkout", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d0", V_MV78230_PLUS)), MPP_MODE(1, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txd0", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d1", V_MV78230_PLUS)), MPP_MODE(2, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txd1", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d2", V_MV78230_PLUS)), MPP_MODE(3, MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_MV78230_PLUS), MPP_VAR_FUNCTION(0x1, "ge0", "txd2", V_MV78230_PLUS), MPP_VAR_FUNCTION(0x4, "lcd", "d3", V_MV78230_PLUS)), MPP_MODE(4,
#include <linux/of_device.h> #include <linux/pinctrl/pinctrl.h> #include "pinctrl-mvebu.h" enum { V_88F6920 = BIT(0), V_88F6925 = BIT(1), V_88F6928 = BIT(2), V_88F6920_PLUS = (V_88F6920 | V_88F6925 | V_88F6928), V_88F6925_PLUS = (V_88F6925 | V_88F6928), }; static struct mvebu_mpp_mode armada_39x_mpp_modes[] = { MPP_MODE(0, MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), MPP_VAR_FUNCTION(1, "ua0", "rxd", V_88F6920_PLUS)), MPP_MODE(1, MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), MPP_VAR_FUNCTION(1, "ua0", "txd", V_88F6920_PLUS)), MPP_MODE(2, MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), MPP_VAR_FUNCTION(1, "i2c0", "sck", V_88F6920_PLUS)), MPP_MODE(3, MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), MPP_VAR_FUNCTION(1, "i2c0", "sda", V_88F6920_PLUS)), MPP_MODE(4, MPP_VAR_FUNCTION(0, "gpio", NULL, V_88F6920_PLUS), MPP_VAR_FUNCTION(2, "ua1", "txd", V_88F6920_PLUS), MPP_VAR_FUNCTION(3, "ua0", "rts", V_88F6920_PLUS), MPP_VAR_FUNCTION(7, "smi", "mdc", V_88F6920_PLUS)),