24 Sep, 2016

1 commit


17 Sep, 2016

1 commit


16 Aug, 2016

1 commit

  • The clock IP used on the Maxim PMICs max77686 and max77802 are
    same. The configuration of clock register is also same except
    the number of clocks.

    Part of common code utilisation, there is 3 files for these chips
    clock driver, one for common and two files for driver registration.

    Combine both drivers into single file and move common code into
    same common file reduces the 2 files and make max77686 and max77802
    clock driver in single fine. This driver does not depends on the
    parent driver structure. The regmap handle is acquired through
    regmap APIs for the register access.

    This combination of driver helps on adding clock driver for different
    Maxim PMICs which has similar clock IP like MAX77620 and MAX20024.

    Signed-off-by: Laxman Dewangan
    CC: Krzysztof Kozlowski
    CC: Javier Martinez Canillas
    Reviewed-by: Javier Martinez Canillas
    Tested-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Tested-by: Krzysztof Kozlowski
    Signed-off-by: Stephen Boyd

    Laxman Dewangan
     

20 Jul, 2016

1 commit


09 Jul, 2016

2 commits


23 Jun, 2016

1 commit

  • Break the AmLogic clock code up so that only the necessary parts are
    compiled and linked. The core code is selected by both arm and arm64
    builds with COMMON_CLK_AMLOGIC. The individual drivers have their own
    config options as well.

    Tested-by: Kevin Hilman
    Signed-off-by: Michael Turquette

    Michael Turquette
     

21 May, 2016

1 commit

  • Pull clk updates from Stephen Boyd:
    "It's the usual big pile of driver updates and additions, but we do
    have a couple core changes in here as well.

    Core:

    - CLK_IS_CRITICAL support has been added. This should allow drivers
    to properly express that a certain clk should stay on even if their
    prepare/enable count drops to 0 (and in turn the parents of these
    clks should stay enabled).

    - A clk registration API has been added, clk_hw_register(), and an OF
    clk provider API has been added, of_clk_add_hw_provider(). These
    APIs have been put in place to further split clk providers from clk
    consumers, with the goal being to have clk providers never deal
    with struct clk pointers at all. Conversion of provider drivers is
    on going. clkdev has also gained support for registering clk_hw
    pointers directly so we can convert drivers that don't use
    devicetree.

    New Drivers:

    - Marvell ap806 and cp110 system controllers (with clks inside!)
    - Hisilicon Hi3519 clock and reset controller
    - Axis ARTPEC-6 clock controllers
    - Oxford Semiconductor OXNAS clock controllers
    - AXS10X I2S PLL
    - Rockchip RK3399 clock and reset controller

    Updates:

    - MMC2 and UART2 clks on Samsung Exynos 3250, ACLK on Samsung Exynos
    542x SoCs, and some more clk ID exporting for bus frequency scaling
    - Proper BCM2835 PCM clk support and various other clks
    - i.MX clk updates for i.MX6SX, i.MX7, and VF610
    - Renesas updates for R-Car H3
    - Tegra210 got updates for DisplayPort and HDMI 2.0
    - Rockchip driver refactorings and fixes due to adding RK3399 support"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (139 commits)
    clk: fix critical clock locking
    clk: qcom: mmcc-8996: Remove clocks that should be controlled by RPM
    clk: ingenic: Allow divider value to be divided
    clk: sunxi: Add display and TCON0 clocks driver
    clk: rockchip: drop old_rate calculation on pll rate changes
    clk: rockchip: simplify GRF handling in pll clocks
    clk: rockchip: lookup General Register Files in rockchip_clk_init
    clk: rockchip: fix the rk3399 sdmmc sample / drv name
    clk: mvebu: new driver for Armada CP110 system controller
    dt-bindings: arm: add DT binding for Marvell CP110 system controller
    clk: mvebu: new driver for Armada AP806 system controller
    clk: hisilicon: add CRG driver for hi3519 soc
    clk: hisilicon: export some hisilicon APIs to modules
    reset: hisilicon: add reset controller driver for hisilicon SOCs
    clk: bcm/kona: Do not use sizeof on pointer type
    clk: qcom: msm8916: Fix crypto clock flags
    clk: nxp: lpc18xx: Initialize clk_init_data::flags to 0
    clk/axs10x: Add I2S PLL clock driver
    clk: imx7d: fix ahb clock mux 1
    clk: fix comment of devm_clk_hw_register()
    ...

    Linus Torvalds
     

