Skip to content
Snippets Groups Projects
  1. Feb 16, 2024
  2. Oct 19, 2023
  3. Oct 12, 2023
  4. Jul 19, 2023
  5. Jun 05, 2023
    • Jacky Huang's avatar
      clk: nuvoton: Add clock driver for ma35d1 clock controller · 691521a3
      Jacky Huang authored
      
      The clock controller generates clocks for the whole chip, including
      system clocks and all peripheral clocks. This driver support ma35d1
      clock gating, divider, and individual PLL configuration.
      
      There are 6 PLLs in ma35d1 SoC:
        - CA-PLL for the two Cortex-A35 CPU clock
        - SYS-PLL for system bus, which comes from the companion MCU
          and cannot be programmed by clock controller.
        - DDR-PLL for DDR
        - EPLL for GMAC and GFX, Display, and VDEC IPs.
        - VPLL for video output pixel clock
        - APLL for SDHC, I2S audio, and other IPs.
      CA-PLL has only one operation mode.
      DDR-PLL, EPLL, VPLL, and APLL are advanced PLLs which have 3
      operation modes: integer mode, fraction mode, and spread specturm mode.
      
      Signed-off-by: default avatarJacky Huang <ychuang3@nuvoton.com>
      Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      691521a3
  6. Apr 05, 2023
  7. Mar 27, 2023
  8. Mar 21, 2023
  9. Mar 20, 2023
  10. Oct 01, 2022
  11. May 21, 2022
  12. Apr 23, 2022
  13. Mar 18, 2022
  14. Mar 12, 2022
  15. Feb 23, 2022
  16. Jan 25, 2022
  17. Jan 06, 2022
  18. Dec 16, 2021
  19. Dec 08, 2021
  20. Nov 23, 2021
    • Samuel Holland's avatar
      clk: sunxi-ng: Allow the CCU core to be built as a module · 91389c39
      Samuel Holland authored
      
      Like the individual CCU drivers, it can be beneficial for memory
      consumption of cross-platform configurations to only load the CCU core
      on the relevant platform. For example, a generic arm64 kernel sees the
      following improvement when building the CCU core and drivers as modules:
      
        before:
          text      data     bss     dec       hex      filename
          13882360  5251670  360800  19494830  12977ae  vmlinux
      
        after:
          text      data     bss     dec       hex      filename
          13734787  5086442  360800  19182029  124b1cd  vmlinux
      
      So the result is a 390KB total reduction in kernel image size.
      
      The one early clock provider (sun5i) requires the core to be built in.
      
      Now that loading the MMC driver will trigger loading the CCU core, the
      MMC timing mode functions do not need a compile-time fallback.
      
      Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      Link: https://lore.kernel.org/r/20211119033338.25486-5-samuel@sholland.org
      91389c39
  21. Aug 12, 2021
  22. Jun 28, 2021
  23. Jun 08, 2021
  24. Apr 13, 2021
    • Sergio Paracuellos's avatar
      clk: ralink: add clock driver for mt7621 SoC · 48df7a26
      Sergio Paracuellos authored
      
      The documentation for this SOC only talks about two
      registers regarding to the clocks:
      * SYSC_REG_CPLL_CLKCFG0 - provides some information about
      boostrapped refclock. PLL and dividers used for CPU and some
      sort of BUS.
      * SYSC_REG_CPLL_CLKCFG1 - a banch of gates to enable/disable
      clocks for all or some ip cores.
      
      Looking into driver code, and some openWRT patched there are
      another frequencies which are used in some drivers (uart, sd...).
      According to all of this information the clock plan for this
      SoC is set as follows:
      - Main top clock "xtal" from where all the rest of the world is
      derived.
      - CPU clock "cpu" derived from "xtal" frequencies and a bunch of
      register reads and predividers.
      - BUS clock "bus" derived from "cpu" and with (cpu / 4) MHz.
      - Fixed clocks from "xtal":
          * "50m": 50 MHz.
          * "125m": 125 MHz.
          * "150m": 150 MHz.
          * "250m": 250 MHz.
          * "270m": 270 MHz.
      
      We also have a buch of gate clocks with their parents:
        * "hsdma": "150m"
        * "fe": "250m"
        * "sp_divtx": "270m"
        * "timer": "50m"
        * "pcm": "270m"
        * "pio": "50m"
        * "gdma": "bus"
        * "nand": "125m"
        * "i2c": "50m"
        * "i2s": "270m"
        * "spi": "bus"
        * "uart1": "50m"
        * "uart2": "50m"
        * "uart3": "50m"
        * "eth": "50m"
        * "pcie0": "125m"
        * "pcie1": "125m"
        * "pcie2": "125m"
        * "crypto": "250m"
        * "shxc": "50m"
      
      With this information the clk driver will provide clock and gates
      functionality from a a set of hardcoded clocks allowing to define
      a nice device tree without fixed clocks.
      
      Signed-off-by: default avatarSergio Paracuellos <sergio.paracuellos@gmail.com>
      Link: https://lore.kernel.org/r/20210410055059.13518-2-sergio.paracuellos@gmail.com
      
      
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      48df7a26
  25. Mar 23, 2021
  26. Feb 23, 2021
    • Damien Le Moal's avatar
      clk: Add RISC-V Canaan Kendryte K210 clock driver · c6ca7616
      Damien Le Moal authored
      
      Add a clock provider driver for the Canaan Kendryte K210 RISC-V SoC.
      This new driver with the compatible string "canaan,k210-clk" implements
      support for the full clock structure of the K210 SoC. Since it is
      required for the correct operation of the SoC, this driver is
      selected by default for compilation when the SOC_CANAAN option is
      selected.
      
      With this change, the k210-sysctl driver is turned into a simple
      platform driver which enables its power bus clock and triggers
      populating its child nodes. The sysctl driver retains the SOC early
      initialization code, but the implementation now relies on the new
      function k210_clk_early_init() provided by the new clk-k210 driver.
      
      The clock structure implemented and many of the coding ideas for the
      driver come from the work by Sean Anderson on the K210 support for the
      U-Boot project.
      
      Cc: Stephen Boyd <sboyd@kernel.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: linux-clk@vger.kernel.org
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      c6ca7616
  27. Feb 16, 2021
  28. Feb 14, 2021
  29. Feb 09, 2021
Loading