08 Apr, 2014

1 commit

  • Pull MFD updates from Lee Jones:
    "Changes to existing drivers:
    - Use of managed resources - omap, twl4030, ti_am335x_tscadc
    - Advanced error handling - omap
    - Rework clk management - omap
    - Device Tree (re-)work - tc3589x, pm8921, da9055, sec
    - IRC management overhaul and !BROKEN - pm8921
    - Convert to regmap - ssbi, pm8921
    - Use simple power-management ops - ucb1x00
    - Include file clean-up - adp5520, cs5535, janz, lpc_ich,
    - lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583,
    rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc,
    tps65912, vexpress-config, wm8350, ywm8350
    - Various bug fixes across the subsystem
    - NULL/invalid pointer dereference prevention
    - Resource leak mitigation,
    - Variable used initialised
    - Staticise various containers
    - Enforce return value checks

    New drivers/supported devices:
    - Add support for s2mps14 and s2mpa01 to sec
    - Add support for da9063 (v5) to da9063
    - Add support for atom-c2000 to gpio-ich
    - Add support for come-{mbt10,cbt6,chl6} to kempld
    - Add support for da9053 to da9052
    - Add support for itco-wdt (v3) and baytrail to lpc_ich
    - Add new drivers for tps65218, rtsx_usb, bcm590xx

    (Re-)moved drivers:
    - twl4030 ==> drivers/iio
    - ti-ssp ==> /dev/null"

    * tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits)
    mfd: wm5110: Correct default for HEADPHONE_DETECT_1
    mfd: arizona: Correct small errors in the DT binding documentation
    mfd: arizona: Mark DSP clocking register as volatile
    mfd: devicetree: bindings: Add pm8xxx RTC description
    mfd: kempld-core: Fix potential hang-up during boot
    mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01
    mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
    mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail
    mfd: sec-core: Fix I2C dummy device resource leak on probe failure
    mfd: sec-core: Add of_compatible strings for clock MFD cells
    mfd: Remove obsolete ti-ssp driver
    Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
    mfd: bcm590xx: Fix type argument for module device table
    mfd: lpc_ich: Add support for Intel Bay Trail SoC
    mfd: lpc_ich: Add support for NM10 GPIO
    mfd: lpc_ich: Change Avoton to iTCO v3
    watchdog: iTCO_wdt: Add support for v3 silicon
    mfd: lpc_ich: Add support for iTCO v3
    mfd: lpc_ich: Remove lpc_ich_cfg struct use
    mfd: lpc_ich: Only configure watchdog or GPIO when present
    ...

    Linus Torvalds
     

06 Apr, 2014

