03 May, 2016

1 commit

  • …egra/linux into clk-next

    Pull tegra clk driver changes from Thierry Reding:

    This set of changes contains a bunch of cleanups and minor fixes along
    with some new clocks, mainly on Tegra210, in preparation for supporting
    DisplayPort and HDMI 2.0.

    * tag 'tegra-for-4.7-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    clk: tegra: dfll: Reformat CVB frequency table
    clk: tegra: dfll: Properly clean up on failure and removal
    clk: tegra: dfll: Make code more comprehensible
    clk: tegra: dfll: Reference CVB table instead of copying data
    clk: tegra: dfll: Update kerneldoc
    clk: tegra: Fix PLL_U post divider and initial rate on Tegra30
    clk: tegra: Initialize PLL_C to sane rate on Tegra30
    clk: tegra: Fix pllre Tegra210 and add pll_re_out1
    clk: tegra: Add sor_safe clock
    clk: tegra: dpaux and dpaux1 are fixed factor clocks
    clk: tegra: Add dpaux1 clock
    clk: tegra: Use correct parent for dpaux clock
    clk: tegra: Add fixed factor peripheral clock type
    clk: tegra: Special-case mipi-cal parent on Tegra114
    clk: tegra: Remove trailing blank line
    clk: tegra: Constify peripheral clock registers
    clk: tegra: Add interface to enable hardware control of SATA/XUSB PLLs

    Stephen Boyd
     

28 Apr, 2016

1 commit


21 Apr, 2016

1 commit

  • …el/git/geert/renesas-drivers into clk-next

    clk: renesas: R-Car SYSC PM Domain Preparation

    - Export the CPG/MSSR and CPG/MSTP attach/detach_dev callbacks, so
    they can be called by the R-Car SYSC PM Domain driver.

    * tag 'clk-renesas-for-v4.7-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers:
    clk: renesas: cpg-mssr: Export cpg_mssr_{at,de}tach_dev()
    clk: renesas: mstp: Provide dummy attach/detach_dev callbacks
    clk: renesas: Provide Kconfig symbols for CPG/MSSR and CPG/MSTP support

    Stephen Boyd
     

20 Apr, 2016

2 commits

  • The R-Car SYSC PM Domain driver has to power manage devices in power
    areas using clocks. To reuse code and to share knowledge of clocks
    suitable for power management, this is ideally done through the existing
    cpg_mssr_attach_dev() and cpg_mssr_detach_dev() callbacks.

    Hence these callbacks can no longer rely on their "domain" parameter
    pointing to the CPG/MSSR Clock Domain. To handle this, keep a pointer to
    the clock domain in a static variable. cpg_mssr_attach_dev() has to
    support probe deferral, as the R-Car SYSC PM Domain may be initialized,
    and devices may be added to it, before the CPG/MSSR Clock Domain is
    initialized.

    Dummy callbacks are provided for the case where CPG/MSTP support is not
    included, so the rcar-sysc driver won't have to care about this.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Laurent Pinchart

    Geert Uytterhoeven
     
  • Provide dummy cpg_mstp_{at,de}tach_dev() PM Domain callbacks if CPG/MSTP
    support is not included, so the rcar-sysc driver won't have to care
    about this.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Laurent Pinchart

    Geert Uytterhoeven
     

16 Apr, 2016

1 commit

  • DPLLs typically have a maximum rate they can support, and this varies
    from DPLL to DPLL. Add support of the maximum rate value to the DPLL
    data struct, and also add check for this in the DPLL round_rate function.

    Signed-off-by: Tero Kristo
    Reviewed-by: Nishanth Menon
    Cc: Tomi Valkeinen
    Cc: Lokesh Vutla
    Signed-off-by: Stephen Boyd

    Tero Kristo
     

07 Apr, 2016

2 commits


23 Mar, 2016

