09 Mar, 2014

1 commit


06 Mar, 2014

1 commit

  • The Z clock frequency change is effective only after setting the kick
    bit located in the FRQCRB register.
    Without that, the CA15 CPUs clock rate will never change.

    Fix that by checking if the kick bit is cleared and enable it to make
    the clock rate change effective. The bit is cleared automatically upon
    completion.

    Signed-off-by: Benoit Cousson
    Acked-by: Laurent Pinchart
    Signed-off-by: Mike Turquette

    Benoit Cousson
     

27 Feb, 2014

2 commits

  • cppcheck detected following error
    [clk-master.c:245]: (error) Memory leak: characteristics

    The original code forgot to free characteristics when
    irq_of_parse_and_map() failed.

    Signed-off-by: Masanari Iida
    Acked-by Boris BREZILLON
    Acked-by: Alexandre Belloni
    Signed-off-by: Mike Turquette

    Masanari Iida
     
  • The Nomadik debugfs screws up multiplatform boots if debugfs
    is enabled on the multiplatform image, since it's a simple
    initcall that is unconditionally executed and reads from certain
    memory locations.

    Fix this by checking that the driver has been properly
    initialized, so a base offset to the Nomadik SRC controller
    exists, before proceeding to register debugfs files.

    Reported-by: Andrew Lunn
    Signed-off-by: Linus Walleij
    Reviewed-by: Andrew Lunn
    Signed-off-by: Mike Turquette

    Linus Walleij
     

25 Feb, 2014

2 commits


21 Feb, 2014

1 commit


20 Feb, 2014

1 commit


19 Feb, 2014

4 commits


17 Feb, 2014

9 commits


11 Feb, 2014

1 commit

  • The clk_init_data struct is allocated in the stack. All members of
    this struct should be initialized before using otherwise it will
    lead to unpredictable situation as it can contain garbage.

    Ultimately the clk->flag field contains garbage. In my case it leads
    that flag CLK_IGNORE_UNUSED is set for most of clocks. As result a
    bunch of unused clocks cannot be disabled.

    So initialize flags in this structure too.

    Cc: Mike Turquette
    Signed-off-by: Ivan Khoronzhuk
    Signed-off-by: Santosh Shilimkar

    Ivan Khoronzhuk
     

07 Feb, 2014

4 commits

  • Init order of CLK_OF_DECLARE'd drivers depends on compile order.
    Unfortunately, clk_of_init does not allow drivers to return errors,
    e.g. -EPROBE_DEFER if parent clocks have not been registered, yet.

    To avoid init order woes for MVEBU clock drivers, we take care of
    proper init order ourselves. This patch joins core-clk and gating-clk
    init to maintain proper init order.

    Signed-off-by: Sebastian Hesselbarth
    Tested-by: Ezequiel Garcia
    Signed-off-by: Jason Cooper

    Sebastian Hesselbarth
     
  • Init order of CLK_OF_DECLARE'd drivers depends on compile order.
    Unfortunately, clk_of_init does not allow drivers to return errors,
    e.g. -EPROBE_DEFER if parent clocks have not been registered, yet.

    To avoid init order woes for MVEBU clock drivers, we take care of
    proper init order ourselves. This patch joins core-clk and gating-clk
    init to maintain proper init order.

    Signed-off-by: Sebastian Hesselbarth
    Tested-by: Ezequiel Garcia
    Signed-off-by: Jason Cooper

    Sebastian Hesselbarth
     
  • Init order of CLK_OF_DECLARE'd drivers depends on compile order.
    Unfortunately, clk_of_init does not allow drivers to return errors,
    e.g. -EPROBE_DEFER if parent clocks have not been registered, yet.

    To avoid init order woes for MVEBU clock drivers, we take care of
    proper init order ourselves. This patch joins core-clk and gating-clk
    init to maintain proper init order.

    Signed-off-by: Sebastian Hesselbarth
    Signed-off-by: Jason Cooper

    Sebastian Hesselbarth
     
  • Init order of CLK_OF_DECLARE'd drivers depends on compile order.
    Unfortunately, clk_of_init does not allow drivers to return errors,
    e.g. -EPROBE_DEFER if parent clocks have not been registered, yet.

    To avoid init order woes for MVEBU clock drivers, we take care of
    proper init order ourselves. This patch joins core-clk and gating-clk
    init to maintain proper init order.

    Signed-off-by: Sebastian Hesselbarth
    Tested-by: Ezequiel Garcia
    Signed-off-by: Jason Cooper

    Sebastian Hesselbarth
     