4 commits

  • Pull clock framework changes from Mike Turquette:
    "The clock framework changes for 3.15 look similar to past pull
    requests. Mostly clock driver updates, more Device Tree support in
    the form of common functions useful across platforms and a handful of
    features and fixes to the framework core"

    * tag 'clk-for-linus-3.15' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
    clk: shmobile: fix setting paretn clock rate
    clk: shmobile: rcar-gen2: fix lb/sd0/sd1/sdh clock parent to pll1
    clk: Fix minor errors in of_clk_init() function comments
    clk: reverse default clk provider initialization order in of_clk_init()
    clk: sirf: update copyright years to 2014
    clk: mmp: try to use closer one when do round rate
    clk: mmp: fix the wrong calculation formula
    clk: mmp: fix wrong mask when calculate denominator
    clk: st: Adds quadfs clock binding
    clk: st: Adds clockgen-vcc and clockgen-mux clock binding
    clk: st: Adds clockgen clock binding
    clk: st: Adds divmux and prediv clock binding
    clk: st: Support for A9 MUX clocks
    clk: st: Support for ClockGenA9/DDR/GPU
    clk: st: Support for QUADFS inside ClockGenB/C/D/E/F
    clk: st: Support for VCC-mux and MUX clocks
    clk: st: Support for PLLs inside ClockGenA(s)
    clk: st: Support for DIVMUX and PreDiv Clocks
    clk: support hardware-specific debugfs entries
    clk: s2mps11: Use of_get_child_by_name
    ...

    Linus Torvalds
     
  • Pull ARM SoC late cleanups from Arnd Bergmann:
    "These could not be part of the first cleanup branch, because they
    either came too late in the cycle, or they have dependencies on other
    branches. Important changes are:

    - The integrator platform is almost multiplatform capable after some
    reorganization (Linus Walleij)
    - Minor cleanups on Zynq (Michal Simek)
    - Lots of changes for Exynos and other Samsung platforms, including
    further preparations for multiplatform support and the clocks
    bindings are rearranged"

    * tag 'tags/cleanup2-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    devicetree: fix newly added exynos sata bindings
    ARM: EXYNOS: Fix compilation error in cpuidle.c
    ARM: S5P64X0: Explicitly include linux/serial_s3c.h in mach/pm-core.h
    ARM: EXYNOS: Remove hardware.h file
    ARM: SAMSUNG: Remove hardware.h inclusion
    ARM: S3C24XX: Remove invalid code from hardware.h
    dt-bindings: clock: Move exynos-audss-clk.h to dt-bindings/clock
    ARM: dts: Keep some essential LDOs enabled for arndale-octa board
    ARM: dts: Disable MDMA1 node for arndale-octa board
    ARM: S3C64XX: Fix build for implicit serial_s3c.h inclusion
    serial: s3c: Fix build of header without serial_core.h preinclusion
    ARM: EXYNOS: Allow wake-up using GIC interrupts
    ARM: EXYNOS: Stop using legacy Samsung PM code
    ARM: EXYNOS: Remove PM initcalls and useless indirection
    ARM: EXYNOS: Fix abuse of CONFIG_PM
    ARM: SAMSUNG: Move s3c_pm_check_* prototypes to plat/pm-common.h
    ARM: SAMSUNG: Move common save/restore helpers to separate file
    ARM: SAMSUNG: Move Samsung PM debug code into separate file
    ARM: SAMSUNG: Consolidate PM debug functions
    ARM: SAMSUNG: Use debug_ll_addr() to get UART base address
    ...

    Linus Torvalds
     
  • Pull ARM SoC driver changes from Arnd Bergmann:
    "These changes are mostly for ARM specific device drivers that either
    don't have an upstream maintainer, or that had the maintainer ask us
    to pick up the changes to avoid conflicts.

    A large chunk of this are clock drivers (bcm281xx, exynos, versatile,
    shmobile), aside from that, reset controllers for STi as well as a
    large rework of the Marvell Orion/EBU watchdog driver are notable"

    * tag 'drivers-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (99 commits)
    Revert "dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac."
    Revert "net: stmmac: Add SOCFPGA glue driver"
    ARM: shmobile: r8a7791: Fix SCIFA3-5 clocks
    ARM: STi: Add reset controller support to mach-sti Kconfig
    drivers: reset: stih416: add softreset controller
    drivers: reset: stih415: add softreset controller
    drivers: reset: Reset controller driver for STiH416
    drivers: reset: Reset controller driver for STiH415
    drivers: reset: STi SoC system configuration reset controller support
    dts: socfpga: Add sysmgr node so the gmac can use to reference
    dts: socfpga: Add support for SD/MMC on the SOCFPGA platform
    reset: Add optional resets and stubs
    ARM: shmobile: r7s72100: fix bus clock calculation
    Power: Reset: Generalize qnap-poweroff to work on Synology devices.
    dts: socfpga: Update clock entry to support multiple parents
    ARM: socfpga: Update socfpga_defconfig
    dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.
    net: stmmac: Add SOCFPGA glue driver
    watchdog: orion_wdt: Use %pa to print 'phys_addr_t'
    drivers: cci: Export CCI PMU revision
    ...

    Linus Torvalds
     
  • Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
    "Lots of isolated bug fixes that were not found to be important enough
    to be submitted before the merge window or backported into stable
    kernels.

    The vast majority of these came out of Arnd's randconfig testing and
    just prevents running into build-time bugs in configurations that we
    do not care about in practice"

    * tag 'fixes-non-critical-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits)
    ARM: at91: fix a typo
    ARM: moxart: fix CPU selection
    ARM: tegra: fix board DT pinmux setup
    ARM: nspire: Fix compiler warning
    IXP4xx: Fix DMA masks.
    Revert "ARM: ixp4xx: Make dma_set_coherent_mask common, correct implementation"
    IXP4xx: Fix Goramo Multilink GPIO conversion.
    Revert "ARM: ixp4xx: fix gpio rework"
    ARM: tegra: make debug_ll code build for ARMv6
    ARM: sunxi: fix build for THUMB2_KERNEL
    ARM: exynos: add missing include of linux/module.h
    ARM: exynos: fix l2x0 saved regs handling
    ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK
    ARM: samsung: select ATAGS where necessary
    ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic
    ARM: samsung: allow serial driver to be disabled
    ARM: s5pv210: enable IDE support in MACH_TORBRECK
    ARM: s5p64x0: fix building with only one soc type
    ARM: s3c64xx: select power domains only when used
    ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1
    ...

    Linus Torvalds
     

