30 Oct, 2013

1 commit

  • Commit 78bafc66180d42f972b443b0b573a1b6ff9aa522 upstream.

    Adds Freescale Vybrid VF610 pin controller
    driver to IMX common pinctrl driver framework.

    Signed-off-by: Jingchang Lu
    Acked-by: Shawn Guo
    Signed-off-by: Linus Walleij
    Signed-off-by: Shawn Guo

    Jingchang Lu
     

05 May, 2013

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     

03 May, 2013

1 commit

  • Pull ARM SoC device-tree updates from Olof Johansson:
    "Part 1 of device-tree updates for 3.10. The bulk of the churn in this
    branch is due to i.MX moving from C-defined pin control over to device
    tree, which is a one-time conversion that will allow greater
    flexibility down the road.

    Besides that, there's PCI-e bindings for Marvell mvebu platforms and a
    handful of cleanups to tegra due to the new include file functionality
    of the device tree compiler"

    * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (113 commits)
    arm: mvebu: PCIe Device Tree informations for Armada XP GP
    arm: mvebu: PCIe Device Tree informations for Armada 370 DB
    arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
    arm: mvebu: PCIe Device Tree informations for Armada XP DB
    arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
    arm: mvebu: add PCIe Device Tree informations for Armada XP
    arm: mvebu: add PCIe Device Tree informations for Armada 370
    ARM: sunxi: unify osc24M_fixed and osc24M
    arm: vt8500: Add SDHC support to WM8505 DT
    ARM: dts: Add a 64 bits version of the skeleton device tree
    ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
    ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
    ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
    ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
    ARM: dts: imx6dl-wandboard: Add USB Host support
    ARM: dts: imx51 cpu node
    ARM: dts: Add missing imx27-phytec-phycore dtb target
    ARM: dts: Add NFC support for i.MX27 Phytec PCM038 module
    ARM: i.MX51: Add PATA support
    ARM: dts: Add initial support for Wandboard Dual-Lite
    ...

    Linus Torvalds
     

09 Apr, 2013

3 commits


04 Apr, 2013

1 commit

  • This patch adds support for the GPIO/pinmux controller found on the VIA
    VT8500 and Wondermedia WM8xxx-series SoCs.

    Each pin within the controller is capable of operating as a GPIO or as
    an alternate function. The pins are numbered according to their control
    bank/bit so that if new pins are added, the existing numbering is maintained.

    All currently supported SoCs are included: VT8500, WM8505, WM8650, WM8750 and
    WM8850.

    Signed-off-by: Tony Prisk
    Reviewed-by: Stephen Warren
    Acked-by: Linus Walleij

    Tony Prisk
     

28 Mar, 2013

1 commit

  • pinctrl-pxa driver doesn't support well on DT mode. Now pinctrl-single
    could support DT mode & pin configuration. Use pinctrl-single driver to
    support MMP/PXA silicons instead.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Linus Walleij

    Haojian Zhuang
     

07 Mar, 2013

1 commit

  • Support the operation of generic pinconf. The supported config arguments
    are INPUT_SCHMITT, INPUT_SCHMITT_ENABLE, DRIVE_STRENGHT, BIAS_DISABLE,
    BIAS_PULLUP, BIAS_PULLDOWN, SLEW_RATE.

    Signed-off-by: Haojian Zhuang
    Acked-by: Tony Lindgren
    Signed-off-by: Linus Walleij

    Haojian Zhuang
     

22 Feb, 2013