29 Jan, 2014

1 commit

  • Pull more clock framework changes from Mike Turquette:
    "The second half of the clock framework pull requeust for 3.14 is
    dominated by platform support for Qualcomm's MSM SoCs, DT binding
    updates for TI's OMAP-ish processors and additional support for
    Samsung chips.

    Additionally there are other smaller clock driver changes and several
    last minute fixes. This pull request also includes the HiSilicon
    support that depends on the already-merged arm-soc pull request"

    [ Fix up stupid compile error in the source tree with evil merge - Grumpy Linus ]

    * tag 'clk-for-linus-3.14-part2' of git://git.linaro.org/people/mike.turquette/linux: (49 commits)
    clk: sort Makefile
    clk: sunxi: fix overflow when setting up divided factors
    clk: Export more clk-provider functions
    dt-bindings: qcom: Fix warning with duplicate dt define
    clk: si5351: remove variant from platform_data
    clk: samsung: Remove unneeded semicolon
    clk: qcom: Fix modular build
    ARM: OMAP3: use DT clock init if DT data is available
    ARM: AM33xx: remove old clock data and link in new clock init code
    ARM: AM43xx: Enable clock init
    ARM: OMAP: DRA7: Enable clock init
    ARM: OMAP4: remove old clock data and link in new clock init code
    ARM: OMAP2+: io: use new clock init API
    ARM: OMAP2+: PRM: add support for initializing PRCM clock modules from DT
    ARM: OMAP3: hwmod: initialize clkdm from clkdm_name
    ARM: OMAP: hwmod: fix an incorrect clk type cast with _get_clkdm
    ARM: OMAP2+: clock: use driver API instead of direct memory read/write
    ARM: OMAP2+: clock: add support for indexed memmaps
    ARM: dts: am43xx clock data
    ARM: dts: AM35xx: use DT clock data
    ...

    Linus Torvalds
     

28 Jan, 2014

4 commits


24 Jan, 2014