1 commit

  • Pull clk updates from Stephen Boyd:
    "The clk changes for this release cycle are mostly dominated by new
    device support in terms of LoC, but there has been some cleanup in the
    core as well as the usual minor clk additions to various drivers.

    Core:
    - parent tracking has been simplified
    - CLK_IS_ROOT is now a no-op flag, cleaning up drivers has started
    - of_clk_init() doesn't consider disabled DT nodes anymore
    - clk_unregister() had an error path bug squashed
    - of_clk_get_parent_count() has been fixed to only return unsigned ints
    - HAVE_MACH_CLKDEV is removed now that the last arch user (ARM) is gone

    New Drivers:
    - NXP LPC18xx creg
    - QCOM IPQ4019 GCC
    - TI dm814x ADPLL
    - i.MX6QP

    Updates:
    - Cyngus audio clks found on Broadcom iProc devices
    - Non-critical fixes for BCM2385 PLLs
    - Samsung exynos5433 updates for clk id errors, HDMI support,
    suspend/resume simplifications
    - USB, CAN, LVDS, and FCP clks on shmobile devices
    - sunxi got support for more clks on new SoCs and went through a
    minor refactoring/rewrite to use a simpler factor clk construct
    - rockchip added some more clk ids and added suport for fraction
    dividers
    - QCOM GDSCs in msm8996
    - A new devm helper to make adding custom actions simpler (acked by Greg)"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (197 commits)
    clk: bcm2835: fix check of error code returned by devm_ioremap_resource()
    clk: renesas: div6: use RENESAS for #define
    clk: renesas: Rename header file renesas.h
    clk: max77{686,802}: Remove CLK_IS_ROOT
    clk: versatile: Remove CLK_IS_ROOT
    clk: sunxi: Remove use of variable length array
    clk: fixed-rate: Remove CLK_IS_ROOT
    clk: qcom: Remove CLK_IS_ROOT
    doc: dt: add documentation for lpc1850-creg-clk driver
    clk: add lpc18xx creg clk driver
    clk: lpc32xx: fix compilation warning
    clk: xgene: Add missing parenthesis when clearing divider value
    clk: mb86s7x: Remove CLK_IS_ROOT
    clk: x86: Remove clkdev.h and clk.h includes
    clk: x86: Remove CLK_IS_ROOT
    clk: mvebu: Remove CLK_IS_ROOT
    clk: renesas: move drivers to renesas directory
    clk: si5{14,351,70}: Remove CLK_IS_ROOT
    clk: scpi: Remove CLK_IS_ROOT
    clk: s2mps11: Remove CLK_IS_ROOT
    ...

    Linus Torvalds
     

16 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 files.

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

    Simon Horman
     

23 Feb, 2016

1 commit

  • Convert DPLL support code to use clk_hw pointers for reference and bypass
    clocks. This allows us to use clk_hw_* APIs for accessing any required
    parameters for these clocks, avoiding some locking problems at least with
    DPLL enable code; this used clk_get_rate which uses mutex but isn't
    good under clk_enable / clk_disable.

    Signed-off-by: Tero Kristo
    Acked-by: Tony Lindgren
    Signed-off-by: Stephen Boyd

    Tero Kristo
     

18 Feb, 2016

1 commit


21 Jan, 2016

