30 Sep, 2013

2 commits

  • This patch converts clk-imx2[38] clocksource_of_init compatible init
    associated with fsl,imx2[38]-clkctrl. With arch/arm calling
    of_clk_init(NULL) from time_init(), we can now also remove custom
    .init_time hooks.

    Signed-off-by: Sebastian Hesselbarth
    Acked-by: Mike Turquette
    Acked-by: Shawn Guo

    Sebastian Hesselbarth
     
  • Common clock framework allows to register clock providers to get called
    on of_clk_init() by using CLK_OF_DECLARE. This converts sunxi clock
    providers to make use of it and get rid of the mach specific clk init
    call. As sunxi has a bunch of independent clk provider nodes, we hook
    current clock init to board compatible to make it called once.

    Signed-off-by: Sebastian Hesselbarth
    Acked-by: Maxime Ripard
    Acked-by: Mike Turquette

    Sebastian Hesselbarth
     

04 Jul, 2013

1 commit

  • Pull clock framework updates from Mike Turquette:
    "The common clock framework changes for 3.11 include new clock drivers
    across several different platforms and architectures, fixes to
    existing drivers, a MAINTAINERS file fix and improvements to the basic
    clock types that allow them to be of use to more platforms than before.

    Only a few fixes to the core framework are included with most all of
    the changes landing in the various clock drivers themselves."

    * tag 'clk-for-linus-3.11' of git://git.linaro.org/people/mturquette/linux: (55 commits)
    clk: tegra: fix ifdef for tegra_periph_reset_assert inline
    clk: tegra: provide tegra_periph_reset_assert alternative
    clk: exynos4: Fix clock aliases for cpufreq related clocks
    clk: samsung: Add MUX_FA macro to pass flag and alias
    clk: add support for Rockchip gate clocks
    clk: vexpress: Make the clock drivers directly available for arm64
    clk: vexpress: Use full node name to identify individual clocks
    clk: tegra: T114: add DFLL DVCO reset control
    clk: tegra: T114: add DFLL source clocks
    clk: tegra: T114: add FCPU clock shaper programming, needed by the DFLL
    clk: gate: add CLK_GATE_HIWORD_MASK
    clk: divider: add CLK_DIVIDER_HIWORD_MASK flag
    clk: mux: add CLK_MUX_HIWORD_MASK
    clk: Always notify whole subtree when reparenting
    MAINTAINERS: make drivers/clk entry match subdirs
    clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate
    clk: use clk_get_rate() for debugfs
    clk: tegra: Use override bits when needed
    clk: tegra: override bits for Tegra30 PLLM
    clk: tegra: override bits for Tegra114 PLLM
    ...

    Linus Torvalds
     

25 Jun, 2013

1 commit

  • Commit 7064f6b "clk: tegra: provide tegra_periph_reset_assert
    alternative" added ifdef'd static inline versions of some functions,
    but tested ARCH_TEGRA rather than CONFIG_ARCH_TEGRA, thus disabling
    these function in all cases. In some cases, this caused HW modules to
    misbehave; for example, the Tegra I2C driver BUG()d during boot on
    Seaboard.

    Reported-by: Olof Johansson
    Signed-off-by: Stephen Warren
    Tested-by: Paul Walmsley
    Signed-off-by: Mike Turquette

    Stephen Warren
     

23 Jun, 2013

1 commit

  • We have some tegra device drivers that are written to be platform
    independent but still use the tegra specific tegra_periph_reset_assert
    function. In order to build and link them without errors,
    this provides a static inline version of these functions that
    does nothing when Tegra support is disabled.

    Signed-off-by: Arnd Bergmann
    Acked-by: Stephen Warren
    Signed-off-by: Mike Turquette
    [mturquette@linaro.org: fixed up trivial merge issue]

    Arnd Bergmann
     

08 Jun, 2013

1 commit

  • From Michal Simek:
    arm: Xilinx Zynq clock changes for v3.11

    Change Xilinx Zynq DT clock description which reflects logical abstraction
    of Zynq's clock tree.

    - Refactor PLL driver
    - Use new clock controller driver
    - Change timer and uart drivers

    * tag 'zynq-clk-for-3.11' of git://git.xilinx.com/linux-xlnx:
    clk: zynq: Remove deprecated clock code
    arm: zynq: Migrate platform to clock controller
    clk: zynq: Add clock controller driver
    clk: zynq: Factor out PLL driver

    Signed-off-by: Olof Johansson

    Olof Johansson
     

