1. 06 Mar, 2014 1 commit
  2. 25 Feb, 2014 9 commits
  3. 24 Feb, 2014 2 commits
    • Alex Elder's avatar
      clk: bcm281xx: don't disable unused peripheral clocks · 1a5823c9
      Alex Elder authored
      Add the CLK_IGNORE_UNUSED flag when setting up a peripheral clock.
      This prevents unused clocks from getting disabled, and by doing
      this we can use the common clock code even before we've resolved
      all the spots that need to get a reference to their clock.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Reviewed-by: default avatarMatt Porter <mporter@linaro.org>
      Acked-by: default avatarMike Turquette <mturquette@linaro.org>
      Signed-off-by: default avatarMatt Porter <mporter@linaro.org>
      1a5823c9
    • Alex Elder's avatar
      clk: bcm281xx: add initial clock framework support · 1f27f152
      Alex Elder authored
      Add code for device tree support of clocks in the BCM281xx family of
      SoCs.  Machines in this family use peripheral clocks implemented by
      "Kona" clock control units (CCUs).  (Other Broadcom SoC families use
      Kona style CCUs as well, but support for them is not yet upstream.)
      
      A BCM281xx SoC has multiple CCUs, each of which manages a set of
      clocks on the SoC.  A Kona peripheral clock is composite clock that
      may include a gate, a parent clock multiplexor, and zero, one
      or two dividers.  There is a variety of gate types, and many gates
      implement hardware-managed gating (often called "auto-gating").
      Most dividers divide their input clock signal by an integer value
      (one or more).  There are also "fractional" dividers which allow
      division by non-integer values.  To accomodate such dividers,
      clock rates and dividers are generally maintained by the code in
      "scaled" form, which allows integer and fractional dividers to
      be handled in a uniform way.
      
      If present, the gate for a Kona peripheral clock must be enabled
      when a change is made to its multiplexor or one of its dividers.
      Additionally, dividers and multiplexors have trigger registers which
      must be used whenever the divider value or selected parent clock is
      changed.  The same trigger is often used for a divider and
      multiplexor, and a BCM281xx peripheral clock occasionally has two
      triggers.
      
      The gate, dividers, and parent clock selector are treated in this
      code as "components" of a peripheral clock.  Their functionality is
      implemented directly--e.g. the common clock framework gate
      implementation is not used for a Kona peripheral clock gate.  (This
      has being considered though, and the intention is to evolve this
      code to leverage common code as much as possible.)
      
      The source code is divided into three general portions:
      
          drivers/clk/bcm/clk-kona.h
          drivers/clk/bcm/clk-kona.c
              These implement the basic Kona clock functionality,
              including the clk_ops methods and various routines to
              manipulate registers and interpret their values.  This
              includes some functions used to set clocks to a desired
              initial state (though this feature is only partially
              implemented here).
      
          drivers/clk/bcm/clk-kona-setup.c
              This contains generic run-time initialization code for
              data structures representing Kona CCUs and clocks.  This
              encapsulates the clock structure initialization that can't
              be done statically.  Note that there is a great deal of
              validity-checking code here, making explicit certain
              assumptions in the code.   This is mostly useful for adding
              new clock definitions and could possibly be disabled for
              production use.
      
          drivers/clk/bcm/clk-bcm281xx.c
              This file defines the specific CCUs used by BCM281XX family
              SoCs, as well as the specific clocks implemented by each.
              It declares a device tree clock match entry for each CCU
              defined.
      
          include/dt-bindings/clock/bcm281xx.h
              This file defines the selector (index) values used to
              identify a particular clock provided by a CCU.  It consists
              entirely of C preprocessor constants, to be used by both the
              C source and device tree source files.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Reviewed-by: default avatarTim Kryger <tim.kryger@linaro.org>
      Reviewed-by: default avatarMatt Porter <mporter@linaro.org>
      Acked-by: default avatarMike Turquette <mturquette@linaro.org>
      Signed-off-by: default avatarMatt Porter <mporter@linaro.org>
      1f27f152
  4. 23 Feb, 2014 1 commit
    • Ivan Khoronzhuk's avatar
      ARM: davinci: aemif: get rid of davinci-nand driver dependency on aemif · 67f5185c
      Ivan Khoronzhuk authored
      The problem that the set timings code contains the call of Davinci
      platform function davinci_aemif_setup_timing() which is not
      accessible if kernel is built for another platform like Keystone.
      
      The Keysone platform is going to use TI AEMIF driver.
      If TI AEMIF is used we don't need to set timings and bus width.
      It is done by AEMIF driver.
      
      To get rid of davinci-nand driver dependency on aemif platform code
      we moved aemif code to davinci platform.
      
      The platform AEMIF code (aemif.c) has to be removed once Davinci
      will be converted to DT and use ti-aemif.c driver.
      Acked-by: default avatarBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: default avatarIvan Khoronzhuk <ivan.khoronzhuk@ti.com>
      [nsekhar@ti.com: fixed checkpatch error and a build breakage due to
      		 missing include, rebased onto l2-mtd/master]
      Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
      67f5185c
  5. 22 Feb, 2014 13 commits
  6. 21 Feb, 2014 3 commits
    • Olof Johansson's avatar
      Merge tag 'integrator-for-v3.15-1' of... · b5feaefb
      Olof Johansson authored
      Merge tag 'integrator-for-v3.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/drivers
      
      Merge "Integrator/Versatile base patch stack for the v3.15 series"
      from Linus Walleij:
      
      "this is a set of patches I have sent for review and failed to get ACKs
      from the proper subsystem maintainers after repeated pings. However I
      now need to have this rotated in linux-next as a base for multiplatform,
      so please pull it in, it is all ARM drivers anyway. Russell pointed out
      some things and these have been fixed and iterated in this series."
      
      - Move integrator clock definitions to the device tree, alter
        clock and timer drivers accordingly.
      
      - Alter the VIC irqchip driver to support cascaded VICs off
        a parent IRQ controller.
      
      - Update the IM-PD1 plugin code to use managed resources.
      
      - Register the VIC on the IM-PD1.
      
      - Select the PL061 GPIO block for the IM-PD1 on the
        Integrator/AP.
      
      * tag 'integrator-for-v3.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
        ARM: integrator: select GPIO block
        ARM: integrator: register the IM-PD1 VIC
        ARM: integrator: use managed resources for the IM-PD1
        irqchip: support cascaded VICs
        irqchip: vic: update the base IRQ member correctly
        clk: versatile: respect parent rate in ICST clock
        clk: versatile: pass a parent to the ICST clock
        ARM: integrator: switch to fetch clocks from device tree
        ARM: SP804: make Integrator/CP timer pick clock from DT
        ARM: integrator: define clocks in the device trees
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      b5feaefb
    • Andrew Lunn's avatar
      irqchip: orion: Fix getting generic chip pointer. · d86e9af6
      Andrew Lunn authored
      Enabling SPARSE_IRQ shows up a bug in the irq-orion bridge interrupt
      handler. The bridge interrupt is implemented using a single generic
      chip. Thus the parameter passed to irq_get_domain_generic_chip()
      should always be zero.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Fixes: 9dbd90f1 ("irqchip: Add support for Marvell Orion SoCs")
      Cc: <stable@vger.kernel.org> # v3.11+
      Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
      d86e9af6
    • Kumar Gala's avatar
      hwrng: msm: switch Kconfig to ARCH_QCOM depends · 2257ffbc
      Kumar Gala authored
      We've split Qualcomm MSM support into legacy and multiplatform.  The RNG
      driver is only relevant on the multiplatform supported SoCs so switch the
      Kconfig depends to ARCH_QCOM.
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      CC: Stanimir Varbanov <svarbanov@mm-sol.com>
      Signed-off-by: default avatarKumar Gala <galak@codeaurora.org>
      2257ffbc
  7. 20 Feb, 2014 1 commit
    • Olof Johansson's avatar
      Merge tag 'renesas-soc-for-v3.15' of... · 58035fcc
      Olof Johansson authored
      Merge tag 'renesas-soc-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers
      
      Merge "Renesas ARM Based SoC Updates for v3.15" from Simon Horman:
      
      * r7s72100 SoC (RZ/A1H)
        - Add i2c clocks (portion missing from previous patch due to miss-merge)
      
      * r8a7791 (R-Car M2)
        - Add SATA clocks
        - Add ZS clock
        - Wait for status on all MSTP clocks
       -- Add I2C and VIN clocks
      
      * r8a7790 (R-Car H2)
        - Add PCI USB host clock support
        - Add Audio DMAC, SATA and VIN clocks
        - Add Audio DMAC support
      
      * r8a7779 (R-Car H1)
        - Wait for status on selected MSTP clocks
      
      * tag 'renesas-soc-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        ARM: shmobile: r8a7790: Add PCI USB host clock support
        ARM: shmobile: r7s72100: really add i2c clocks
        ARM: shmobile: r8a7791: Add SATA clocks
        ARM: shmobile: r8a7791: Add ZS clock
        ARM: shmobile: r8a7790: Add SATA clocks
        ARM: shmobile: r8a7790: Add VIN clock support
        ARM: shmobile: r8a7790: add Audio DMAC support
        ARM: shmobile: r8a7790: add Audio DMAC clock
        ARM: shmobile: r8a7791: Wait for status on all MSTP clocks
        ARM: shmobile: r8a7791: Add VIN clocks
        ARM: shmobile: r8a7791: Add I2C clocks
        ARM: shmobile: r8a7790: Wait for status on all MSTP clocks
        ARM: shmobile: r8a7779: Wait for status on selected MSTP clocks
        ARM: shmobile: wait for MSTP clock status to toggle, when enabling it
      58035fcc
  8. 18 Feb, 2014 2 commits
  9. 17 Feb, 2014 8 commits