Skip to content
  1. Dec 23, 2020
  2. Dec 22, 2020
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 8653b778
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "The core framework got some nice improvements this time around. We
        gained the ability to get struct clk pointers from a struct clk_hw so
        that clk providers can consume the clks they provide, if they need to
        do something like that. This has been a long missing part of the clk
        provider API that will help us move away from exposing a struct clk
        pointer in the struct clk_hw. Tracepoints are added for the
        clk_set_rate() "range" functions, similar to the tracepoints we
        already have for clk_set_rate() and we added a column to debugfs to
        help developers understand the hardware enable state of clks in case
        firmware or bootloader state is different than what is expected.
        Overall the core changes are mostly improving the clk driver writing
        experience.
      
        At the driver level, we have the usual collection of driver updates
        and new drivers for new SoCs. This time around the Qualcomm folks
        introduced a good handful of clk drivers for various parts of three or
        four SoCs. The SiFive folks added a new clk driver for their FU740
        SoCs, coming in second on the diffstat and then Atmel AT91 and Amlogic
        SoCs had lots of work done after that for various new features. One
        last thing to note in the driver area is that the i.MX driver has
        gained a new binding to support SCU clks after being on the list for
        many months. It uses a two cell binding which is sort of rare in clk
        DT bindings. Beyond that we have the usual set of driver fixes and
        tweaks that come from more testing and finding out that some
        configuration was wrong or that a driver could support being built as
        a module.
      
        Summary:
      
        Core:
         - Add some trace points for clk_set_rate() "range" functions
         - Add hardware enable information to clk_summary debugfs
         - Replace clk-provider.h with of_clk.h when possible
         - Add devm variant of clk_notifier_register()
         - Add clk_hw_get_clk() to generate a struct clk from a struct clk_hw
      
        New Drivers:
         - Bindings for Canaan K210 SoC clks
         - Support for SiFive FU740 PRCI
         - Camera clks on Qualcomm SC7180 SoCs
         - GCC and RPMh clks on Qualcomm SDX55 SoCs
         - RPMh clks on Qualcomm SM8350 SoCs
         - LPASS clks on Qualcomm SM8250 SoCs
      
        Updates:
         - DVFS support for AT91 clk driver
         - Update git repo branch for Renesas clock drivers
         - Add camera (CSI) and video-in (VIN) clocks on Renesas R-Car V3U
         - Add RPC (QSPI/HyperFLASH) clocks on Renesas RZ/G2M, RZ/G2N, and RZ/G2E
         - Stop using __raw_*() I/O accessors in Renesas clk drivers
         - One more conversion of DT bindings to json-schema
         - Make i.MX clk-gate2 driver more flexible
         - New two cell binding for i.MX SCU clks
         - Drop of_match_ptr() in i.MX8 clk drivers
         - Add arch dependencies for Rockchip clk drivers
         - Fix i2s on Rockchip rk3066
         - Add MIPI DSI clks on Amlogic axg and g12 SoCs
         - Support modular builds of Amlogic clk drivers
         - Fix an Amlogic Video PLL clock dependency
         - Samsung Kconfig dependencies updates for better compile test coverage
         - Refactoring of the Samsung PLL clocks driver
         - Small Tegra driver cleanups
         - Minor fixes to Ingenic and VC5 clk drivers
         - Cleanup patches to remove unused variables and plug memory leaks"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (134 commits)
        dt-binding: clock: Document canaan,k210-clk bindings
        dt-bindings: Add Canaan vendor prefix
        clk: vc5: Use "idt,voltage-microvolt" instead of "idt,voltage-microvolts"
        clk: ingenic: Fix divider calculation with div tables
        clk: sunxi-ng: Make sure divider tables have sentinel
        clk: s2mps11: Fix a resource leak in error handling paths in the probe function
        clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
        clk: si5351: Wait for bit clear after PLL reset
        clk: at91: sam9x60: remove atmel,osc-bypass support
        clk: at91: sama7g5: register cpu clock
        clk: at91: clk-master: re-factor master clock
        clk: at91: sama7g5: do not allow cpu pll to go higher than 1GHz
        clk: at91: sama7g5: decrease lower limit for MCK0 rate
        clk: at91: sama7g5: remove mck0 from parent list of other clocks
        clk: at91: clk-sam9x60-pll: allow runtime changes for pll
        clk: at91: sama7g5: add 5th divisor for mck0 layout and characteristics
        clk: at91: clk-master: add 5th divisor for mck master
        clk: at91: sama7g5: allow SYS and CPU PLLs to be exported and referenced in DT
        dt-bindings: clock: at91: add sama7g5 pll defines
        clk: at91: sama7g5: fix compilation error
        ...
      8653b778