• S
    pinctrl: Add driver for Zynq · add958ce
    Soren Brinkmann 提交于
    This adds a pin-control driver for Zynq.
    
    Changes since v2:
    - driver-specific DT properties are passed to the core in two arrays,
      one for the actual DT parsing one for the debugfs representation.
      Issue a compiler warning when the number of entries is not the same
      for both arrays.
    
    Changes since v1:
     - fix EMIO_SD1_CD pin name
     - add USB to pinmux options
    
    changes since RFCv2:
     - let Zynq select PINCTRL_ZYNQ. Boot hangs when pinctrl information is
       present in DT but no driver available.
     - add #defines to get rid of magical constants
     - add commas at end of initializers
     - separate changes in mach-zynq in separate patch
     - add driver specific io-standard DT property
     - refactored pinconf set function to not require arguments for
       argument-less properties
     - squash other patches in
       - support for IO-standard property
       - support for low-power mode property
       - migration to pinconf_generic_dt_node_to_map_all()
     - use newly created infrastructure to add pass driver-specific DT
       params to pinconf-generic
    
    changes since RFC:
     - use syscon/regmap to access registers in SLCR space
     - rebase to 3.18: rename enable -> set_mux
     - add kernel-doc
     - support pinconf
       - supported attributes
         - pin-bias: pull up, tristate, disable
         - slew-rate: 0 == slow, 1 == fast; generic pinconf does not display
           argument
    Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com>
    Tested-by: NAndreas Färber <afaerber@suse.de>
    Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
    add958ce
pinctrl-zynq.c 40.2 KB