13 May, 2016

1 commit

  • This clock driver implements PIC32 specific clock-tree. clock-tree
    entities can only be configured through device-tree file (OF).

    Signed-off-by: Purna Chandra Mandal
    Cc: Michael Turquette
    Cc: Stephen Boyd
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-clk@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/13247/
    Signed-off-by: Ralf Baechle

    Purna Chandra Mandal
     

07 May, 2016

1 commit

  • The ARC SDP I2S clock can be programmed using a
    specific PLL.

    This patch has the goal of adding a clock driver
    that programs this PLL.

    At this moment the rate values are hardcoded in
    a table but in the future it would be ideal to
    use a function which determines the PLL values
    given the desired rate.

    Signed-off-by: Jose Abreu
    Acked-by: Rob Herring
    Signed-off-by: Stephen Boyd

    Jose Abreu
     

22 Apr, 2016

1 commit


16 Apr, 2016

2 commits


02 Apr, 2016

1 commit

  • The drivers/clk/mvebu directory is only being built when
    CONFIG_PLAT_ORION=y. As we are going to support additional mvebu
    platforms in drivers/clk/mvebu, which don't have CONFIG_PLAT_ORION=y,
    we need to recurse into this directory regardless of the value of
    CONFIG_PLAT_ORION.

    Since all files in drivers/clk/mvebu/ are already conditionally
    compiled depending on various Kconfig options, we can recurse
    unconditionally into drivers/clk/mvebu without any other change.

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Stephen Boyd

    Thomas Petazzoni
     

04 Mar, 2016

1 commit

  • This is part of an ongoing process to migrate from ARCH_SHMOBILE to
    ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
    appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

    Along with the above mentioned Kconfig changes it seems appropriate
    to also rename directories that only hold drivers for such SoCs.

    Signed-off-by: Simon Horman
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Stephen Boyd

    Simon Horman
     

02 Mar, 2016

2 commits


26 Feb, 2016

1 commit

  • As of 9b5ba0df4ea4 ("ARM: shmobile: Introduce ARCH_RENESAS") all platforms
    that use Renesas clock drivers now select ARCH_RENESAS. As it is present in
    drivers/clk/Makefile ARCH_SHMOBILE_MULTI may now be removed.

    This is part of an ongoing process to migrate from ARCH_SHMOBILE to
    ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
    appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

    Signed-off-by: Simon Horman
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Stephen Boyd

    Simon Horman
     

30 Jan, 2016

1 commit


25 Dec, 2015

2 commits


23 Dec, 2015

1 commit


08 Dec, 2015

1 commit


01 Dec, 2015

1 commit


17 Nov, 2015

1 commit