5 commits

  • Pull clk framework changes from Mike Turquette:
    "The first half of the clk framework pull request is made up almost
    entirely of new platform/driver support. There are some conversions
    of existing drivers to the common-clock Device Tree binding, and a few
    non-critical fixes to the framework.

    Due to an entirely unnecessary cyclical dependency with the arm-soc
    tree this pull request is broken into two pieces. The second piece
    will be sent out after arm-soc sends you the pull request that merged
    in core support for the HiSilicon 3620 platform. That same pull
    request from arm-soc depends on this pull request to merge in those
    HiSilicon bits without causing build failures"

    [ Just did the ARM SoC merges, so getting ready for the second clk tree
    pull request - Linus ]

    * tag 'clk-for-linus-3.14-part1' of git://git.linaro.org/people/mike.turquette/linux: (97 commits)
    devicetree: bindings: Document qcom,mmcc
    devicetree: bindings: Document qcom,gcc
    clk: qcom: Add support for MSM8660's global clock controller (GCC)
    clk: qcom: Add support for MSM8974's multimedia clock controller (MMCC)
    clk: qcom: Add support for MSM8974's global clock controller (GCC)
    clk: qcom: Add support for MSM8960's multimedia clock controller (MMCC)
    clk: qcom: Add support for MSM8960's global clock controller (GCC)
    clk: qcom: Add reset controller support
    clk: qcom: Add support for branches/gate clocks
    clk: qcom: Add support for root clock generators (RCGs)
    clk: qcom: Add support for phase locked loops (PLLs)
    clk: qcom: Add a regmap type clock struct
    clk: Add set_rate_and_parent() op
    reset: Silence warning in reset-controller.h
    clk: sirf: re-arch to make the codes support both prima2 and atlas6
    clk: composite: pass mux_hw into determine_rate
    clk: shmobile: Fix MSTP clock array initialization
    clk: shmobile: Fix MSTP clock index
    ARM: dts: Add clock provider specific properties to max77686 node
    clk: max77686: Register OF clock provider
    ...

    Linus Torvalds
     
  • Pull ARM driver updates from Olof Johansson:
    "Updates of SoC-near drivers and other driver updates that makes more
    sense to take through our tree.

    The largest part of this is a conversion of device registration for
    some renesas shmobile/sh devices over to use resources. This has
    required coordination with the corresponding arch/sh changes, and
    we've agreed to merge the arch/sh changes through our tree.

    Added in this branch is support for Trusted Foundations secure
    firmware, which is what is used on many of the commercial Nvidia Tegra
    products that are in the market, including the Nvidia Shield. The
    code is local to arch/arm at this time since it's uncertain whether it
    will be shared with arm64 longer-term, if needed we will refactor
    later.

    A couple of new RTC drivers used on ARM boards, merged through our
    tree on request by the RTC maintainer.

    ... plus a bunch of smaller updates across the board, gpio conversions
    for davinci, etc"

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
    watchdog: davinci: rename platform driver to davinci-wdt
    tty: serial: Limit msm_serial_hs driver to platforms that use it
    mmc: msm_sdcc: Limit driver to platforms that use it
    usb: phy: msm: Move mach dependent code to platform data
    clk: versatile: fixup IM-PD1 clock implementation
    clk: versatile: pass a name to ICST clock provider
    ARM: integrator: pass parent IRQ to the SIC
    irqchip: versatile FPGA: support cascaded interrupts from DT
    gpio: davinci: don't create irq_domain in case of unbanked irqs
    gpio: davinci: use chained_irq_enter/chained_irq_exit API
    gpio: davinci: add OF support
    gpio: davinci: remove unused variable intc_irq_num
    gpio: davinci: convert to use irqdomain support.
    gpio: introduce GPIO_DAVINCI kconfig option
    gpio: davinci: get rid of DAVINCI_N_GPIO
    gpio: davinci: use {readl|writel}_relaxed() instead of __raw_*
    serial: sh-sci: Add OF support
    serial: sh-sci: Add device tree bindings documentation
    serial: sh-sci: Remove platform data mapbase and irqs fields
    serial: sh-sci: Remove platform data scbrr_algo_id field
    ...

    Linus Torvalds
     
  • Pull ARM SoC DT updates from Olof Johansson:
    "DT and DT-conversion-related changes for various ARM platforms. Most
    of these are to enable various devices on various boards, etc, and not
    necessarily worth enumerating.

    New boards and systems continue to come in as new devicetree files
    that don't require corresponding C changes any more, which is
    indicating that the system is starting to work fairly well.

    A few things worth pointing out:

    * ST Ericsson ux500 platforms have made the major push to move over
    to fully support the platform with DT
    * Renesas platforms continue their conversion over from legacy
    platform devices to DT-based for hardware description"

    * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (327 commits)
    ARM: dts: SiRF: add pin group for USP0 with only RX or TX frame sync
    ARM: dts: SiRF: add lost usp1_uart_nostreamctrl pin group for atlas6
    ARM: dts: sirf: add lost minigpsrtc device node
    ARM: dts: sirf: add clock, frequence-voltage table for CPU0
    ARM: dts: sirf: add lost bus_width, clock and status for sdhci
    ARM: dts: sirf: add lost clocks for cphifbg
    ARM: dts: socfpga: add pl330 clock
    ARM: dts: socfpga: update L2 tag and data latency
    arm: sun7i: cubietruck: Enable the i2c controllers
    ARM: dts: add support for EXYNOS4412 based TINY4412 board
    ARM: dts: Add initial support for Arndale Octa board
    ARM: bcm2835: add USB controller to device tree
    ARM: dts: MSM8974: Add MMIO architected timer node
    ARM: dts: MSM8974: Add restart node
    ARM: dts: sun7i: external clock outputs
    ARM: dts: sun7i: Change 32768 Hz oscillator node name to clk@N style
    ARM: dts: sun7i: Add pin muxing options for clock outputs
    ARM: dts: sun7i: Add rtp controller node
    ARM: dts: sun5i: Add rtp controller node
    ARM: dts: sun4i: Add rtp controller node
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Olof Johansson:
    "This is the branch where we usually queue up cleanup efforts, moving
    drivers out of the architecture directory, header file restructuring,
    etc. Sometimes they tangle with new development so it's hard to keep
    it strictly to cleanups.

    Some of the things included in this branch are:

    * Atmel SAMA5 conversion to common clock
    * Reset framework conversion for tegra platforms
    - Some of this depends on tegra clock driver reworks that are shared
    with Mike Turquette's clk tree.
    * Tegra DMA refactoring, which are shared branches with the DMA tree.
    * Removal of some header files on exynos to prepare for
    multiplatform"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (169 commits)
    ARM: mvebu: move Armada 370/XP specific definitions to armada-370-xp.h
    ARM: mvebu: remove prototypes of non-existing functions from common.h
    ARM: mvebu: move ARMADA_XP_MAX_CPUS to armada-370-xp.h
    serial: sh-sci: Rework baud rate calculation
    serial: sh-sci: Compute overrun_bit without using baud rate algo
    serial: sh-sci: Remove unused GPIO request code
    serial: sh-sci: Move overrun_bit and error_mask fields out of pdata
    serial: sh-sci: Support resources passed through platform resources
    serial: sh-sci: Don't check IRQ in verify port operation
    serial: sh-sci: Set the UPF_FIXED_PORT flag
    serial: sh-sci: Remove duplicate interrupt check in verify port op
    serial: sh-sci: Simplify baud rate calculation algorithms
    serial: sh-sci: Remove baud rate calculation algorithm 5
    serial: sh-sci: Sort headers alphabetically
    ARM: EXYNOS: Kill exynos_pm_late_initcall()
    ARM: EXYNOS: Consolidate selection of PM_GENERIC_DOMAINS for Exynos4
    ARM: at91: switch Calao QIL-A9260 board to DT
    clk: at91: fix pmc_clk_ids data type attriubte
    PM / devfreq: use inclusion instead of
    ARM: EXYNOS: remove for exynos
    ...

    Linus Torvalds
     
  • Pull ARM SoC non-critical fixes from Olof Johansson:
    "As usual, we have a batch of fixes that weren't considered significant
    enough to warrant going into the later -rcs for previous release, so
    they are queued up on this branch.

    A handful of these are for various DT fixups for Samsung platforms,
    and a handful of other minor things.

    There are also a couple of stable-marked patches for mvebu -- they
    came in quite late and we decided to keep them deferred until the
    first -stable release to get more coverage instead of squeezing them
    into 3.13"

    * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
    ARM: at91: smc: bug fix in sam9_smc_cs_read()
    i2c: mv64xxx: Document the newly introduced Armada XP A0 compatible
    i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
    ARM: mvebu: Add quirk for i2c for the OpenBlocks AX3-4 board
    ARM: mvebu: Add support to get the ID and the revision of a SoC
    ARM: dts: msm: Fix gpio interrupt and reg length
    irqchip: sirf: set IRQ_LEVEL status_flags
    ARM: OMAP2+: gpmc: Move legacy GPMC width setting
    ARM: OMAP2+: gpmc: Introduce gpmc_set_legacy()
    ARM: OMAP2+: gpmc: Move initialization outside the gpmc_t condition
    ARM: OMAP2+: board-generic: update SoC compatibility strings
    Documentation: dt: OMAP: explicitly state SoC compatible strings
    ARM: OMAP2+: enable AM33xx SOC EVM audio
    ARM: OMAP2+: Select USB PHY for AM335x SoC
    ARM: bcm2835: Fix grammar in help message
    ARM: msm: trout: fix uninit var warning
    ARM: dts: Use MSHC controller for eMMC memory for exynos4412-trats2
    ARM: dts: Fix definition of MSHC device tree nodes for exynos4x12
    ARM: dts: add clock provider for mshc node for Exynos4412 SOC
    clk: samsung: exynos4: Fix definition of div_mmc_pre4 divider
    ...

    Linus Torvalds
     

20 Jan, 2014

1 commit


18 Jan, 2014

3 commits