01 Jun, 2013

1 commit


30 May, 2013

1 commit


27 May, 2013

1 commit


05 May, 2013

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     

11 Apr, 2013

1 commit

  • Bringin in clk subsystem dependencies needed by sunxi.

    * depends/clk-for-3.10: (26 commits)
    clk: sunxi: drop an unnecesary kmalloc
    clk: sunxi: drop CLK_IGNORE_UNUSED
    clk: sunxi: Add support for AXI, AHB, APB0 and APB1 gates
    clk: divider: Introduce CLK_DIVIDER_ALLOW_ZERO flag
    clk: mvebu: Use common of_clk_init() function
    clk: fix clk_mux::flags kerneldoc
    clk: allow reentrant calls into the clk framework
    clk: abstract locking out into helper functions
    clk: zynq: Add missing zynq clk header
    clk: sunxi: rename compatible strings
    arm: sunxi: Add useful information about sunxi clocks
    clk: arm: sunxi: Add a new clock driver for sunxi SOCs
    clk: ux500: Fix prcmu clocks registration
    ARM: imx: adapt clk_busy_mux to new clk_mux struct
    clk: Add composite clock type
    clk: add table lookup to mux
    clk: Fix incorrect return type in clk.c
    clk: prima2: fix return value check in sirfsoc_of_clk_init()
    clk:SPEAr1340: Correct parent clock configuration
    documentation: clk: fix couple of misspelling
    ...

    Olof Johansson
     

05 Apr, 2013

1 commit

  • The Tegra clock driver is initialized during the ARM machine descriptor's
    .init_irq() hook. It can't be initialized earlier, since dynamic memory
    usage is required. It can't be initialized later, since the .init_timer()
    hook needs the clocks initialized. However, at this time, udelay()
    doesn't work.

    The Tegra clock initialization table may enable some PLLs. Enabling a PLL
    may require usage of udelay(). Hence, this can't happen right when the
    clock driver is initialized.

    To solve this, separate the clock driver initialization from the clock
    table processing, so they can execute at separate times.

    Signed-off-by: Stephen Warren

    Stephen Warren
     

01 Apr, 2013

1 commit

  • All three remaining functions declared in common.h are implemented by
    clock driver. Create header include/linux/clk/mxs.h to contain them
    and remove common.h.

    Signed-off-by: Shawn Guo

    Shawn Guo
     

27 Mar, 2013

1 commit

  • This commit implements the base CPU clocks for sunxi devices. It has
    been tested using a slightly modified cpufreq driver from the
    linux-sunxi 3.0 tree.

    Additionally, document the new bindings introduced by this patch.

    Idling:
    / # cat /sys/kernel/debug/clk/clk_summary
    clock enable_cnt prepare_cnt rate
    ---------------------------------------------------------------------
    osc32k 0 0 32768
    osc24M_fixed 0 0 24000000
    osc24M 0 0 24000000
    apb1_mux 0 0 24000000
    apb1 0 0 24000000
    pll1 0 0 60000000
    cpu 0 0 60000000
    axi 0 0 60000000
    ahb 0 0 60000000
    apb0 0 0 30000000
    dummy 0 0 0

    After "yes >/dev/null &":
    / # cat /sys/kernel/debug/clk/clk_summary
    clock enable_cnt prepare_cnt rate
    ---------------------------------------------------------------------
    osc32k 0 0 32768
    osc24M_fixed 0 0 24000000
    osc24M 0 0 24000000
    apb1_mux 0 0 24000000
    apb1 0 0 24000000
    pll1 0 0 1008000000
    cpu 0 0 1008000000
    axi 0 0 336000000
    ahb 0 0 168000000
    apb0 0 0 84000000
    dummy 0 0 0

    Signed-off-by: Emilio López
    Acked-by: Maxime Ripard
    Signed-off-by: Mike Turquette

    Emilio López
     

22 Feb, 2013

