Merge branch 'rk_develop-3.10' into rk_develop-3.10-next
[firefly-linux-kernel-4.4.55.git] / drivers / pinctrl / pinctrl-imx.h
index 9b65e7828f1d27e2a38ded3b6096e02c83740932..607ef5497552db14c8ae99162ff2d010ab281999 100644 (file)
@@ -26,6 +26,10 @@ struct platform_device;
  *     elements in .pins so we can iterate over that array
  * @mux_mode: the mux mode for each pin in this group. The size of this
  *     array is the same as pins.
+ * @input_reg: select input register offset for this mux if any
+ *     0 if no select input setting needed.
+ * @input_val: the select input value for each pin in this group. The size of
+ *     this array is the same as pins.
  * @configs: the config for each pin in this group. The size of this
  *     array is the same as pins.
  */
@@ -34,6 +38,8 @@ struct imx_pin_group {
        unsigned int *pins;
        unsigned npins;
        unsigned int *mux_mode;
+       u16 *input_reg;
+       unsigned int *input_val;
        unsigned long *configs;
 };
 
@@ -51,30 +57,19 @@ struct imx_pmx_func {
 
 /**
  * struct imx_pin_reg - describe a pin reg map
- * The last 3 members are used for select input setting
- * @pid: pin id
  * @mux_reg: mux register offset
  * @conf_reg: config register offset
- * @mux_mode: mux mode
- * @input_reg: select input register offset for this mux if any
- *  0 if no select input setting needed.
- * @input_val: the value set to select input register
  */
 struct imx_pin_reg {
-       u16 pid;
        u16 mux_reg;
        u16 conf_reg;
-       u8 mux_mode;
-       u16 input_reg;
-       u8 input_val;
 };
 
 struct imx_pinctrl_soc_info {
        struct device *dev;
        const struct pinctrl_pin_desc *pins;
        unsigned int npins;
-       const struct imx_pin_reg *pin_regs;
-       unsigned int npin_regs;
+       struct imx_pin_reg *pin_regs;
        struct imx_pin_group *groups;
        unsigned int ngroups;
        struct imx_pmx_func *functions;
@@ -84,16 +79,6 @@ struct imx_pinctrl_soc_info {
 #define NO_MUX         0x0
 #define NO_PAD         0x0
 
-#define IMX_PIN_REG(id, conf, mux, mode, input, val)   \
-       {                                               \
-               .pid = id,                              \
-               .conf_reg = conf,                       \
-               .mux_reg = mux,                         \
-               .mux_mode  = mode,                      \
-               .input_reg = input,                     \
-               .input_val = val,                       \
-       }
-
 #define IMX_PINCTRL_PIN(pin) PINCTRL_PIN(pin, #pin)
 
 #define PAD_CTL_MASK(len)      ((1 << len) - 1)