2 commits

  • Pull ARM SoC multiplatform code updates from Arnd Bergmann:
    "This branch is the culmination of 5 years of effort to bring the ARMv6
    and ARMv7 platforms together such that they can all be enabled and
    boot the same kernel. It has been a tremendous amount of cleanup and
    refactoring by a huge number of people, and creation of several new
    (and major) subsystems to better abstract out all the platform details
    in an appropriate manner.

    The bulk of this branch is a large patchset from Arnd that brings
    several of the more minor and older platforms we have closer to
    multiplatform support. Among these are MMP, S3C64xx, Orion5x, mv78xx0
    and realview Much of this is moving around header files from old mach
    directories, but there are also some cleanup patches of debug_ll
    (lowlevel debug per-platform options) and other parts.

    Linus Walleij also has some patchs to clean up the older ARM Realview
    platforms by finally introducing DT support, and Rob Herring has some
    for ARM Versatile which is now DT-only. Both of these platforms are
    now multiplatform.

    Finally, a couple of patches from Russell for Dove PMU, and a fix from
    Valentin Rothberg for Exynos ADC, which were rebased on top of the
    series to avoid conflicts"

    * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits)
    ARM: realview: don't select SMP_ON_UP for UP builds
    ARM: s3c: simplify s3c_irqwake_{e,}intallow definition
    ARM: s3c64xx: fix pm-debug compilation
    iio: exynos-adc: fix irqf_oneshot.cocci warnings
    ARM: realview: build realview-dt SMP support only when used
    ARM: realview: select apropriate targets
    ARM: realview: clean up header files
    ARM: realview: make all header files local
    ARM: no longer make CPU targets visible separately
    ARM: integrator: use explicit core module options
    ARM: realview: enable multiplatform
    ARM: make default platform work for NOMMU
    ARM: debug-ll: move DEBUG_LL_UART_EFM32 to correct Kconfig location
    ARM: defconfig: use correct debug_ll settings
    ARM: versatile: convert to multi-platform
    ARM: versatile: merge mach code into a single file
    ARM: versatile: switch to DT only booting and remove legacy code
    ARM: versatile: add DT based PCI detection
    ARM: pxa: mark ezx structures as __maybe_unused
    ARM: pxa: mark raumfeld init functions as __maybe_unused
    ...

    Linus Torvalds
     
  • Pull non-urgent ARM SoC fixes from Olof Johansson:
    "As usual, we queue up a few fixes that don't seem urgent enough to go
    in through -rc.

    - MAINTAINERS updates to add a list for brcmstb and fix a typo
    - A handful of fixes for OMAP 81xx, a recently resurrected platform
    so these can't be considered real regressions and thus got queued.
    - A couple of other small fixes for scoop, sa1100 and davinci"

    * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: OMAP2+: Fix randconfig build warning for dm814_pllss_data
    ARM: sa1100/simpad: Be sure to clamp return value
    ARM: scoop: Be sure to clamp return value
    ARM: davinci: fix a problematic usage of WARN()
    ARM: davinci: only select WT cache if cache is enabled
    ARM: OMAP2+: Remove useless check for legacy booting for dm814x
    ARM: OMAP2+: Enable GPIO for dm814x
    ARM: dts: Fix dm814x pinctrl address and mask
    ARM: dts: Fix dm8148 control modules ranges
    ARM: OMAP2+: Fix timer entries for dm814x
    ARM: dts: Fix some mux and divider clocks to get dm814x-evm booting
    ARM: OMAP2+: Add DPPLS clock manager for dm814x
    clk: ti: Add few dm814x clock aliases
    ARM: dts: Fix dm814x entries for pllss and prcm
    MAINTAINERS: gpio-brcmstb: Remove stray '>'
    MAINTAINERS: brcmstb: Include Broadcom internal mailing-list

    Linus Torvalds
     

10 Dec, 2015

1 commit


02 Dec, 2015

1 commit

  • The mmp clock drivers currently hardcode the physical addresses for
    the clock registers. This is generally a bad idea, and it also gets in
    the way of multiplatform builds, which make the platform header files
    inaccessible to device drivers.

    To work around the header file problem, this patch changes the calling
    convention so the three mmp clock drivers get initialized with the base
    addresses as arguments from the platform code.

    It would still be useful to have a larger rework of the clock drivers,
    with DT integration to let the clocks actually be probed automatically,
    and the base addresses passed as DT properties. I am unsure if anyone
    is still interested in the mmp platform, so it is possible that this
    won't happen.

    Signed-off-by: Arnd Bergmann
    Cc: Mike Turquette
    Cc: Chao Xie
    Cc: Eric Miao
    Cc: Haojian Zhuang

    Arnd Bergmann
     