1 commit

  • Pull ARM SoC-specific updates from Arnd Bergmann:
    "This is a larger set of new functionality for the existing SoC
    families, including:

    - vt8500 gains support for new CPU cores, notably the Cortex-A9 based
    wm8850

    - prima2 gains support for the "marco" SoC family, its SMP based
    cousin

    - tegra gains support for the new Tegra4 (Tegra114) family

    - socfpga now supports a newer version of the hardware including SMP

    - i.mx31 and bcm2835 are now using DT probing for their clocks

    - lots of updates for sh-mobile

    - OMAP updates for clocks, power management and USB

    - i.mx6q and tegra now support cpuidle

    - kirkwood now supports PCIe hot plugging

    - tegra clock support is updated

    - tegra USB PHY probing gets implemented diffently"

    * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (148 commits)
    ARM: prima2: remove duplicate v7_invalidate_l1
    ARM: shmobile: r8a7779: Correct TMU clock support again
    ARM: prima2: fix __init section for cpu hotplug
    ARM: OMAP: Consolidate OMAP USB-HS platform data (part 3/3)
    ARM: OMAP: Consolidate OMAP USB-HS platform data (part 1/3)
    arm: socfpga: Add SMP support for actual socfpga harware
    arm: Add v7_invalidate_l1 to cache-v7.S
    arm: socfpga: Add entries to enable make dtbs socfpga
    arm: socfpga: Add new device tree source for actual socfpga HW
    ARM: tegra: sort Kconfig selects for Tegra114
    ARM: tegra: enable ARCH_REQUIRE_GPIOLIB for Tegra114
    ARM: tegra: Fix build error w/ ARCH_TEGRA_114_SOC w/o ARCH_TEGRA_3x_SOC
    ARM: tegra: Fix build error for gic update
    ARM: tegra: remove empty tegra_smp_init_cpus()
    ARM: shmobile: Register ARM architected timer
    ARM: MARCO: fix the build issue due to gic-vic-to-irqchip move
    ARM: shmobile: r8a7779: Correct TMU clock support
    ARM: mxs_defconfig: Select CONFIG_DEVTMPFS_MOUNT
    ARM: mxs: decrease mxs_clockevent_device.min_delta_ns to 2 clock cycles
    ARM: mxs: use apbx bus clock to drive the timers on timrotv2
    ...

    Linus Torvalds
     

29 Jan, 2013

3 commits


25 Jan, 2013

1 commit


15 Dec, 2012

1 commit

  • Pull ARM SoC updates for Marvell mvebu/kirkwood from Olof Johansson:
    "This is a branch with updates for Marvell's mvebu/kirkwood platforms.
    They came in late-ish, and were heavily interdependent such that it
    didn't make sense to split them up across the cross-platform topic
    branches. So here they are (for the second release in a row) in a
    branch on their own."

    * tag 'mvebu' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (88 commits)
    arm: l2x0: add aurora related properties to OF binding
    arm: mvebu: add Aurora L2 Cache Controller to the DT
    arm: mvebu: add L2 cache support
    dma: mv_xor: fix error handling path
    dma: mv_xor: fix error checking of irq_of_parse_and_map()
    dma: mv_xor: use request_irq() instead of devm_request_irq()
    dma: mv_xor: clear the window override control registers
    arm: mvebu: fix address decoding armada_cfg_base() function
    ARM: mvebu: update defconfig with I2C and RTC support
    ARM: mvebu: Add SATA support for OpenBlocks AX3-4
    ARM: mvebu: Add support for the RTC in OpenBlocks AX3-4
    ARM: mvebu: Add support for I2C on OpenBlocks AX3-4
    ARM: mvebu: Add support for I2C controllers in Armada 370/XP
    arm: mvebu: Add hardware I/O Coherency support
    arm: plat-orion: Add coherency attribute when setup mbus target
    arm: dma mapping: Export a dma ops function arm_dma_set_mask
    arm: mvebu: Add SMP support for Armada XP
    arm: mm: Add support for PJ4B cpu and init routines
    arm: mvebu: Add IPI support via doorbells
    arm: mvebu: Add initial support for power managmement service unit
    ...

    Linus Torvalds
     

14 Dec, 2012