11 Nov, 2015

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "As we've enabled multiplatform kernels on ARM, and greatly done away
    with the contents under arch/arm/mach-*, there's still need for
    SoC-related drivers to go somewhere.

    Many of them go in through other driver trees, but we still have
    drivers/soc to hold some of the "doesn't fit anywhere" lowlevel code
    that might be shared between ARM and ARM64 (or just in general makes
    sense to not have under the architecture directory).

    This branch contains mostly such code:

    - Drivers for qualcomm SoCs for SMEM, SMD and SMD-RPM, used to
    communicate with power management blocks on these SoCs for use by
    clock, regulator and bus frequency drivers.

    - Allwinner Reduced Serial Bus driver, again used to communicate with
    PMICs.

    - Drivers for ARM's SCPI (System Control Processor). Not to be
    confused with PSCI (Power State Coordination Interface). SCPI is
    used to communicate with the assistant embedded cores doing power
    management, and we have yet to see how many of them will implement
    this for their hardware vs abstracting in other ways (or not at all
    like in the past).

    - To make confusion between SCPI and PSCI more likely, this release
    also includes an update of PSCI to interface version 1.0.

    - Rockchip support for power domains.

    - A driver to talk to the firmware on Raspberry Pi"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (57 commits)
    soc: qcom: smd-rpm: Correct size of outgoing message
    bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus
    bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings
    ARM: bcm2835: add mutual inclusion protection
    drivers: psci: make PSCI 1.0 functions initialization version dependent
    dt-bindings: Correct paths in Rockchip power domains binding document
    soc: rockchip: power-domain: don't try to print the clock name in error case
    soc: qcom/smem: add HWSPINLOCK dependency
    clk: berlin: add cpuclk
    ARM: berlin: dts: add CLKID_CPU for BG2Q
    ARM: bcm2835: Add the Raspberry Pi firmware driver
    soc: qcom: smem: Move RPM message ram out of smem DT node
    soc: qcom: smd-rpm: Correct the active vs sleep state flagging
    soc: qcom: smd: delete unneeded of_node_put
    firmware: qcom-scm: build for correct architecture level
    soc: qcom: smd: Correct SMEM items for upper channels
    qcom-scm: add missing prototype for qcom_scm_is_available()
    qcom-scm: fix endianess issue in __qcom_scm_is_call_available
    soc: qcom: smd: Reject send of too big packets
    soc: qcom: smd: Handle big endian CPUs
    ...

    Linus Torvalds
     

22 Oct, 2015

4 commits

  • * clk-iproc:
    clk: iproc: define Broadcom NS2 iProc clock binding
    clk: iproc: define Broadcom NSP iProc clock binding
    clk: ns2: add clock support for Broadcom Northstar 2 SoC
    clk: iproc: Separate status and control variables
    clk: iproc: Split off dig_filter
    clk: iproc: Add PLL base write function
    clk: nsp: add clock support for Broadcom Northstar Plus SoC
    clk: iproc: Add PWRCTRL support
    clk: cygnus: Convert all macros to all caps
    ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled

    Stephen Boyd
     
  • The Broadcom Northstar 2 SoC is architected under the iProc
    architecture. It has the following PLLs: GENPLL SCR, GENPLL SW,
    LCPLL DDR, LCPLL Ports, all derived from an onboard crystal.

    Signed-off-by: Jon Mason
    Signed-off-by: Stephen Boyd

    Jon Mason
     
  • …git/mripard/linux into clk-next

    Pull Allwinner clock additions for 4.4 from Maxime Ripard:

    - Support for the Audio PLL and child clocks
    - Support for the A33 AHB gates
    - New clk-multiplier generic driver

    * tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
    clk: sunxi: mod1 clock support
    clk: sunxi: codec clock support
    clk: sunxi: pll2: Add A13 support
    clk: sunxi: Add a driver for the PLL2
    clk: Add a basic multiplier clock
    clk: sunxi: Add A33 gates support

    Stephen Boyd
     
  • Some clocks are using a multiplier component, however, unlike their mux,
    gate or divider counterpart, these factors don't have a basic clock
    implementation.

    This leads to code duplication across platforms that want to use that kind
    of clocks, and the impossibility to use the composite clocks with such a
    clock without defining your own rate operations.

    Create such a driver in order to remove these issues, and hopefully factor
    the implementations, reducing code size across platforms and consolidating
    the various implementations.

    Signed-off-by: Maxime Ripard
    Reviewed-by: Chen-Yu Tsai

    Maxime Ripard
     

13 Oct, 2015

1 commit


09 Oct, 2015