03 Apr, 2014

1 commit

  • If the driver needs to change a clock rate, then it must be propogated
    through the MSTP clock to the parent clock (such as shdi0 -> sd0). Without
    this we cannot up-rate default clocks which are really slow (such as the
    mmcif1 which defaults to 12MHz where it could be running at 97MHz)

    Signed-off-by: Ben Dooks
    Acked-by: Laurent Pinchart
    Signed-off-by: Mike Turquette

    Ben Dooks
     

01 Apr, 2014

1 commit

  • The clock generator for rcar-gen2 has the lb, sdh, sd0 and sd1 clocks
    parented to pll1_div2 where the hardware diagram shows these to be
    directly fed from pll1.

    This fixes the initial rate for sdh0 clock to be 97.5MHz instead of
    the reported 48MHz where the manual says the default register values
    are for 97.5MHz.

    Signed-off-by: Ben Dooks
    Acked-by: Laurent Pinchart
    Signed-off-by: Mike Turquette

    Ben Dooks
     

29 Mar, 2014

3 commits

  • …e/linux-samsung into next/cleanup3

    Merge "Exynos cleanup for v3.15" from Kukjin Kim:

    - reorganize code for
    - add support reserve memory for mfc-v7
    - consolidate exynos4 and exynos5 machine codes
    - add generic compatible strings for exynos4 and exynos5
    - update DT with generic compatible strings
    - move clk related dt-binding header file in dt-bindings/clock

    * tag 'exynos-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    dt-bindings: clock: Move exynos-audss-clk.h to dt-bindings/clock
    ARM: dts: Update Exynos DT files with generic compatible strings
    ARM: EXYNOS: Add generic compatible strings
    ARM: EXYNOS: Consolidate exynos4 and exynos5 machine files
    ARM: EXYNOS: Consolidate CPU init code
    ARM: SAMSUNG: Introduce generic Exynos4 and 5 helpers
    ARM: EXYNOS: Add support to reserve memory for MFC-v7
    ARM: SAMSUNG: Reorganize calls to reserve memory for MFC

    Conflicts:
    arch/arm/mach-exynos/exynos.c

    Signed-off-by; Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • These are dependencies for the following Samsung branches

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • …/linux-samsung into next/drivers

    Merge "Samsung S2R PM updates for v3.15" from Kukjin Kim:

    From Tomasz Figa:
    This series reworks suspend/resume handling of Samsung clock drivers
    to cover more SoC specific aspects that are beyond simple register
    save and restore. The goal is to have all the suspend/resume code
    that touches the clock controller in single place, which is the clock
    driver.

    * tag 'samsung-pm-1' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: Drop legacy Exynos4 clock suspend/resume code
    clk: samsung: exynos4: Add remaining suspend/resume handling
    clk: samsung: Drop old suspend/resume code
    clk: samsung: s3c64xx: Move suspend/resume handling to SoC driver
    clk: samsung: exynos5420: Move suspend/resume handling to SoC driver
    clk: samsung: exynos5250: Move suspend/resume handling to SoC driver
    clk: samsung: exynos4: Move suspend/resume handling to SoC driver
    clk: samsung: Provide common helpers for register save/restore
    clk: exynos4: Remove remnants of non-DT support

    Acked-by: Mike Turquette <mturquette@linaro.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

28 Mar, 2014

2 commits


27 Mar, 2014

5 commits

  • Signed-off-by: Barry Song
    Signed-off-by: Mike Turquette

    Barry Song
     
  • The orignal code will use the bigger rate between
    "previous rate" and "current rate" when caculate the
    rate.
    In fact, hardware cares about the closest one.
    So choose the closer rate between "previous rate" and
    "current rate".

    Signed-off-by: Chao Xie
    Signed-off-by: Mike Turquette

    Chao Xie
     
  • The formula is numerator/denominator = Fin / (Fout * factor)
    So
    Fout = Fin * denominator / (numerator * factor).
    Current clk_factor_round_rate and clk_factor_recalc_rate use
    wrong formula. This patch will fix them.

    Signed-off-by: Chao Xie
    Signed-off-by: Mike Turquette

    Chao Xie
     
  • The code has typo when calculate denominator. It should use
    den_mask instead of num_mask.

    Signed-off-by: Chao Xie
    Signed-off-by: Mike Turquette

    Chao Xie
     
  • Merge "arm: Xilinx Zynq cleanup patches for v3.15" from Michal Simek:

    - Redesign SLCR initialization to enable
    driver developing which targets SLCR space

    * tag 'zynq-cleanup-for-3.15-v2' of git://git.xilinx.com/linux-xlnx:
    ARM: zynq: Add waituart implementation
    ARM: zynq: Move of_clk_init from clock driver
    ARM: zynq: Introduce zynq_slcr_unlock()
    ARM: zynq: Add and use zynq_slcr_read/write() helper functions
    ARM: zynq: Make zynq_slcr_base static
    ARM: zynq: Map I/O memory on clkc init
    ARM: zynq: Hang iomapped slcr address on device_node
    ARM: zynq: Split slcr in two parts
    ARM: zynq: Move clock_init from slcr to common
    arm: dt: zynq: Add fclk-enable property to clkc node

    [Arnd: remove SOC_BUS support from pull request]

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