1 commit

  • Pull ARM SoC device tree conversions and enablement from Olof Johansson:
    "Continued device tree conversion and enablement across a number of
    platforms; Kirkwood, tegra, i.MX, Exynos, zynq and a couple of other
    smaller series as well.

    ux500 has seen continued conversion for platforms. Several platforms
    have seen pinctrl-via-devicetree conversions for simpler
    multiplatform. Tegra is adding data for new devices/drivers, and
    Exynos has a bunch of new bindings and devices added as well.

    So, pretty much the same progression in the right direction as the
    last few releases."

    Fix up conflicts as per Olof.

    * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (185 commits)
    ARM: ux500: Rename dbx500 cpufreq code to be more generic
    ARM: dts: add missing ux500 device trees
    ARM: ux500: Stop registering the PCM driver from platform code
    ARM: ux500: Move board specific GPIO info out to subordinate DTS files
    ARM: ux500: Disable the MMCI gpio-regulator by default
    ARM: Kirkwood: remove kirkwood_ehci_init() from new boards
    ARM: Kirkwood: Add support LED of OpenBlocks A6
    ARM: Kirkwood: Convert to EHCI via DT for OpenBlocks A6
    ARM: kirkwood: Add NAND partiton map for OpenBlocks A6
    ARM: kirkwood: Add support second I2C bus and RTC on OpenBlocks A6
    ARM: kirkwood: Add support DT of second I2C bus
    ARM: kirkwood: Convert mplcec4 board to pinctrl
    ARM: Kirkwood: Convert km_kirkwood to pinctrl
    ARM: Kirkwood: support 98DX412x kirkwoods with pinctrl
    ARM: Kirkwood: Convert IX2-200 to pinctrl.
    ARM: Kirkwood: Convert lsxl boards to pinctrl.
    ARM: Kirkwood: Convert ib62x0 to pinctrl.
    ARM: Kirkwood: Convert GoFlex Net to pinctrl.
    ARM: Kirkwood: Convert dreamplug to pinctrl.
    ARM: Kirkwood: Convert dockstar to pinctrl.
    ...

    Linus Torvalds
     

20 Nov, 2012

1 commit

  • This driver allows to provide DT clocks for core clocks found on
    Marvell Kirkwood, Dove & 370/XP SoCs. The core clock frequencies and
    ratios are determined by decoding the Sample-At-Reset registers.

    Although technically correct, using a divider of 0 will lead to
    div_by_zero panic. Let's use a ratio of 0/1 instead to fail later
    with a zero clock.

    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Sebastian Hesselbarth
    Signed-off-by: Andrew Lunn
    Tested-by Gregory CLEMENT

    Sebastian Hesselbarth
     

17 Nov, 2012

1 commit


14 Nov, 2012

1 commit

  • Provide simplified models for the necessary clocks on the zynq-7000
    platform. Currently, the PLLs, the CPU clock network, and the basic
    peripheral clock networks (for SDIO, SMC, SPI, QSPI, UART) are modelled.

    OF bindings are also provided and documented.

    Signed-off-by: Josh Cartwright
    Signed-off-by: Soren Brinkmann
    Acked-by: Mike Turquette
    Acked-by: Michal Simek

    Josh Cartwright
     

20 Sep, 2012

1 commit

  • This patch adds a minimal stub clock driver for the BCM2835. Its sole
    purpose is to allow the PL011 AMBA clk_get() API calls to provide
    something that looks enough like a clock that the driver probes and
    operates correctly.

    This patch was extracted from git://github.com/lp0/linux.git branch
    rpi-split as of 2012/09/08, and modified as follows:

    * Reworked to call clk_register_fixed_rate(), and clk_register_clkdev()
    rather than using static data to represent the clocks.
    * Moved implementation to drivers/clk/.
    * Modified .dev_id for UART clocks to match UART DT node names.
    * s/bcm2708/bcm2835/.
    * Modified device tree vendor prefix.

    Signed-off-by: Chris Boot
    Signed-off-by: Simon Arlott
    Signed-off-by: Dom Cobley
    Signed-off-by: Dom Cobley
    Signed-off-by: Stephen Warren
    Acked-by: Mike Turquette

    Simon Arlott