1 commit

  • Pull sh-mobile pinctrl conversion from Arnd Bergmann:
    "This is another cleanup series, containing the move of the Renesas
    SH-Mobile pin controller code from arch/arm/mach-shmobile over to the
    generic pinctrl subsystem, changing it over to the common interfaces
    in the process.

    Based on agreement between Olof, Paul Mundt, Linus Walleij and Simon,
    we're merging this large branch of pinctrl conversion through arm-soc,
    even though it contains the corresponding conversions for arch/sh.
    Main reason for this is tight dependencies (that will now mostly be
    broken) between the arch/sh and mach-shmobile implementations.

    There will be more of this in 3.10 to do device-tree bindings, but
    this is the initial conversion."

    * tag 'sh-pinmux' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (81 commits)
    sh-pfc: sh_pfc_probe() sizeof() fix
    sh-pfc: Move sh_pfc.h from include/linux/ to driver directory
    sh-pfc: Remove pinmux_info definition
    sh: Remove unused sh_pfc_register_info() function
    sh: shx3: pinmux: Use driver-provided pinmux info
    sh: sh7786: pinmux: Use driver-provided pinmux info
    sh: sh7785: pinmux: Use driver-provided pinmux info
    sh: sh7757: pinmux: Use driver-provided pinmux info
    sh: sh7734: pinmux: Use driver-provided pinmux info
    sh: sh7724: pinmux: Use driver-provided pinmux info
    sh: sh7723: pinmux: Use driver-provided pinmux info
    sh: sh7722: pinmux: Use driver-provided pinmux info
    sh: sh7720: pinmux: Use driver-provided pinmux info
    sh: sh7269: pinmux: Use driver-provided pinmux info
    sh: sh7264: pinmux: Use driver-provided pinmux info
    sh: sh7203: pinmux: Use driver-provided pinmux info
    ARM: shmobile: sh73a0: Use driver-provided pinmux info
    ARM: shmobile: sh7372: Use driver-provided pinmux info
    ARM: shmobile: r8a7779: Use driver-provided pinmux info
    ARM: shmobile: r8a7740: Use driver-provided pinmux info
    ...

    Linus Torvalds
     

21 Feb, 2013

1 commit

  • Pull pinctrl changes from Linus Walleij:
    "These are the main pinctrl changes for the v3.9 merge window. The
    most interesting change by far is how the device core grabs pinctrl
    default handles avoiding the need to stick boilerplate into driver
    consumers.

    - Grabbing of default pinctrl handles from the device core. These
    are the hunks hitting drivers/base. All is ACKed by Greg, after a
    long discussion about different alternatives.

    - Some stuff also touches the MFD and ARM SoC trees, this has been
    coordinated and ACKed.

    - New drivers for:
    - The Tegra 114 sub-SoC
    - Allwinner sunxi
    - New ABx500 driver and sub-SoC drivers for AB8500, AB8505, AB9540
    and AB8540.

    - Make it possible for hogged pins to enter a sleep mode, and make it
    possible for drivers to control that mode.

    - Various clean-up, extensions and device tree support to various pin
    controllers."

    * tag 'pinctrl-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (68 commits)
    pinctrl: tegra: add clfvs function to Tegra114 support
    pinctrl: generic: rename input schmitt disable
    pinctrl/pinconfig: add debug interface
    pinctrl: samsung: remove duplicated line
    ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones
    ARM: ux500: remove irq_base property from platform_data
    pinctrl/abx500: use direct IRQ defines
    pinctrl/abx500: replace IRQ offsets with table read-in values
    pinctrl/abx500: move IRQ handling to ab8500-core
    pinctrl: exynos5440: remove erroneous __init
    pinctrl/abx500: adjust offset for get_mode()
    pinctrl/abx500: add Device Tree support
    pinctrl/abx500: align GPIO cluster boundaries
    pinctrl/abx500: prevent error path from corrupting returning error
    pinctrl: sunxi: add of_xlate function
    pinctrl/lantiq: fix pin number in ltq_pmx_gpio_request_enable
    pinctrl/lantiq: add functionality to falcon_pinconf_dbg_show
    pinctrl/lantiq: fix pinconfig parameters
    pinctrl/lantiq: one of the boot leds was defined incorrectly
    pinctrl/lantiq: only probe available pad controllers
    ...

    Linus Torvalds
     

08 Feb, 2013

1 commit


05 Feb, 2013

4 commits

  • Since pinctrl-exynos can support exynos4 and exynos5 so changed
    the option name to PINCTRL_EXYNOS for more clarity.

    Cc: Thomas Abraham
    Cc: Linus Walleij
    Cc: Grant Likely
    Signed-off-by: Kukjin Kim
    Signed-off-by: Linus Walleij

    Kukjin Kim
     
  • Add AB8540 sub driver to the ABx500 family, pins, pin groups and
    gpio range.

    As the pin controller (also the ABx500 controllers) is an
    inherent part of the SoC and will prevent boot if not
    available, select this from the Ux500 SoC Kconfig.

    Acked-by: Olof Johansson
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     
  • Add AB9540 sub driver to the ABx500 family, pins, pin groups and
    gpio range.

    As the pin controller (also the ABx500 controllers) is an
    inherent part of the SoC and will prevent boot if not
    available, select this from the Ux500 SoC Kconfig.

    Acked-by: Olof Johansson
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     
  • Add AB8505 sub driver to the ABx5x family.

    As the pin controller (also the ABx500 controllers) is an
    inherent part of the SoC and will prevent boot if not
    available, select this from the Ux500 SoC Kconfig.

    Acked-by: Olof Johansson
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     

