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

18 commits


23 Apr, 2015

2 commits

  • Pull ARM SoC late changes from Olof Johansson:
    "We were expecting to sit on this branch through most of the merge
    window since the contents was merged into our tree late, but we ended
    up sitting on all of our contents so it can go in with the rest.

    The contents here is:

    - a large branch of cleanups of the CM/PRM blocks on OMAP.

    - a couple of patches plumbing up CM/PRM on OMAP5 and DRA7.

    - a branch with DT updates for Freescale i.MX. including some
    shuffling from .dts to .dtsi (include) files that causes a little
    churn"

    * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (78 commits)
    ARM: OMAP2+: Fix booting with configs that don't have MFD_SYSCON
    ARM: OMAP4+: control: add support for initializing control module via DT
    ARM: dts: dra7: add minimal l4 bus layout with control module support
    ARM: dts: omap5: add minimal l4 bus layout with control module support
    ARM: OMAP4+: control: remove support for legacy pad read/write
    ARM: OMAP4: display: convert display to use syscon for dsi muxing
    ARM: dts: omap4: add minimal l4 bus layout with control module support
    ARM: dts: am4372: add minimal l4 bus layout with control module support
    ARM: dts: am43xx-epos-evm: fix pinmux node layout
    ARM: dts: am33xx: add minimal l4 bus layout with control module support
    ARM: dts: omap3: add minimal l4 bus layout with control module support
    ARM: dts: omap24xx: add minimal l4 bus layout with control module support
    ARM: OMAP2+: control: add syscon support for register accesses
    ARM: OMAP2+: id: cache omap_type value
    ARM: OMAP2+: control: remove API for getting control module base address
    ARM: OMAP2+: clock: add low-level support for regmap
    ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init
    ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags
    ARM: OMAP2+: CM: move SoC specific init calls within a generic API
    ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility
    ...

    Linus Torvalds
     
  • Pull ARM SoC multiplatform code changes from Olof Johansson:
    "The changes here belong to two main platforms:

    - Atmel At91 is flipping the bit and going multiplatform. This
    includes some cleanups and removal of code, and the final flip of
    config dependencies

    - Shmobile has several platforms that are going multiplatform, but
    this branch also contains a bunch of cleanups that they weren't
    able to keep separate in a good way. THere's also a removal of one
    of their SoCs and the corresponding boards (sh7372 and mackerel)"

    * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits)
    ARM: at91/pm: move AT91_MEMCTRL_* to pm.h
    ARM: at91/pm: move the standby functions to pm.c
    ARM: at91: fix pm_suspend.S compilation when ARMv6 is selected
    ARM: at91: add a Kconfig dependency on multi-platform
    ARM: at91: drop AT91_TIMER_HZ
    ARM: at91: remove hardware.h
    ARM: at91: remove SoC headers
    ARM: at91: remove useless mach/cpu.h
    ARM: at91: remove unused headers
    ARM: at91: switch at91_dt_defconfig to multiplatform
    ARM: at91: switch to multiplatform
    ARM: shmobile: r8a7778: enable multiplatform target
    ARM: shmobile: bockw: add sound to DT
    ARM: shmobile: r8a7778: add sound to DT
    ARM: shmobile: bockw: add devices hooked up to i2c0 to DT
    DT: i2c: add trivial binding for OKI ML86V7667 video decoder
    ARM: shmobile: r8a7778: common clock framework CPG driver
    ARM: shmobile: bockw dts: set extal clock frequency
    ARM: shmobile: bockw dts: Move Ethernet node to BSC
    ARM: shmobile: r8a73a4: Remove legacy code
    ...

    Linus Torvalds
     

12 Apr, 2015

1 commit

  • Change to using endian agnostic _relaxed IO accessors instead of __raw

    Signed-off-by: Ben Dooks
    --
    CC: Andrew Victor
    CC: Nicolas Ferre
    CC: Jean-Christophe Plagniol-Villard
    CC: Mike Turquette (maintainer:COMMON CLK FRAMEWORK)
    CC: Stephen Boyd (maintainer:COMMON CLK FRAMEWORK)
    CC: linux-kernel@vger.kernel.org (open list:COMMON CLK FRAMEWORK)
    Signed-off-by: Michael Turquette

    Ben Dooks
     