26 Mar, 2014

6 commits

  • The patch supports the A9-mux clocks used by ClockGenA9

    A9-mux clock : Multiplexer inside ClockGenA9. A9 clock can be driven by
    either PLL or External clock (with an optional divide-by-2). This is
    implemented as 3-parent clock : PLL, Ext-clk OR Ext-clk/2

    Signed-off-by: Pankaj Dev
    Signed-off-by: Mike Turquette

    Gabriel FERNANDEZ
     
  • The patch added support for DT registration of ClockGenA9/DDR/GPU

    ClockgenA9/DDR : It includes c32 type PLL (also in ClockgenA1x), hence
    only CLK_OF_DECLARE implementation is required.

    ClockgenGPU : It includes c65 type PLL (also in ClockgenAx), hence
    only CLK_OF_DECLARE implementation is required.

    Signed-off-by: Pankaj Dev
    Signed-off-by: Gabriel Fernandez
    Signed-off-by: Mike Turquette

    Gabriel FERNANDEZ
     
  • The patch supports the 216/432/660 type Quad Frequency Synthesizers
    used by ClockGenB/C/D/E/F

    QUADFS clock : It includes support for all 216/432/660 type Quad
    Frequency Synthesizers : implemented as Fixed Parent / Rate / Gate clock,
    with clock rate calculated reading H/w settings done at BOOT.

    QuadFS have 4 outputs : chan0 chan1 chan2 chan3

    Signed-off-by: Pankaj Dev
    Signed-off-by: Gabriel Fernandez
    Signed-off-by: Mike Turquette

    Gabriel FERNANDEZ
     
  • The patch supports the VCC-mux and MUX clocks used by ClockGenC/F

    VCC-mux clock : Divider-Multiplexer-Gate inside ClockGenC/F
    It includes support for each channel : 4-parent Multiplexer, Post Divide
    by 1, 2, 4 or 8, Gate to switch OFF the output channel. The clock is
    implemented using generic clocks implemented in the kernel clk_divider, clk_mux,
    clk_gate and clk_composite (to combine all)

    MUX clock : 2-parent clock used inside ClockGenC/F. The clock is implemented
    using generic clocks implemented in the kernel clk_mux.

    Signed-off-by: Pankaj Dev
    Signed-off-by: Gabriel Fernandez
    Signed-off-by: Mike Turquette

    Gabriel FERNANDEZ
     
  • The patch supports the c65/c32 type PLLs used by ClockGenA(s)

    PLL clock : It includes support for all c65/c32 type PLLs
    inside ClockGenA(s) : implemented as Fixed Parent / Fixed Rate clock,
    with clock rate calculated reading H/w settings done at BOOT.

    c65 PLLs have 2 outputs : HS and LS
    c32 PLLs have 1-4 outputs : ODFx

    Signed-off-by: Pankaj Dev
    Signed-off-by: Gabriel Fernandez
    Signed-off-by: Mike Turquette

    Gabriel FERNANDEZ
     
  • The patch supports the DIVMUX and PreDiv clocks used by ClockGenA(s)

    DIVMUX clock : Divider-Multiplexer-Gate inside ClockGenA(s)
    It includes support for each channel : 3-parent Multiplexer,
    Divider for each Parent, Gate to switch OFF the output channel. The
    clock is implemented using generic clocks implemented in the kernel
    clk_divider and clk_mux.

    PreDiv clock : Fixed Divider Clock used inside ClockGenA(s) to divide
    the oscillator clock by factor-of-16. The clock is implemented using
    generic clocks implemented in the kernel clk_divider.

    Signed-off-by: Pankaj Dev
    Signed-off-by: Gabriel Fernandez
    Signed-off-by: Mike Turquette

    Gabriel FERNANDEZ
     

25 Mar, 2014

3 commits


21 Mar, 2014

4 commits


20 Mar, 2014

10 commits