1 commit

  • This patch adds the driver and devicetree documentation for the
    Silicon Labs SI514 clock generator chip. This is an I2C controlled
    oscillator capable of generating clock signals ranging from 100kHz
    to 250MHz.

    Signed-off-by: Mike Looijmans
    [sboyd@codeaurora.org: Drop clk.h include, remove some casts]
    Signed-off-by: Stephen Boyd

    Mike Looijmans
     

02 Oct, 2015

1 commit


28 Sep, 2015

1 commit

  • On some ARM based systems, a separate Cortex-M based System Control
    Processor(SCP) provides the overall power, clock, reset and system
    control. System Control and Power Interface(SCPI) Message Protocol
    is defined for the communication between the Application Cores(AP)
    and the SCP.

    This patch adds support for the clocks provided by SCP using SCPI
    protocol.

    Signed-off-by: Sudeep Holla
    Reviewed-by: Stephen Boyd
    Cc: Mike Turquette
    Cc: Liviu Dudau
    Cc: Lorenzo Pieralisi
    Cc: Jon Medhurst (Tixy)
    Cc: linux-clk@vger.kernel.org

    Sudeep Holla
     

07 Jul, 2015

1 commit


02 Jul, 2015

1 commit

  • Pull clock framework updates from Michael Turquette:
    "The changes to the common clock framework for 4.2 are dominated by new
    drivers and updates to existing ones, as usual.

    There are some fixes to the framework itself and several cleanups for
    sparse warnings, etc"

    * tag 'clk-for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (135 commits)
    clk: stm32: Add clock driver for STM32F4[23]xxx devices
    dt-bindings: Document the STM32F4 clock bindings
    cpufreq: exynos: remove Exynos4210 specific cpufreq driver support
    ARM: Exynos: switch to using generic cpufreq driver for Exynos4210
    clk: samsung: exynos4: add cpu clock configuration data and instantiate cpu clock
    clk: samsung: add infrastructure to register cpu clocks
    clk: add CLK_RECALC_NEW_RATES clock flag for Exynos cpu clock support
    doc: dt: add documentation for lpc1850-ccu clk driver
    clk: add lpc18xx ccu clk driver
    doc: dt: add documentation for lpc1850-cgu clk driver
    clk: add lpc18xx cgu clk driver
    clk: keystone: add support for post divider register for main pll
    clk: mvebu: flag the crypto clk as CLK_IGNORE_UNUSED
    clk: cygnus: remove Cygnus dummy clock binding
    clk: cygnus: add clock support for Broadcom Cygnus
    clk: Change bcm clocks build dependency
    clk: iproc: add initial common clock support
    clk: iproc: define Broadcom iProc clock binding
    MAINTAINERS: update email for Michael Turquette
    clk: meson: add some error handling in meson_clk_register_cpu()
    ...

    Linus Torvalds
     

28 Jun, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:

    - Improvements to the tlb_dump code
    - KVM fixes
    - Add support for appended DTB
    - Minor improvements to the R12000 support
    - Minor improvements to the R12000 support
    - Various platform improvments for BCM47xx
    - The usual pile of minor cleanups
    - A number of BPF fixes and improvments
    - Some improvments to the support for R3000 and DECstations
    - Some improvments to the ATH79 platform support
    - A major patchset for the JZ4740 SOC adding support for the CI20 platform
    - Add support for the Pistachio SOC
    - Minor BMIPS/BCM63xx platform support improvments.
    - Avoid "SYNC 0" as memory barrier when unlocking spinlocks
    - Add support for the XWR-1750 board.
    - Paul's __cpuinit/__cpuinitdata cleanups.
    - New Malta CPU board support large memory so enable ZONE_DMA32.

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (131 commits)
    MIPS: spinlock: Adjust arch_spin_lock back-off time
    MIPS: asmmacro: Ensure 64-bit FP registers are used with MSA
    MIPS: BCM47xx: Simplify handling SPROM revisions
    MIPS: Cobalt Don't use module_init in non-modular MTD registration.
    MIPS: BCM47xx: Move NVRAM driver to the drivers/firmware/
    MIPS: use for_each_sg()
    MIPS: BCM47xx: Don't select BCMA_HOST_PCI
    MIPS: BCM47xx: Add helper variable for storing NVRAM length
    MIPS: IRQ/IP27: Move IRQ allocation API to platform code.
    MIPS: Replace smp_mb with release barrier function in unlocks.
    MIPS: i8259: DT support
    MIPS: Malta: Basic DT plumbing
    MIPS: include errno.h for ENODEV in mips-cm.h
    MIPS: Define GCR_GIC_STATUS register fields
    MIPS: BPF: Introduce BPF ASM helpers
    MIPS: BPF: Use BPF register names to describe the ABI
    MIPS: BPF: Move register definition to the BPF header
    MIPS: net: BPF: Replace RSIZE with SZREG
    MIPS: BPF: Free up some callee-saved registers
    MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers
    ...

    Linus Torvalds
     

