1. 02 Mar, 2016 6 commits
    • Stephen Boyd's avatar
      Merge tag 'sunxi-clocks-for-4.6' of... · 06a98527
      Stephen Boyd authored
      Merge tag 'sunxi-clocks-for-4.6' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next
      
      Pull Allwinner clk updates from Maxime Ripard:
      
      Allwinner clocks additions for 4.6
      
      A bunch of things, mostly:
        - Finally switched everything over to OF_CLK_DECLARE, which should remove
          orphans clocks entirely
        - Reworked the clk-factors to be able to add new parameters
        - Improved the error reporting
        - A bunch of new clocks for new SoCs.
      
      * tag 'sunxi-clocks-for-4.6' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (25 commits)
        clk: sunxi: Add apb0 gates for H3
        clk: sunxi: Improve divs_clk error handling and reporting
        clk: sunxi: improve divider_clk error handling and reporting
        clk: sunxi: improve mux_clk error handling and reporting
        clk: sunxi: Fix sun8i-a23-apb0-clk divider flags
        clk: sunxi: Remove clk_register_clkdev calls
        clk: sunxi: Remove old probe and protection code
        clk: sunxi: convert current clocks registration to CLK_OF_DECLARE
        clk: sunxi: Make clocks setup functions take const pointer
        clk: sunxi: Make clocks setup functions return their clock
        clk: sunxi: improve error reporting for the mux clock
        clk: sunxi: don't mark sun6i_ar100_data __initconst
        clk: sunxi: add bus gates for A83T
        clk: sunxi: Add apb0 gates for A83T
        clk: sunxi: rewrite sun8i-a23-mbus-clk using the simpler composite clk
        clk: sunxi: rewrite sun6i-ar100 using factors clk
        clk: sunxi: rewrite sun6i-a31-ahb1-clk using factors clk with custom recalc
        clk: sunxi: factors: Drop round_rate from clk ops
        clk: sunxi: factors: Support custom formulas
        clk: sunxi: factors: Consolidate get_factors parameters into a struct
        ...
      06a98527
    • Stephen Boyd's avatar
      clk: qcom: msm8960: Fix ce3_src register offset · 0f75e1a3
      Stephen Boyd authored
      The offset seems to have been copied from the sata clk. Fix it so
      that enabling the crypto engine source clk works.
      Tested-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Tested-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Fixes: 5f775498 ("clk: qcom: Fully support apq8064 global clock control")
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      0f75e1a3
    • Michael Turquette's avatar
      Merge branch 'clk-ti' into clk-next · 3b0f4ae3
      Michael Turquette authored
      Conflicts:
      	drivers/clk/Kconfig
      3b0f4ae3
    • Stephen Boyd's avatar
      clk: ti: Fix some errors found by static checkers · 8a8b6eb7
      Stephen Boyd authored
      drivers/clk/ti/clk-814x.c:34:12: warning: symbol 'dm814x_adpll_early_init' was not declared. Should it be static?
      drivers/clk/ti/clk-814x.c:58:12: warning: symbol 'dm814x_adpll_enable_init_clocks' was not declared. Should it be static?
      drivers/clk/ti/adpll.c:465 ti_adpll_recalc_rate() warn: should '__readw(d->regs + 20) << 18' be a 64 bit type?
      drivers/clk/ti/adpll.c:945 ti_adpll_probe() error: we previously assumed 'd->clocks' could be null (see line 921)
      
      The last one looks like a real bug because we don't return an
      error on allocation failure.
      
      Cc: Tero Kristo <t-kristo@ti.com>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      8a8b6eb7
    • Tony Lindgren's avatar
      clk: ti: Allow COMPILE_TEST to build selected drivers · c2ee9bdc
      Tony Lindgren authored
      The arch independent drivers can be build testeed with
      COMPILE_TEST. Let's allow that for drivers/clk/ti.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      c2ee9bdc
    • Tony Lindgren's avatar
      clk: ti: Add support for dm814x ADPLL · 21330497
      Tony Lindgren authored
      On dm814x we have 13 ADPLLs with 3 to 4 outputs on each. The
      ADPLLs have several dividers and muxes controlled by a shared
      control register for each PLL.
      
      Note that for the clocks to work as device drivers for booting on
      dm814x, this patch depends on "ARM: OMAP2+: Change core_initcall
      levels to postcore_initcall" that has already been merged.
      
      Also note that this patch does not implement clk_set_rate for the
      PLL, that will be posted later on when available.
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatarTero Kristo <t-kristo@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
      21330497
  2. 29 Feb, 2016 1 commit
    • Archit Taneja's avatar
      clk: qcom: Fix pre-divider usage for pixel RCG · 811a498e
      Archit Taneja authored
      The clk_rcg_pixel_set_rate clk_op sets up the pre-divider by reading
      its current value from the NS register.
      
      Using the pre-divider wasn't really intended when creating these ops.
      The pixel RCG was only intended to achieve fractional multiplication
      provided in the pixel_table array. Leaving the pre-divider to the
      existing register value results in a wrong pixel clock when the
      bootloader sets up the display. This was left unidentified because
      the IFC6410 Plus board on which this was verified didn't have a
      bootloader that configured the display.
      
      Don't set the RCG pre-divider in freq_tbl to the existing NS register
      value. Force it to 1 and only use the M/N counter to achieve the desired
      fractional multiplication.
      
      Cc: Vinay Simha <vinaysimha@inforcecomputing.com>
      Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
      Tested-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      811a498e
  3. 27 Feb, 2016 10 commits
  4. 26 Feb, 2016 3 commits
  5. 25 Feb, 2016 15 commits
  6. 24 Feb, 2016 1 commit
  7. 23 Feb, 2016 1 commit
  8. 22 Feb, 2016 3 commits
    • Stephen Boyd's avatar
      clk: Update some outdated comments · 706d5c73
      Stephen Boyd authored
      __clk_init() was renamed to __clk_core_init() but these comments
      weren't updated.
      
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      706d5c73
    • Stephen Boyd's avatar
      Revert "clk: avoid circular clock topology" · fa459711
      Stephen Boyd authored
      This reverts commit 858d5881.
      
      Joachim reports that this commit breaks lpc18xx boot. This is
      because the hardware has circular clk topology where PLLs can
      feed into dividers and the same dividers can feed into the PLLs.
      The hardware is designed this way so that you can choose to put
      the divider before the PLL or after the PLL depending on what you
      configure to be the parent of the divider and what you configure
      to be the parent of the PLL.
      
      So let's drop this patch for now because we have hardware that
      actually has loops. A future patch could check for circular
      parents when we change parents and fail the switch, but that's
      probably best left to some debugging Kconfig option so that we
      don't suffer the sanity checking cost all the time.
      Reported-by: default avatarJoachim Eastwood <manabian@gmail.com>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      fa459711
    • Dinh Nguyen's avatar
      clk: socfpga: allow for multiple parents on Arria10 periph clocks · 56713da3
      Dinh Nguyen authored
      There are some Arria10 clocks of type "altr,socfpga-a10-perip-clk" that can
      have multiple parents. Fix up the __socfpga_periph_init() to call
      of_clk_parent_fill() that will return the appropriate number of parents.
      
      Also, update __socfpga_gate_init() to call of_clk_parent_fill() helper
      function.
      Signed-off-by: default avatarDinh Nguyen <dinguyen@opensource.altera.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      56713da3