31 Jan, 2013

2 commits

  • This adds a subdriver for the AB8500 pinctrl portions.
    As the pin controller (also the ABx500 controllers) is an
    inherent part of the SoC and will prevent boot if not
    available, select this from the Ux500 SoC Kconfig.

    Acked-by: Olof Johansson
    Reviewed-by: Stephen Warren
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     
  • This adds the AB8500 core driver, which will be utilized by
    the follow-on drivers for different ABx500 variants.
    Sselect the driver from the DBX500_SOC, as this chip is
    powering and clocking that SoC.

    Cc: Samuel Ortiz
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     

25 Jan, 2013

1 commit


22 Jan, 2013

1 commit

  • The Allwinner SoCs have an IP module that handle both the muxing and the
    GPIOs.

    This IP has 8 banks of 32 bits, with a number of pins actually useful
    for each of these banks varying from one to another, and depending on
    the SoC used on the board.

    This driver only implements the pinctrl part, the gpio part will come
    eventually.

    Acked-by: Arnd Bergmann
    Acked-by: Olof Johansson
    Signed-off-by: Maxime Ripard
    Signed-off-by: Linus Walleij

    Maxime Ripard
     

19 Jan, 2013

1 commit


18 Jan, 2013

2 commits

  • This adds a driver for the Tegra114 pinmux, and required
    parameterization data for Tegra114.

    The driver uses the common Tegra pincontrol driver utility
    functions to implement the majority of the driver.

    This driver is not compatible with the earlier NVIDIA's SoCs,
    hence add new compatibile as "nvidia,tegra114-pinmux".

    Originally written by Pritesh.
    ldewangan:
    - cleanup the patches,
    - remove non-require tables.
    - Use module_platform_driver() for driver registartion.

    Signed-off-by: Pritesh Raithatha
    Signed-off-by: Laxman Dewangan
    Reviewed-by: Stephen Warren
    Signed-off-by: Linus Walleij

    Pritesh Raithatha
     
  • Now, PINCTRL_SAMSUNG should be enabled with PINCTRL_EXYNOS so we don't
    need to add 'depends on' condition already added in PINCTRL_EXYNOS.

    Cc: Thomas Abraham
    Signed-off-by: Kukjin Kim
    Signed-off-by: Linus Walleij

    Kukjin Kim
     

13 Dec, 2012

1 commit

  • Pull ARM SoC updates from Olof Johansson:
    "This contains the bulk of new SoC development for this merge window.

    Two new platforms have been added, the sunxi platforms (Allwinner A1x
    SoCs) by Maxime Ripard, and a generic Broadcom platform for a new
    series of ARMv7 platforms from them, where the hope is that we can
    keep the platform code generic enough to have them all share one mach
    directory. The new Broadcom platform is contributed by Christian
    Daudt.

    Highbank has grown support for Calxeda's next generation of hardware,
    ECX-2000.

    clps711x has seen a lot of cleanup from Alexander Shiyan, and he's
    also taken on maintainership of the platform.

    Beyond this there has been a bunch of work from a number of people on
    converting more platforms to IRQ domains, pinctrl conversion, cleanup
    and general feature enablement across most of the active platforms."

    Fix up trivial conflicts as per Olof.

    * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (174 commits)
    mfd: vexpress-sysreg: Remove LEDs code
    irqchip: irq-sunxi: Add terminating entry for sunxi_irq_dt_ids
    clocksource: sunxi_timer: Add terminating entry for sunxi_timer_dt_ids
    irq: versatile: delete dangling variable
    ARM: sunxi: add missing include for mdelay()
    ARM: EXYNOS: Avoid early use of of_machine_is_compatible()
    ARM: dts: add node for PL330 MDMA1 controller for exynos4
    ARM: EXYNOS: Add support for secondary CPU bring-up on Exynos4412
    ARM: EXYNOS: add UART3 to DEBUG_LL ports
    ARM: S3C24XX: Add clkdev entry for camif-upll clock
    ARM: SAMSUNG: Add s3c24xx/s3c64xx CAMIF GPIO setup helpers
    ARM: sunxi: Add missing sun4i.dtsi file
    pinctrl: samsung: Do not initialise statics to 0
    ARM i.MX6: remove gate_mask from pllv3
    ARM i.MX6: Fix ethernet PLL clocks
    ARM i.MX6: rename PLLs according to datasheet
    ARM i.MX6: Add pwm support
    ARM i.MX51: Add pwm support
    ARM i.MX53: Add pwm support
    ARM: mx5: Replace clk_register_clkdev with clock DT lookup
    ...

    Linus Torvalds
     