27 Mar, 2015

1 commit


25 Mar, 2015

1 commit


27 Feb, 2015

1 commit


04 Feb, 2015

1 commit

  • The 'ARM: OMAP3: legacy clock data move under clk driver' patch series
    causes build errors when CONFIG_OMAP3 is not set:

    drivers/clk/ti/dpll.c: In function 'ti_clk_register_dpll':
    drivers/clk/ti/dpll.c:199:31: error: 'omap3_dpll_ck_ops' undeclared (first use in this function)
    const struct clk_ops *ops = &omap3_dpll_ck_ops;
    ^
    drivers/clk/ti/dpll.c:199:31: note: each undeclared identifier is reported only once for each function it appears in
    drivers/clk/ti/dpll.c:259:10: error: 'omap3_dpll_per_ck_ops' undeclared (first use in this function)
    ops = &omap3_dpll_per_ck_ops;
    ^

    drivers/built-in.o: In function `ti_clk_register_gate':
    drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_omap3430es2_dss_usbhost_wait'
    drivers/clk/ti/gate.c:179: undefined reference to `clkhwops_am35xx_ipss_module_wait'
    -in.o: In function `ti_clk_register_interface':
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_hsotgusb_wait'
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_dss_usbhost_wait'
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_omap3430es2_iclk_ssi_wait'
    drivers/clk/ti/interface.c:100: undefined reference to `clkhwops_am35xx_ipss_wait'
    drivers/built-in.o: In function `ti_clk_register_composite':
    :(.text+0x3da768): undefined reference to `ti_clk_build_component_gate'

    In order to fix that problem, this patch makes the omap3 legacy code
    compiled only when both CONFIG_OMAP3 and CONFIG_ATAGS are set.

    Signed-off-by: Arnd Bergmann
    Acked-by: Tony Lindgren
    Signed-off-by: Michael Turquette

    Arnd Bergmann
     

03 Feb, 2015

3 commits


02 Feb, 2015

1 commit

  • tegra_clocks_apply_init_table() needs to be called after the udelay
    loop has been calibrated (see commit
    441f199a37cfd66c5dd8dd45490bd3ea6971117d ("clk: tegra: defer
    application of init table") for why that is). On existing Tegra SoCs
    this was done by calling tegra_clocks_apply_init_table() from
    tegra_dt_init(). To make this also work on ARM64, we need to change
    this into an initcall. tegra_dt_init() is called from
    customize_machine which is an arch_initcall. Therefore this should
    also work on existing 32bit Tegra SoCs.

    Tested on Tegra20 (ventana), Tegra30 (beaverboard), Tegra124 (jetson TK1) and
    Tegra132.

    Signed-off-by: Peter De Schrijver
    [paul@pwsan.com: tweaked the commit message]
    Signed-off-by: Paul Walmsley
    Signed-off-by: Paul Walmsley
    Cc: Thierry Reding
    Cc: Prashant Gaikwad
    Cc: Mike Turquette
    Cc: Stephen Boyd
    Cc: Stephen Warren
    Cc: Thierry Reding
    Cc: Alexandre Courbot

    Peter De Schrijver
     

31 Jan, 2015

1 commit

  • Introduces omap3 legacy clock data under clock driver. The clock data
    is also in new format, which makes it possible to get rid of the
    clk-private.h header. This patch also introduces SoC specific init
    functions that shall be called from the low level init.

    The data format used in this file has two possible evolution paths;
    it can either be removed completely once no longer needed, or it will
    be possible to retain the format and modify the TI clock driver to be
    a loadable module at some point. The actual path to be followed
    will be decided later.

    Signed-off-by: Tero Kristo
    Acked-by: Tony Lindgren
    Signed-off-by: Michael Turquette

    Tero Kristo