01 Dec, 2015

1 commit

  • Errata i810 states that DPLL controller can get stuck while transitioning
    to a power saving state, while its M/N ratio is being re-programmed.

    As a workaround, before re-programming the M/N ratio, SW has to ensure
    the DPLL cannot start an idle state transition. SW can disable DPLL
    idling by setting the DPLL AUTO_DPLL_MODE=0 or keeping a clock request
    active by setting a dependent clock domain in SW_WKUP.

    This errata impacts OMAP5 and DRA7 chips, so enable the errata for these.

    Signed-off-by: Tero Kristo
    Signed-off-by: Stephen Boyd

    Tero Kristo
     

02 Oct, 2015

3 commits

  • Add a new type of clocks that can be provided to a peripheral.
    In addition to the peripheral clock, this new clock that can use several
    input clocks as parents can generate divided rates.
    This would allow a peripheral to have finer grained clocks for generating
    a baud rate, clocking an asynchronous part or having more
    options in frequency.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Boris Brezillon
    [sboyd@codeaurora.org: Transition to new clk_hw provider APIs]
    Signed-off-by: Stephen Boyd

    Nicolas Ferre
     
  • Add support for the new sama5d2 SoC and adapt capabilities.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Boris Brezillon
    Signed-off-by: Stephen Boyd

    Nicolas Ferre
     
  • Add _MASK and _OFFSET values and cleanup register fields layout.

    Signed-off-by: Nicolas Ferre
    Signed-off-by: Boris Brezillon
    Signed-off-by: Stephen Boyd

    Nicolas Ferre
     

02 Sep, 2015

2 commits

  • Pull ARM SoC driver updates from Olof Johansson:
    "Some releases this branch is nearly empty, others we have more stuff.
    It tends to gather drivers that need SoC modification or dependencies
    such that they have to (also) go in through our tree.

    For this release, we have merged in part of the reset controller tree
    (with handshake that the parts we have merged in will remain stable),
    as well as dependencies on a few clock branches.

    In general, new items here are:

    - Qualcomm driver for SMM/SMD, which is how they communicate with the
    coprocessors on (some) of their platforms

    - memory controller work for ARM's PL172 memory controller

    - reset drivers for various platforms

    - PMU power domain support for Marvell platforms

    - Tegra support for T132/T210 SoCs: PMC, fuse, memory controller
    per-SoC support"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
    ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze()
    ARM: tegra: Disable cpuidle if PSCI is available
    soc/tegra: pmc: Use existing pclk reference
    soc/tegra: pmc: Remove unnecessary return statement
    soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile
    memory: tegra: Add Tegra210 support
    memory: tegra: Add support for a variable-size client ID bitfield
    clk: shmobile: rz: Add CPG/MSTP Clock Domain support
    clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support
    clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support
    clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support
    clk: shmobile: Add CPG/MSTP Clock Domain support
    ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets
    reset: reset-zynq: Adding support for Xilinx Zynq reset controller.
    docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings.
    MIPS: ath79: Add the reset controller to the AR9132 dtsi
    reset: Add a driver for the reset controller on the AR71XX/AR9XXX
    devicetree: Add bindings for the ATH79 reset controller
    reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property
    doc: dt: add documentation for lpc1850-rgu reset driver
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Olof Johansson:
    "New or improved SoC support:

    - add support for Atmel's SAMA5D2 SoC
    - add support for Freescale i.MX6UL
    - improved support for TI's DM814x platform
    - misc fixes and improvements for RockChip platforms
    - Marvell MVEBU suspend/resume support

    A few driver changes that ideally would belong in the drivers branch
    are also here (acked by appropriate maintainers):

    - power key input driver for Freescale platforms (svns)
    - RTC driver updates for Freescale platforms (svns/mxc)
    - clk fixes for TI DM814/816X

    + a bunch of other changes for various platforms"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: rockchip: pm: Fix PTR_ERR() argument
    ARM: imx: mach-imx6ul: Fix allmodconfig build
    clk: ti: fix for definition movement
    ARM: uniphier: drop v7_invalidate_l1 call at secondary entry
    memory: kill off set_irq_flags usage
    rtc: snvs: select option REGMAP_MMIO
    ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE
    ARM: BCM: Enable ARM erratum 798181 for BRCMSTB
    ARM: OMAP2+: Fix power domain operations regression caused by 81xx
    ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend
    ARM: rockchip: set correct stabilization thresholds in suspend
    ARM: rockchip: rename osc_switch_to_32k variable
    ARM: imx6ul: add fec MAC refrence clock and phy fixup init
    ARM: imx6ul: add fec bits to GPR syscon definition
    rtc: mxc: add support of device tree
    dt-binding: document the binding for mxc rtc
    rtc: mxc: use a second rtc clock
    ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback
    soc: mediatek: Fix SCPSYS compilation
    ARM: at91/soc: add basic support for new sama5d2 SoC
    ...

    Linus Torvalds
     