12 Dec, 2012

1 commit

  • Pull pinctrl changes from Linus Walleij:
    "These are the first and major pinctrl changes for the v3.8 merge
    cycle. Some of this is used as merge base for other trees so I better
    be early on the trigger.

    As can be seen from the diffstat the major changes are:

    - A big conversion of the AT91 pinctrl driver and the associated ACKed
    platform changes under arch/arm/max-at91 and its device trees. This
    has been coordinated with the AT91 maintainers to go in through the
    pinctrl tree.

    - A larger chunk of changes to the SPEAr drivers and the addition of
    the "plgpio" driver for the SPEAr as well.

    - The removal of the remnants of the Nomadik driver from the arch/arm
    tree and fusion of that into the Nomadik driver and platform data
    header files.

    - Some local movement in the Marvell MVEBU drivers, these now have
    their own subdirectory.

    - The addition of a chunk of code to gpiolib under drivers/gpio to
    register gpio-to-pin range mappings from the GPIO side of things.
    This has been requested by Grant Likely and is now implemented, it
    is particularly useful for device tree work.

    Then we have incremental updates all over the place, many of these are
    cleanups and fixes from Axel Lin who has done a great job of removing
    minor mistakes and compilation annoyances."

    * tag 'pinctrl-for-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (114 commits)
    ARM: mmp: select PINCTRL for ARCH_MMP
    pinctrl: Drop selecting PINCONF for MMP2, PXA168 and PXA910
    pinctrl: pinctrl-single: Fix error check condition
    pinctrl: SPEAr: Update error check for unsigned variables
    gpiolib: Fix use after free in gpiochip_add_pin_range
    gpiolib: rename pin range arguments
    pinctrl: single: support gpio request and free
    pinctrl: generic: add input schmitt disable parameter
    pinctrl/u300/coh901: stop spawning pinctrl from GPIO
    pinctrl/u300/coh901: let the gpio_chip register the range
    pinctrl: add function to retrieve range from pin
    gpiolib: return any error code from range creation
    pinctrl: make range registration defer properly
    gpiolib: rename find_pinctrl_*
    gpiolib: let gpiochip_add_pin_range() specify offset
    ARM: at91: pm9g45: add mmc support
    ARM: at91: Animeo IP: add mmc support
    ARM: at91: dt: add mmc pinctrl for Atmel reference boards
    ARM: at91: dt: at91sam9: add mmc pinctrl support
    ARM: at91/dts: add nodes for atmel hsmci controllers for atmel boards
    ...

    Linus Torvalds
     

02 Dec, 2012

1 commit


22 Nov, 2012

1 commit


15 Nov, 2012