27 Jun, 2015

1 commit

  • Pull ARM SoC platform support updates from Kevin Hilman:
    "Our SoC branch usually contains expanded support for new SoCs and
    other core platform code. Some highlights from this round:

    - sunxi: SMP support for A23 SoC
    - socpga: big-endian support
    - pxa: conversion to common clock framework
    - bcm: SMP support for BCM63138
    - imx: support new I.MX7D SoC
    - zte: basic support for ZX296702 SoC"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (134 commits)
    ARM: zx: Add basic defconfig support for ZX296702
    ARM: dts: zx: add an initial zx296702 dts and doc
    clk: zx: add clock support to zx296702
    dt-bindings: Add #defines for ZTE ZX296702 clocks
    ARM: socfpga: fix build error due to secondary_startup
    MAINTAINERS: ARM64: EXYNOS: Extend entry for ARM64 DTS
    ARM: ep93xx: simone: support for SPI-based MMC/SD cards
    MAINTAINERS: update Shawn's email to use kernel.org one
    ARM: socfpga: support suspend to ram
    ARM: socfpga: add CPU_METHOD_OF_DECLARE for Arria 10
    ARM: socfpga: use CPU_METHOD_OF_DECLARE for socfpga_cyclone5
    ARM: EXYNOS: register power domain driver from core_initcall
    ARM: EXYNOS: use PS_HOLD based poweroff for all supported SoCs
    ARM: SAMSUNG: Constify platform_device_id
    ARM: EXYNOS: Constify irq_domain_ops
    ARM: EXYNOS: add coupled cpuidle support for Exynos3250
    ARM: EXYNOS: add exynos_get_boot_addr() helper
    ARM: EXYNOS: add exynos_set_boot_addr() helper
    ARM: EXYNOS: make exynos_core_restart() less verbose
    ARM: EXYNOS: fix exynos_boot_secondary() return value on timeout
    ...

    Linus Torvalds
     

23 Jun, 2015

2 commits

  • Signed-off-by: Yoshinori Sato

    Yoshinori Sato
     
  • The driver supports decoding and statically modelling PLL state (i.e.
    we inherit state from bootloader) and provides support for all
    peripherals that support simple one-bit gated clocks. The covers all
    peripherals whose clocks come from the AHB, APB1 or APB2 buses.

    It has been tested on an STM32F429I-Discovery board. The clock counts
    for TIM2, USART1 and SYSTICK are all set correctly and the wall clock
    looks OK when checked with a stopwatch. I have also tested a prototype
    driver for the RNG hardware. The RNG clock is correctly enabled by the
    framework (also did inverse test and proved that by changing DT to
    configure the wrong clock bit then we observe the RNG driver to fail).

    Signed-off-by: Daniel Thompson
    Reviewed-by: Maxime Coquelin
    [sboyd@codeaurora.org: Silence sparse warnings]
    Signed-off-by: Stephen Boyd

    Daniel Thompson