26 Aug, 2015

1 commit


12 Aug, 2015

1 commit

  • Add Clock Domain support to the Clock Pulse Generator (CPG) Module Stop
    (MSTP) Clocks driver using the generic PM Domain. This allows to
    power-manage the module clocks of SoC devices that are part of the
    CPG/MSTP Clock Domain using Runtime PM, or for system suspend/resume.

    SoC devices that are part of the CPG/MSTP Clock Domain and can be
    power-managed through an MSTP clock should be tagged in DT with a
    proper "power-domains" property.

    The CPG/MSTP Clock Domain code will scan such devices for clocks that
    are suitable for power-managing the device, by looking for a clock that
    is compatible with "renesas,cpg-mstp-clocks".

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Laurent Pinchart
    Acked-by: Stephen Boyd
    Reviewed-by: Ulf Hansson
    Reviewed-by: Kevin Hilman
    Signed-off-by: Simon Horman

    Geert Uytterhoeven
     

29 Jul, 2015

1 commit

  • * cleanup-clk-h-includes: (62 commits)
    clk: Remove clk.h from clk-provider.h
    clk: h8300: Remove clk.h and clkdev.h includes
    clk: at91: Include clk.h and slab.h
    clk: ti: Switch clk-provider.h include to clk.h
    clk: pistachio: Include clk.h
    clk: ingenic: Include clk.h
    clk: si570: Include clk.h
    clk: moxart: Include clk.h
    clk: cdce925: Include clk.h
    clk: Include clk.h in clk.c
    clk: zynq: Include clk.h
    clk: ti: Include clk.h
    clk: sunxi: Include clk.h and remove unused clkdev.h includes
    clk: st: Include clk.h
    clk: qcom: Include clk.h
    clk: highbank: Include clk.h
    clk: bcm: Include clk.h
    clk: versatile: Remove clk.h and clkdev.h includes
    clk: ux500: Remove clk.h and clkdev.h includes
    clk: tegra: Properly include clk.h
    ...

    Stephen Boyd
     

21 Jul, 2015

1 commit

  • Clock provider drivers generally shouldn't include clk.h because
    it's the consumer API. Only include clk.h in files that are using
    it. Also add in a clkdev.h include that was missing in a file
    using clkdev APIs.

    Cc: Peter De Schrijver
    Cc: Thierry Reding
    Signed-off-by: Stephen Boyd

    Stephen Boyd
     

16 Jul, 2015

1 commit

  • Let's add a minimal clocks for dm814x to get it booted. This is
    mostly a placeholder and relies on the PLLs being on from the
    bootloader.

    Note that the divider clocks work the same way as on dm816x and
    am335x.

    Cc: Matthijs van Duin
    Cc: Mike Turquette
    Cc: Paul Walmsley
    Cc: Stephen Boyd
    Cc: Tero Kristo
    Acked-by: Stephen Boyd
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

02 Jun, 2015

13 commits