2 commits

  • The main samsung pinctrl module references the specific exynos4210
    pinctrl driver, which selects the main driver in Kconfig.

    Making the main driver a silent "bool" option avoid this potential
    build error if CONFIG_PINCTRL_SAMSUNG=y && CONFIG_PINCTRL_EXYNOS4=n:

    drivers/built-in.o:(.rodata+0x4e4): undefined reference to `exynos4210_pin_ctrl'

    Signed-off-by: Arnd Bergmann
    Cc: Tomasz Figa
    Cc: Kyungmin Park
    Cc: Linus Walleij
    Acked-by: Kukjin Kim
    Signed-off-by: Linus Walleij

    Arnd Bergmann
     
  • Then we can remove "select PINMUX && PINCONF" from PINCTRL_TEGRA{20,30}.
    This simplifies the dependency.

    Signed-off-by: Axel Lin
    Acked-by: Stephen Warren
    Signed-off-by: Linus Walleij

    Axel Lin
     

13 Nov, 2012

1 commit


12 Nov, 2012

4 commits

  • Linus Walleij
     
  • The driver supports old up SiRFprimaII SoCs, this patch makes it support
    the new SiRFmarco as well.
    SiRFmarco, as a SMP SoC, adds new SIRFSOC_GPIO_PAD_EN_CLR registers, to
    disable GPIO pad, we should write 1 to the corresponding bit in the new
    CLEAR register instead of writing 0 to SIRFSOC_GPIO_PAD_EN.

    Signed-off-by: Barry Song
    Signed-off-by: Linus Walleij

    Barry Song
     
  • Like the spear platform, the mvebu platform has multiple files: one
    core file, and then one file per SoC family. More files will be added
    later, as support for mach-orion5x and mach-mv78xx0 SoCs is added to
    pinctrl-mvebu. For those reasons, having a separate subdirectory,
    drivers/pinctrl/mvebu/ makes sense, and it had already been suggested
    by Linus Wallej when the driver was originally submitted.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Linus Walleij

    Thomas Petazzoni
     
  • The mach-kirkwood and mach-dove architectures have not yet been
    integrated into the mach-mvebu directory, which should ultimately
    contain the support for all Marvell SoCs from the Engineering Business
    Unit.

    However, before this can happen, we need to let mach-kirkwood and
    mach-dove use the pinctrl-mvebu driver, which supports the kirkwood
    and dove SoC families. In order to do that, we make this driver
    available as soon as PLAT_ORION is selected, instead of using
    ARCH_MVEBU as a condition. In the long term, PLAT_ORION should
    disappear and be fully replaced by ARCH_MVEBU, but the plan is to make
    the migration step by step, by first having the existing mach-*
    directories for Marvell SoCs converge on several infrastructures,
    including the pinctrl one.

    Also, like the spear pinctrl driver, we put all pinctrl-mvebu Kconfig
    options under a if, in order to avoid having certain options
    (PINCTRL_DOVE, PINCTRL_KIRKWOOD, etc.) selecting an option
    (PINCTLR_MVEBU) which itself has a dependency (on ARCH_MVEBU). In this
    a construct, the dependency is in fact ignored due to the selects.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Linus Walleij

    Thomas Petazzoni
     

06 Nov, 2012

1 commit

  • This patch fixes below build error when !CONFIG_OF_GPIO.

    CC drivers/pinctrl/pinctrl-samsung.o
    drivers/pinctrl/pinctrl-samsung.c: In function 'samsung_pinctrl_parse_dt_pins':
    drivers/pinctrl/pinctrl-samsung.c:557:19: warning: unused variable 'prop' [-Wunused-variable]
    drivers/pinctrl/pinctrl-samsung.c: In function 'samsung_gpiolib_register':
    drivers/pinctrl/pinctrl-samsung.c:797:5: error: 'struct gpio_chip' has no member named 'of_node'
    make[2]: *** [drivers/pinctrl/pinctrl-samsung.o] Error 1
    make[1]: *** [drivers/pinctrl] Error 2
    make: *** [drivers] Error 2

    The samsung pinctrl driver supports only device tree enabled
    platforms. Thus make PINCTRL_SAMSUNG depend on OF && GPIOLIB.

    The reason to depend on GPIOLIB is CONFIG_OF_GPIO only available
    when GPIOLIB is selected.

    Since PINCTRL_EXYNOS4 select PINCTRL_SAMSUNG, thus also make
    PINCTRL_EXYNOS4 depend on OF && GPIOLIB.

    Signed-off-by: Axel Lin
    Signed-off-by: Linus Walleij

    Axel Lin
     

13 Oct, 2012

1 commit

  • This is also include the gpio controller as the IP share both.
    Each soc will have to describe the SoC limitation and pin configuration via
    DT.

    This will allow to do not need to touch the C code when adding new SoC if the
    IP version is supported.

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD

    Jean-Christophe PLAGNIOL-VILLARD
     

09 Oct, 2012

1 commit

  • Pull MIPS update from Ralf Baechle:
    "This is the MIPS update for 3.7.

    A fair chunk of them are platform updates to the Cavium Octeon SOC
    (which involves machine generated header files of considerable size),
    Atheros ATH79xx, RMI aka Netlogic aka Broadcom XLP, Broadcom BCM63xx
    platforms.

    Support for the commercial MIPS simulator MIPSsim has been removed as
    MIPS Technologies is shifting away from this product and Qemu is
    offering various more powerful platforms. The generic MIPS code can
    now also probe for no-execute / write-only TLB features implemented
    without the full SmartMIPS extension as permitted by the latest MIPS
    processor architecture. Lots of small changes to generic code."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (78 commits)
    MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs
    MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on AR934x
    MIPS: BCM63XX: Properly handle mac address octet overflow
    MIPS: Kconfig: Avoid build errors by hiding USE_OF from the user.
    MIPS: Replace `-' in defconfig filename wth `_' for consistency.
    MIPS: Wire kcmp syscall.
    MIPS: MIPSsim: Remove the MIPSsim platform.
    MIPS: NOTIFY_RESUME is not needed in TIF masks
    MIPS: Merge the identical "return from syscall" per-ABI code
    MIPS: Unobfuscate _TIF..._MASK
    MIPS: Prevent hitting do_notify_resume() with !user_mode(regs).
    MIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.
    MIPS: Add base architecture support for RI and XI.
    MIPS: Optimise TLB handlers for MIPS32/64 R2 cores.
    MIPS: uasm: Add INS and EXT instructions.
    MIPS: Avoid pipeline stalls on some MIPS32R2 cores.
    MIPS: Make VPE count to be one-based.
    MIPS: Add new end of interrupt functionality for GIC.
    MIPS: Add EIC support for GIC.
    MIPS: Code clean-ups for the GIC.
    ...

    Linus Torvalds
     

