1. 14 Sep, 2016 6 commits
    • Arnd Bergmann's avatar
      clk: meson: fix CLKID_GCLK_VENCI_INT typo · 0d5aa65e
      Arnd Bergmann authored
      The addition of many gate clocks added two entries in an array for
      the same value:
      
      drivers/clk/meson/meson8b.c:479:10: error: initialized field overwritten [-Werror=override-init]
         [CLKID_GCLK_VENCI_INT]     = &meson8b_gclk_venci_int.hw,
         [CLKID_GCLK_VENCI_INT]     = &meson8b_gclk_vencp_int.hw,
      
      This was clearly an accident, and since all other identifiers are
      listed in the order in which they are defined, I'm changing the
      first one to CLKID_GCLK_VENCI_INT0, making it all consistent again.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: e31a1900 ("meson: clk: Add support for clock gates")
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      0d5aa65e
    • Baoyou Xie's avatar
      clk: mmp: add missing header dependencies · 344dcc02
      Baoyou Xie authored
      We get 1 warning when building kernel with W=1:
      drivers/clk/mmp/clk-mmp2.c:75:13: warning: no previous prototype for 'mmp2_clk_init' [-Wmissing-prototypes]
      
      In fact, this function is declared in linux/clk/mmp.h,
      so this patch add missing header dependencies.
      Signed-off-by: default avatarBaoyou Xie <baoyou.xie@linaro.org>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      344dcc02
    • Stephen Boyd's avatar
      Merge tag 'clk-renesas-for-v4.9-tag3' of... · 20937056
      Stephen Boyd authored
      Merge tag 'clk-renesas-for-v4.9-tag3' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-next
      
      Pull renesas clk driver updates from Geert Uytterhoeven:
      
        - External crystal selection for RZ/A1,
        - CMT clocks for R-Car H3 and M3-W,
        - RAVB and Thermal clocks for R-Car M3-W.
      
      * tag 'clk-renesas-for-v4.9-tag3' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
        clk: renesas: r8a7796: Add CMT clocks
        clk: renesas: r8a7795: Add CMT clocks
        clk: renesas: r8a7796: Add RAVB clock
        clk: renesas: r8a7796: Add THS/TSC clock
        clk: renesas: rz: Select EXTAL vs USB clock
      20937056
    • Wei Yongjun's avatar
      meson: clk: Use builtin_platform_driver to simplify the code · 8edeae56
      Wei Yongjun authored
      Use the builtin_platform_driver() macro to make the code simpler.
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      8edeae56
    • Stephen Boyd's avatar
      Merge tag 'sunxi-clk-for-4.9' of... · de64f5c8
      Stephen Boyd authored
      Merge tag 'sunxi-clk-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next
      
      Pull Allwinner clock driver changes from Maxime Ripard:
      
      Four more SoCs converted to the new clock framework (A31, A31s, A23 and
      A33).
      
      * tag 'sunxi-clk-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
        clk: sunxi-ng: Add hardware dependency
        clk: sunxi-ng: Add A23 CCU
        clk: sunxi-ng: Add A33 CCU support
        clk: sunxi-ng: Add N-class clocks support
        clk: sunxi-ng: mux: Add mux table macro
        clk: sunxi-ng: div: Allow to set a maximum
        clk: sunxi-ng: div: Add kerneldoc for the _ccu_div structure
        clk: sunxi-ng: div: Add mux table macros
        clk: sunxi-ng: Add A31/A31s clocks
        clk: sunxi-ng: mux: Add clk notifier functions
        clk: sunxi-ng: mux: support fixed pre-dividers on multiple parents
        clk: sunxi-ng: mux: Add support for mux tables
        clk: sunxi-ng: mux: Rename mux macro to be consistent
        clk: sunxi-ng: nkm: Add mux to support multiple parents
        clk: sunxi-ng: mux: Increase fixed pre-divider div size
      de64f5c8
    • Stephen Boyd's avatar
      Merge tag 'clk-v4.9-samsung' of git://linuxtv.org/snawrocki/samsung into clk-next · 3db385ea
      Stephen Boyd authored
      Pull samsung clk driver updates from Sylwester Nawrocki:
      
      In addition to a few clean up and code consolidation patches this
      includes:
      - addition of sound subsystem related clocks for Exynos5410 SoC
        (EPLL, PDMA) and support for "samsung,exynos5410-audss-clock"
        compatible in the clk-exynos-audss driver,
      - addition of DRAM controller related clocks for exynos5420,
      - MAINTAINERS update adding Chanwoo Choi as the Samsung SoC
        clock drivers co-maintainer.
      
      * tag 'clk-v4.9-samsung' of git://linuxtv.org/snawrocki/samsung:
        clk: samsung: Add support for EPLL on exynos5410
        clk: samsung: clk-exynos-audss: Whitespace and debug trace cleanup
        clk: samsung: clk-exynos-audss: Add exynos5410 compatible
        clk: samsung: clk-exynos-audss: controller variant handling rework
        clk: samsung: Use common registration function for pll2550x
        clk: samsung: exynos5410: Expose the peripheral DMA gate clocks
        clk: samsung: exynos5420: Add clocks for CMU_CDREX domain
        clk: samsung: exynos5410: Use samsung_cmu_register_one() to simplify code
        clk: samsung: exynos5260: Move struct samsung_cmu_info to init section
        MAINTAINERS: Add myself as Samsung SoC clock drivers co-maintainer
        clk: samsung: exynos5410: Add clock IDs for PDMA and EPLL clocks
        clk: samsung: Add clock IDs for the CMU_CDREX (DRAM Express Controller)
      3db385ea
  2. 12 Sep, 2016 3 commits
  3. 10 Sep, 2016 8 commits
  4. 09 Sep, 2016 13 commits
  5. 08 Sep, 2016 2 commits
    • Stephen Boyd's avatar
      Merge branch 'clk-fixes' into clk-next · a063c1e1
      Stephen Boyd authored
      * clk-fixes:
        clk: sunxi-ng: Fix wrong reset register offsets
        clk: sunxi-ng: nk: Make ccu_nk_find_best static
        clk: sunxi-ng: Fix inverted test condition in ccu_helper_wait_for_lock
        clk: sunxi: Fix return value check in sun8i_a23_mbus_setup()
        clk: sunxi: pll2: Fix return value check in sun4i_pll2_setup()
      a063c1e1
    • Stephen Boyd's avatar
      Merge tag 'sunxi-clk-fixes-for-4.8' of... · e4abe2b9
      Stephen Boyd authored
      Merge tag 'sunxi-clk-fixes-for-4.8' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-fixes
      
      Clock Fixes for the Allwinner SoCs, 4.8 Edition
      
      The usual bunch of fixes to the our clock drivers, mostly targetted to the
      brand new sunxi-ng drivers.
      
      * tag 'sunxi-clk-fixes-for-4.8' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
        clk: sunxi-ng: Fix wrong reset register offsets
        clk: sunxi-ng: nk: Make ccu_nk_find_best static
        clk: sunxi-ng: Fix inverted test condition in ccu_helper_wait_for_lock
        clk: sunxi: Fix return value check in sun8i_a23_mbus_setup()
        clk: sunxi: pll2: Fix return value check in sun4i_pll2_setup()
      e4abe2b9
  6. 07 Sep, 2016 6 commits
    • Eric Anholt's avatar
      clk: bcm2835: Skip PLLC clocks when deciding on a new clock parent · 67615c58
      Eric Anholt authored
      If the firmware had set up a clock to source from PLLC, go along with
      it.  But if we're looking for a new parent, we don't want to switch it
      to PLLC because the firmware will force PLLC (and thus the AXI bus
      clock) to different frequencies during over-temp/under-voltage,
      without notification to Linux.
      
      On my system, this moves the Linux-enabled HDMI state machine and DSI1
      escape clock over to plld_per from pllc_per.  EMMC still ends up on
      pllc_per, because the firmware had set it up to use that.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Fixes: 41691b88 ("clk: bcm2835: Add support for programming the audio domain clocks")
      Acked-by: default avatarMartin Sperl <kernel@martin.sperl.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      67615c58
    • Eric Anholt's avatar
      clk: bcm2835: Mark the CM SDRAM clock's parent as critical · 9e400c5c
      Eric Anholt authored
      While the SDRAM is being driven by its dedicated PLL most of the time,
      there is a little loop running in the firmware that periodically turns
      on the CM SDRAM clock (using its pre-initialized parent) and switches
      SDRAM to using the CM clock to do PVT recalibration.
      
      This avoids system hangs if we choose SDRAM's parent for some other
      clock, then disable that clock.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Acked-by: default avatarMartin Sperl <kernel@martin.sperl.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      9e400c5c
    • Eric Anholt's avatar
      clk: bcm2835: Mark GPIO clocks enabled at boot as critical · eddcbe83
      Eric Anholt authored
      These divide off of PLLD_PER and are used for the ethernet and wifi
      PHYs source PLLs.  Neither of them is currently represented by a phy
      device that would grab the clock for us.
      
      This keeps other drivers from killing the networking PHYs when they
      disable their own clocks and trigger PLLD_PER's refcount going to 0.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Acked-by: default avatarMartin Sperl <kernel@martin.sperl.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      eddcbe83
    • Eric Anholt's avatar
      clk: bcm2835: Mark the VPU clock as critical · e69fdcca
      Eric Anholt authored
      The VPU clock is also the clock for our AXI bus, so we really can't
      disable it.  This might have happened during boot if, for example,
      uart1 (aux_uart clock) probed and was then disabled before the other
      consumers of the VPU clock had probed.
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Acked-by: default avatarMartin Sperl <kernel@martin.sperl.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      e69fdcca
    • Stephen Boyd's avatar
      Merge tag 'v4.9-rockchip-clk1' of... · 9bb87c02
      Stephen Boyd authored
      Merge tag 'v4.9-rockchip-clk1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next
      
      Pull rockchip clk driver updates from Heiko Stuebner:
      
      The biggest addition is probably the special clock-type for ddr clock
      control. While reading that clock is done the normal way from the
      registers, setting it always requires some sort of special handling
      to let the system survive this addition.
      
      As the commit message explains, there are currently 3 handling-types
      known. General SRAM-based code on rk3288 and before (which is waiting
      essentially for the PIE support that is currently being worked on),
      SCPI-based clk setting on the rk3368 through a coprocessor, which we
      might support once the support for legacy scpi-variants has matured
      and now on the rk3399 (and probably later) using a dcf controller that
      is controlled from the arm-trusted-firmware and gets accessed through
      firmware calls from the kernel. This is the variant we currently
      support, but the clock type is made to support the other variants in
      the future as well.
      
      Apart from that slightly bigger chunk, we have a mix of PLL rates,
      clock-ids and flags mainly for the rk3399.
      
      And interestingly an iomap fix for the legacy gate driver, where I
      hopefully could deter the submitter from actually using that in any
      new works.
      
      * tag 'v4.9-rockchip-clk1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
        clk: rockchip: use the dclk_vop_frac clock ids on rk3399
        clk: rockchip: drop CLK_SET_RATE_PARENT from rk3399 fractional dividers
        clk: rockchip: add 2016M to big cpu clk rate table on rk3399
        clk: rockchip: add rk3399 ddr clock support
        clk: rockchip: add dclk_vop_frac ids for rk3399 vop
        clk: rockchip: add new clock-type for the ddrclk
        soc: rockchip: add header for ddr rate SIP interface
        clk: rockchip: add SCLK_DDRC id for rk3399 ddrc
        clk: rockchip: handle of_iomap failures in legacy clock driver
        clk: rockchip: mark rk3399 hdcp_noc and vio_noc as critical
        clk: rockchip: use general clock flag when registering pll
        clk: rockchip: delete the CLK_IGNORE_UNUSED from aclk_pcie on rk3399
        clk: rockchip: add 65MHz and 106.5MHz rates to rk3399 plls used for HDMI
      9bb87c02
    • Geert Uytterhoeven's avatar
      MAINTAINERS: Add section for Renesas clock drivers · fedc81e7
      Geert Uytterhoeven authored
      Add a section for Renesas clock drivers, as found on Renesas ARM SoCs,
      and list myself as the maintainer.
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      fedc81e7
  7. 05 Sep, 2016 2 commits