07 Oct, 2012

1 commit

  • Pull late ARM soc platform updates from Olof Johansson:
    "This branch contains updates to OMAP and Marvell platforms (kirkwood,
    dove, mvebu) that came in after we had done the big multiplatform
    merges, so they were kept separate from the rest, and not separated
    into the traditional topics of cleanup/driver/platform features.

    For OMAP, the updates are:
    - Runtime PM conversions for the GPMC and RNG IP blocks
    - Preparation patches for the OMAP common clock framework conversion
    - clkdev alias additions required by other drivers
    - Performance Monitoring Unit (PMU) support for OMAP2, 3, and
    non-4430 OMAP4
    - OMAP hwmod code and data improvements
    - Preparation patches for the IOMMU runtime PM conversion
    - Preparation patches for OMAP4 full-chip retention support

    For Kirkwood/Dove/mvebu:
    - New driver for "address decoder controller" for mvebu, which is a
    piece of hardware that configures addressable devices and
    peripherals. First user is the boot rom aperture on armada XP
    since it is needed for SMP support.
    - New device tree bindings for peripherals such as gpio-fan, iconnect
    nand, mv_cesa and the above address decoder controller.
    - Some defconfig updates, mostly to enable new DT boards and a few
    drivers.
    - New drivers using the pincontrol subsystem for dove, kirkwood and
    mvebu
    - New clean gpio driver for mvebu"

    * tag 'soc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (98 commits)
    ARM: mvebu: fix build breaks from multi-platform conversion
    ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70
    ARM: OMAP2+: PMU: Add runtime PM support
    ARM: OMAP4430: PMU: prepare to create PMU device via HWMOD
    ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD
    ARM: OMAP3: hwmod data: Add debugss HWMOD data
    ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU clockdomain idle problems
    ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP
    hwrng: OMAP: remove SoC restrictions from driver registration
    ARM: OMAP: split OMAP1, OMAP2+ RNG device registration
    hwrng: OMAP: convert to use runtime PM
    hwrng: OMAP: store per-device data in per-device variables, not file statics
    ARM: OMAP2xxx: hwmod/CM: add RNG integration data
    ARM: OMAP2+: gpmc: minimal driver support
    ARM: OMAP2+: gpmc: Adapt to HWMOD
    ARM: OMAP2/3: hwmod data: add gpmc
    ARM: OMAP4: hwmod data: add mmu hwmod for ipu and dsp
    ARM: OMAP3: hwmod data: add mmu data for iva and isp
    ARM: OMAP: iommu: fix including iommu.h without IOMMU_API selected
    ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
    ...

    Linus Torvalds
     

03 Oct, 2012

1 commit

  • Pull pinctrl changes from Linus Walleij:
    "Some of this stuff is hitting arch/arm/* and have been ACKed by the
    ARM SoC folks, or it's device tree bindings pertaining to the specific
    driver.

    These are the bulk pinctrl changes for kernel v3.7:
    - Add subdrivers for the DB8540 and NHK8815 Nomadik-type ASICs,
    provide platform config for the Nomadik.
    - Add a driver for the i.MX35.
    - Add a driver for the BCM2835, an advanced GPIO expander.
    - Various fixes and clean-ups and minor improvements for the core,
    Nomadik, pinctr-single, sirf drivers.
    - Some platform config for the ux500."

    * tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (27 commits)
    pinctrl: add bcm2835 driver
    pinctrl: clarify idle vs sleep states
    pinctrl/nomadik: use irq_find_mapping()
    pinctrl: sirf: add lost chained_irq_enter and exit in sirfsoc_gpio_handle_irq
    pinctrl: sirf: initialize the irq_chip pointer of pinctrl_gpio_range
    pinctrl: sirf: fix spinlock deadlock in sirfsoc_gpio_set_input
    pinctrl: sirf: add missing pins to pinctrl list
    pinctrl: sirf: fix a typo in sirfsoc_gpio_probe
    pinctrl: pinctrl-single: add debugfs pin h/w state info
    ARM: ux500: 8500: update I2C sleep states pinctrl
    pinctrl: Fix potential memory leak in pinctrl_register_one_pin()
    ARM: ux500: tidy up pin sleep modes
    ARM: ux500: fix spi2 pin group
    pinctrl: imx: remove duplicated const
    pinctrl: document semantics vs GPIO
    ARM: ux500: 8500: use hsit_a_2 group for HSI
    pinctrl: use kasprintf() in pinmux_request_gpio()
    pinctrl: pinctrl-single: Add pinctrl-single,bits type of mux
    pinctrl/nomadik : add MC1_a_2 pin MC1 function group list
    pinctrl: pinctrl-single: Make sure we do not change bits outside of mask
    ...

    Linus Torvalds
     

01 Oct, 2012

1 commit

  • The BCM2835 GPIO module is a combined GPIO controller, (GPIO) interrupt
    controller, and pinmux/control device.

    Original driver by Simon Arlott.
    Rewrite including GPIO chip device by Chris Boot.

    Upstreaming changes by Stephen Warren:
    * Wrote DT binding documentation.
    * Changed brcm,function to an integer to more directly match the
    datasheet, and to match brcm,pins being an integer.
    * Implemented pull-up/down pin config.
    * Removed read-only DT property and related code. The restriction this
    implemented are driven by the board, not the GPIO HW block, so don't
    really make sense of a HW block binding, were in general incomplete
    (since they could only know about the few pins hard-coded into the
    Raspberry Pi B board design and not the uncommitted GPIOS), and are
    better represented simply by not writing incorrect data into pin
    configuration nodes.
    * Don't set GPIO_IN function select in gpio_request_enable() to avoid
    glitches; defer this to gpio_set_direction(). Consequently, removed
    empty bcm2835_pmx_gpio_request_enable().
    * Simplified enabled_irq_map[]; make it explicitly 1 entry per bank.
    * Lifted use of enabled_irq_map[] outside the per-interrupt loop in
    IRQ handler, thus fixing an issue where the code was indexing into
    enabled_irq_map[] by intra-bank GPIO ID, not global GPIO ID.
    * Removed locking in IRQ handler, since all other code uses
    spin_lock_irqsave() and so guarantees it doesn't run concurrently
    with the handler.
    * Moved duplicated BUILD_BUG_ON()s into probe(). Also check size of
    bcm2835_gpio_pins[].
    * Remove range-checking from bcm2835_pctl_get_groups_count() since we've
    decided to trust the pinctrl core.
    * Made bcm2835_pmx_gpio_disable_free() call bcm2835_pinctrl_fsel_set()
    directly for simplicity.
    * Fixed body of dt_free_map() to match latest dt_node_to_map().
    * Removed GPIO ownership check from bcm2835_pmx_enable() since the pinctrl
    core owns doing this.
    * Made irq_chip and pinctrl_gpio_range .name == MODULE_NAME so it's more
    descriptive.
    * Simplified remove(); removed call to non-existent
    pinctrl_remove_gpio_range(), remove early return on error.
    * Don't force gpiochip's base to 0. Set gpio_range.base to gpiochip's
    base GPIO number.
    * Error-handling cleanups in probe().
    * Switched to module_platform_driver() rather than open-coding.
    * Made pin, group, and function names lower-case.
    * s/broadcom/brcm/ in DT property names.
    * s/2708/2835/.
    * Fixed a couple minor checkpatch warnings, and other minor cleanup.

    Signed-off-by: Simon Arlott
    Signed-off-by: Chris Boot
    Signed-off-by: Stephen Warren
    Signed-off-by: Linus Walleij

    Simon Arlott