08 Jun, 2017

1 commit


21 Oct, 2016

1 commit

  • At the hardware level, the J-Core PIT is integrated with the interrupt
    controller, but it is represented as its own device and has an
    independent programming interface. It provides a 12-bit countdown
    timer, which is not presently used, and a periodic timer. The interval
    length for the latter is programmable via a 32-bit throttle register
    whose units are determined by a bus-period register. The periodic
    timer is used to implement both periodic and oneshot clock event
    modes; in oneshot mode the interrupt handler simply disables the timer
    as soon as it fires.

    Despite its device tree node representing an interrupt for the PIT,
    the actual irq generated is programmable, not hard-wired. The driver
    is responsible for programming the PIT to generate the hardware irq
    number that the DT assigns to it.

    On SMP configurations, J-Core provides cpu-local instances of the PIT;
    no broadcast timer is needed. This driver supports the creation of the
    necessary per-cpu clock_event_device instances.

    A nanosecond-resolution clocksource is provided using the J-Core "RTC"
    registers, which give a 64-bit seconds count and 32-bit nanoseconds
    that wrap every second. The driver converts these to a full-range
    32-bit nanoseconds count.

    Signed-off-by: Rich Felker
    Cc: Mark Rutland
    Cc: devicetree@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: Daniel Lezcano
    Cc: Rob Herring
    Link: http://lkml.kernel.org/r/b591ff12cc5ebf63d1edc98da26046f95a233814.1476393790.git.dalias@libc.org
    Signed-off-by: Thomas Gleixner

    Rich Felker
     

28 Jun, 2016

12 commits

  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_INTEGRATOR_AP_TIMER and is selected
    by the platform. Then the clocksource's Kconfig is changed to make this
    option selectable by the user if the COMPILE_TEST option is set. Otherwise,
    it is up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_KEYSTONE_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_NSPIRE_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_U300_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Due on the delay specific code, this driver will compile only on the ARM
    architecture.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_PRIMA2_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_MXS_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_MOXART_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_ATLAS7_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_CLPS711X_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_BCM_KONA_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it is
    up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Change the Kconfig option logic to fullfil with the current approach.

    A new Kconfig option is added, CONFIG_BCM2835_TIMER and is selected by the
    platform. Then the clocksource's Kconfig is changed to make this option
    selectable by the user if the COMPILE_TEST option is set. Otherwise, it
    is up to the platform's Kconfig to select the timer.

    Signed-off-by: Daniel Lezcano

    Daniel Lezcano
     
  • Add clocksource and clockevent driver from dual RPS timer.
    The HW provides a dual one-shot or periodic 24bit timers,
    the drivers set the first one as tick event source and the
    second as a continuous scheduler clock source.
    The timer can use 1, 16 or 256 as pre-dividers, thus the
    clocksource uses 16 by default.

    CC: Ma Haijun
    Signed-off-by: Neil Armstrong
    Signed-off-by: Daniel Lezcano

    Neil Armstrong
     

20 May, 2016

1 commit

  • Pull ARC updates from Vineet Gupta:
    "We have a relatively big changeset for ARC for 4.7.

    The highlight is support for EZChip (now Mellanox) NPS-400 network
    processor, a 400-Gb throughput C-programmable packet processor based
    on ARC700 cores from Synopsys. See

    http://www.mellanox.com/related-docs/prod_npu/PB_NPS-400.pdf

    Also present are irqchip and clocksource drivers for NPS as agreed
    with respective maintainers to go via ARC tree due to an soc header
    dependency. I have the needed ACKs from Jason, Marc, Daniel. You
    might run into a trivial merge conflict in drivers/irqchip/*

    This EZChip platform support required some deep changes in ARC
    architecture code and also opportunity to cleanup past sins (legacy
    irq domains, missing irq domain lookup, hard coded timer irqs...)

    Summary:

    - Support for EZChip (now Mellanox) NPS-400 Network processor based
    on ARC700

    - NPS interrupt controller and clocksource drivers

    - ARC timers probed off DT

    - ARC iqrchips switching to linear domain (upgrade from legacy
    domains)"

    * tag 'arc-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (37 commits)
    arc: axs103_smp: Fix CPU frequency to 100MHz for dual-core
    arc: axs10x: Add DT bindings for I2S PLL Clock
    ARC: pae: STRICT_MM_TYPECHECKS was broken
    ARC: Add eznps platform to Kconfig and Makefile
    ARC: [plat-eznps] Use dedicated COMMAND_LINE_SIZE
    ARC: [plat-eznps] Use dedicated cpu_relax()
    ARC: [plat-eznps] Use dedicated identity auxiliary register.
    ARC: [plat-eznps] Use dedicated SMP barriers
    ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg
    ARC: [plat-eznps] Use dedicated user stack top
    ARC: [plat-eznps] Add eznps platform
    ARC: [plat-eznps] Add eznps board defconfig and dts
    ARC: Mark secondary cpu online only after all HW setup is done
    ARC: rwlock: disable interrupts in !LLSC variant
    ARC: Make vmalloc size configurable
    ARC: clean out UAPI byteorder.h clean off Kconfig symbol
    irqchip: add nps Internal and external irqchips
    clocksource: Add NPS400 timers driver
    soc: Support for EZchip SoC
    Documentation: Add EZchip vendor to binding list
    ...

    Linus Torvalds
     

09 May, 2016

1 commit

  • Add internal tick generator which is shared by all cores.
    Each cluster of cores view it through dedicated address.
    This is used for SMP system where all CPUs synced by same
    clock source.

    Signed-off-by: Noam Camus
    Cc: Daniel Lezcano
    Cc: Rob Herring
    Cc: Thomas Gleixner
    Cc: John Stultz
    Acked-by: Vineet Gupta
    Acked-by: Daniel Lezcano

    Noam Camus
     

28 Apr, 2016

1 commit


15 Dec, 2015

1 commit


11 Nov, 2015

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "Again we have a sizable (but not huge) cleanup branch with a net delta
    of about -3k lines.

    Main contents here is:

    - A bunch of development/cleanup of a few PXA boards
    - Removal of bockw platforms on shmobile, since the platform has now
    gone completely multiplatform. Whee!
    - move of the 32kHz timer on OMAP to a proper timesource
    - Misc cleanup of older OMAP material (incl removal of one board
    file)
    - Switch over to new common PWM lookup support for several platforms

    There's also a handful of other cleanups across the tree, but the
    above are the major pieces"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (103 commits)
    ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs
    ARM: DRA7: hwmod data: Remove spinlock hwmod addrs
    ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs
    ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data
    ARM: Remove __ref on hotplug cpu die path
    ARM: Remove open-coded version of IRQCHIP_DECLARE
    arm: omap2: board-generic: use omap4_local_timer_init for AM437x
    ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data
    ARM: OMAP: Remove duplicated operand in OR operation
    clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE
    ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode
    ARM: pxa: raumfeld: make some variables static
    ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c
    ARM: OMAP2+: Rename cpu_is macros to soc_is
    arm: omap2: timer: limit hwmod usage to non-DT boots
    arm: omap2+: select 32k clocksource driver
    clocksource: add TI 32.768 Hz counter driver
    arm: omap2: timer: rename omap_sync32k_timer_init()
    arm: omap2: timer: always call clocksource_of_init() when DT
    arm: omap2: timer: move realtime_counter_init() around
    ...

    Linus Torvalds
     

05 Nov, 2015

1 commit

  • Pull power management and ACPI updates from Rafael Wysocki:
    "Quite a new features are included this time.

    First off, the Collaborative Processor Performance Control interface
    (version 2) defined by ACPI will now be supported on ARM64 along with
    a cpufreq frontend for CPU performance scaling.

    Second, ACPI gets a new infrastructure for the early probing of IRQ
    chips and clock sources (along the lines of the existing similar
    mechanism for DT).

    Next, the ACPI core and the generic device properties API will now
    support a recently introduced hierarchical properties extension of the
    _DSD (Device Specific Data) ACPI device configuration object. If the
    ACPI platform firmware uses that extension to organize device
    properties in a hierarchical way, the kernel will automatically handle
    it and make those properties available to device drivers via the
    generic device properties API.

    It also will be possible to build the ACPICA's AML interpreter
    debugger into the kernel now and use that to diagnose AML-related
    problems more efficiently. In the future, this should make it
    possible to single-step AML execution and do similar things.
    Interesting stuff, although somewhat experimental at this point.

    Finally, the PM core gets a new mechanism that can be used by device
    drivers to distinguish between suspend-to-RAM (based on platform
    firmware support) and suspend-to-idle (or other variants of system
    suspend the platform firmware is not involved in) and possibly
    optimize their device suspend/resume handling accordingly.

    In addition to that, some existing features are re-organized quite
    substantially.

    First, the ACPI-based handling of PCI host bridges on x86 and ia64 is
    unified and the common code goes into the ACPI core (so as to reduce
    code duplication and eliminate non-essential differences between the
    two architectures in that area).

    Second, the Operating Performance Points (OPP) framework is
    reorganized to make the code easier to find and follow.

    Next, the cpufreq core's sysfs interface is reorganized to get rid of
    the "primary CPU" concept for configurations in which the same
    performance scaling settings are shared between multiple CPUs.

    Finally, some interfaces that aren't necessary any more are dropped
    from the generic power domains framework.

    On top of the above we have some minor extensions, cleanups and bug
    fixes in multiple places, as usual.

    Specifics:

    - ACPICA update to upstream revision 20150930 (Bob Moore, Lv Zheng).

    The most significant change is to allow the AML debugger to be
    built into the kernel. On top of that there is an update related
    to the NFIT table (the ACPI persistent memory interface) and a few
    fixes and cleanups.

    - ACPI CPPC2 (Collaborative Processor Performance Control v2) support
    along with a cpufreq frontend (Ashwin Chaugule).

    This can only be enabled on ARM64 at this point.

    - New ACPI infrastructure for the early probing of IRQ chips and
    clock sources (Marc Zyngier).

    - Support for a new hierarchical properties extension of the ACPI
    _DSD (Device Specific Data) device configuration object allowing
    the kernel to handle hierarchical properties (provided by the
    platform firmware this way) automatically and make them available
    to device drivers via the generic device properties interface
    (Rafael Wysocki).

    - Generic device properties API extension to obtain an index of
    certain string value in an array of strings, along the lines of
    of_property_match_string(), but working for all of the supported
    firmware node types, and support for the "dma-names" device
    property based on it (Mika Westerberg).

    - ACPI core fix to parse the MADT (Multiple APIC Description Table)
    entries in the order expected by platform firmware (and mandated by
    the specification) to avoid confusion on systems with more than 255
    logical CPUs (Lukasz Anaczkowski).

    - Consolidation of the ACPI-based handling of PCI host bridges on x86
    and ia64 (Jiang Liu).

    - ACPI core fixes to ensure that the correct IRQ number is used to
    represent the SCI (System Control Interrupt) in the cases when it
    has been re-mapped (Chen Yu).

    - New ACPI backlight quirk for Lenovo IdeaPad S405 (Hans de Goede).

    - ACPI EC driver fixes (Lv Zheng).

    - Assorted ACPI fixes and cleanups (Dan Carpenter, Insu Yun, Jiri
    Kosina, Rami Rosen, Rasmus Villemoes).

    - New mechanism in the PM core allowing drivers to check if the
    platform firmware is going to be involved in the upcoming system
    suspend or if it has been involved in the suspend the system is
    resuming from at the moment (Rafael Wysocki).

    This should allow drivers to optimize their suspend/resume handling
    in some cases and the changes include a couple of users of it (the
    i8042 input driver, PCI PM).

    - PCI PM fix to prevent runtime-suspended devices with PME enabled
    from being resumed during system suspend even if they aren't
    configured to wake up the system from sleep (Rafael Wysocki).

    - New mechanism to report the number of a wakeup IRQ that woke up the
    system from sleep last time (Alexandra Yates).

    - Removal of unused interfaces from the generic power domains
    framework and fixes related to latency measurements in that code
    (Ulf Hansson, Daniel Lezcano).

    - cpufreq core sysfs interface rework to make it handle CPUs that
    share performance scaling settings (represented by a common cpufreq
    policy object) more symmetrically (Viresh Kumar).

    This should help to simplify the CPU offline/online handling among
    other things.

    - cpufreq core fixes and cleanups (Viresh Kumar).

    - intel_pstate fixes related to the Turbo Activation Ratio (TAR)
    mechanism on client platforms which causes the turbo P-states range
    to vary depending on platform firmware settings (Srinivas
    Pandruvada).

    - intel_pstate sysfs interface fix (Prarit Bhargava).

    - Assorted cpufreq driver (imx, tegra20, powernv, integrator) fixes
    and cleanups (Bai Ping, Bartlomiej Zolnierkiewicz, Shilpasri G
    Bhat, Luis de Bethencourt).

    - cpuidle mvebu driver cleanups (Russell King).

    - OPP (Operating Performance Points) framework code reorganization to
    make it more maintainable (Viresh Kumar).

    - Intel Broxton support for the RAPL (Running Average Power Limits)
    power capping driver (Amy Wiles).

    - Assorted power management code fixes and cleanups (Dan Carpenter,
    Geert Uytterhoeven, Geliang Tang, Luis de Bethencourt, Rasmus
    Villemoes)"

    * tag 'pm+acpi-4.4-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (108 commits)
    cpufreq: postfix policy directory with the first CPU in related_cpus
    cpufreq: create cpu/cpufreq/policyX directories
    cpufreq: remove cpufreq_sysfs_{create|remove}_file()
    cpufreq: create cpu/cpufreq at boot time
    cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask
    cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate()
    PM / Domains: Merge measurements for PM QoS device latencies
    PM / Domains: Don't measure ->start|stop() latency in system PM callbacks
    PM / clk: Fix broken build due to non-matching code and header #ifdefs
    ACPI / Documentation: add copy_dsdt to ACPI format options
    ACPI / sysfs: correctly check failing memory allocation
    ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405
    ACPI / CPPC: Fix potential memory leak
    ACPI / CPPC: signedness bug in register_pcc_channel()
    ACPI / PAD: power_saving_thread() is not freezable
    ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle
    ACPI: Using correct irq when waiting for events
    ACPI: Use correct IRQ when uninstalling ACPI interrupt handler
    cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver
    cpuidle: mvebu: clean up multiple platform drivers
    ...

    Linus Torvalds
     

04 Nov, 2015

1 commit

  • Pull x86 apic changes from Ingo Molnar:
    "The main changes in this cycle were:

    - Numachip updates: new hardware support, fixes and cleanups.
    (Daniel J Blueman)

    - misc smaller cleanups and fixlets"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/io_apic: Make eoi_ioapic_pin() static
    x86/irq: Drop unlikely before IS_ERR_OR_NULL
    x86/x2apic: Make stub functions available even if !CONFIG_X86_LOCAL_APIC
    x86/apic: Deinline various functions
    x86/numachip: Fix timer build conflict
    x86/numachip: Introduce Numachip2 timer mechanisms
    x86/numachip: Add Numachip IPI optimisations
    x86/numachip: Add Numachip2 APIC support
    x86/numachip: Cleanup Numachip support

    Linus Torvalds
     

17 Oct, 2015

1 commit


16 Oct, 2015

1 commit


01 Oct, 2015

2 commits

  • Seeing the 'of' characters in a symbol that is being called from
    ACPI seems to freak out people. So let's do a bit of pointless
    renaming so that these folks do feel at home.

    Signed-off-by: Marc Zyngier
    Acked-by: Catalin Marinas
    Reviewed-by: Hanjun Guo
    Acked-by: Thomas Gleixner
    Tested-by: Hanjun Guo
    Signed-off-by: Rafael J. Wysocki

    Marc Zyngier
     
  • The clocksource probing infrastructure currently depends on
    CONFIG_CLKSRC_OF, which depends on CONFIG_OF. In order to make
    this infrastructure selectable even if CONFIG_OF is not selected,
    introduce a new CONFIG_CLKSRC_PROBE (which allow the infrastructure
    to be compiled in), and CONFIG_CLKSRC_ACPI (which is the pendent
    of CONFIG_CLKSRC_OF for ACPI).

    Signed-off-by: Marc Zyngier
    Acked-by: Thomas Gleixner
    Tested-by: Hanjun Guo
    Signed-off-by: Rafael J. Wysocki

    Marc Zyngier
     

23 Sep, 2015

1 commit

  • Add 1GHz 64-bit Numachip2 clocksource timer support for accurate
    system-wide timekeeping, as core TSCs are unsynchronised.

    Additionally, add a per-core clockevent mechanism that interrupts via the
    platform IPI vector after a programmed period.

    [ tglx: Taking it through x86 due to dependencies ]

    Signed-off-by: Daniel J Blueman
    Acked-by: Steffen Persvold
    Cc: Daniel Lezcano
    Link: http://lkml.kernel.org/r/1442829745-29311-1-git-send-email-daniel@numascale.com
    Signed-off-by: Thomas Gleixner

    Daniel J Blueman
     

05 Sep, 2015

1 commit

  • Pull MFD updates from Lee Jones:
    "New Device Support:
    - New Clocksource driver from ST
    - New MFD/ACPI/DMA drivers for Intel's Sunrisepoint PCH based platforms
    - Add support for Arizona WM8998 and WM1814
    - Add support for Dialog Semi DA9062 and DA9063
    - Add support for Kontron COMe-bBL6 and COMe-cBW6
    - Add support for X-Powers AXP152
    - Add support for Atmel, many
    - Add support for STMPE, many
    - Add support for USB in X-Powers AXP22X

    Core Frameworks:
    - New Base API to traverse devices and their children in reverse order

    Bug Fixes:
    - Fix race between runtime-suspend and IRQs
    - Obtain platform data form more reliable source

    Fix-ups:
    - Constifying things
    - Variable signage changes
    - Kconfig depends|selects changes
    - Make use of BIT() macro
    - Do not supply .owner attribute in *_driver structures
    - MAINTAINERS entries
    - Stop using set_irq_flags()
    - Start using irq_set_chained_handler_and_data()
    - Export DT device ID structures"

    * tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
    mfd: jz4740-adc: Init mask cache in generic IRQ chip
    mfd: cros_ec: spi: Add OF match table
    mfd: stmpe: Add OF match table
    mfd: max77686: Split out regulator part from the DT binding
    mfd: Add DT binding for Maxim MAX77802 IC
    mfd: max77686: Use a generic name for the PMIC node in the example
    mfd: max77686: Don't suggest in binding to use a deprecated property
    mfd: Add MFD_CROS_EC dependencies
    mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers
    mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs
    mfd: axp20x: Add missing registers, and mark more registers volatile
    mfd: arizona: Fixup some formatting/white space errors
    mfd: wm8994: Fix NULL pointer exception on missing pdata
    of: Add vendor prefix for Nuvoton
    mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event
    mfd: atmel-hlcdc: Add support for new SoCs
    mfd: Export OF module alias information in missing drivers
    mfd: stw481x: Export I2C module alias information
    mfd: da9062: Support for the DA9063 OnKey in the DA9062 core
    mfd: max899x: Avoid redundant irq_data lookup
    ...

    Linus Torvalds
     

03 Sep, 2015

1 commit

  • The Pistachio SoC provides four general purpose timers, and allow
    to implement a clocksource driver.

    This driver can be used as a replacement for the MIPS GIC and MIPS R4K
    clocksources and sched clocks, which are clocked from the CPU clock.

    Given the general purpose timers are clocked from an independent clock,
    this new clocksource driver will be useful to introduce CPUFreq support
    for Pistachio machines.

    Signed-off-by: Ezequiel Garcia
    Signed-off-by: Govindraj Raja
    Reviewed-by: Thomas Gleixner
    Acked-by: Daniel Lezcano
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: devicetree@vger.kernel.org
    Cc: Andrew Bresticker
    Cc: James Hartley
    Cc: Damien Horsley
    Cc: James Hogan
    Cc: Ezequiel Garcia
    Cc: Ezequiel Garcia
    Patchwork: https://patchwork.linux-mips.org/patch/10899/
    Signed-off-by: Ralf Baechle

    Ezequiel Garcia
     

24 Jul, 2015

1 commit

  • This IP is shared with Watchdog and RTC functionality. All 3 of
    these devices are mutually exclusive from one another i.e. Only 1
    IP can be used at any given time. We use the device-driver model
    combined with a DT 'mode' property to enforce this.

    The ST LPC Clocksource IP can be used as the system (tick) timer.

    Acked-by: Daniel Lezcano
    Signed-off-by: Lee Jones

    Lee Jones
     

27 Jun, 2015

2 commits

  • Pull ARM updates from Russell King:
    "Bigger items included in this update are:

    - A series of updates from Arnd for ARM randconfig build failures
    - Updates from Dmitry for StrongARM SA-1100 to move IRQ handling to
    drivers/irqchip/
    - Move ARMs SP804 timer to drivers/clocksource/
    - Perf updates from Mark Rutland in preparation to move the ARM perf
    code into drivers/ so it can be shared with ARM64.
    - MCPM updates from Nicolas
    - Add support for taking platform serial number from DT
    - Re-implement Keystone2 physical address space switch to conform to
    architecture requirements
    - Clean up ARMv7 LPAE code, which goes in hand with the Keystone2
    changes.
    - L2C cleanups to avoid unlocking caches if we're prevented by the
    secure support to unlock.
    - Avoid cleaning a potentially dirty cache containing stale data on
    CPU initialisation
    - Add ARM-only entry point for secondary startup (for machines that
    can only call into a Thumb kernel in ARM mode). Same thing is also
    done for the resume entry point.
    - Provide arch_irqs_disabled via asm-generic
    - Enlarge ARMv7M vector table
    - Always use BFD linker for VDSO, as gold doesn't accept some of the
    options we need.
    - Fix an incorrect BSYM (for Thumb symbols) usage, and convert all
    BSYM compiler macros to a "badr" (for branch address).
    - Shut up compiler warnings provoked by our cmpxchg() implementation.
    - Ensure bad xchg sizes fail to link"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (75 commits)
    ARM: Fix build if CLKDEV_LOOKUP is not configured
    ARM: fix new BSYM() usage introduced via for-arm-soc branch
    ARM: 8383/1: nommu: avoid deprecated source register on mov
    ARM: 8391/1: l2c: add options to overwrite prefetching behavior
    ARM: 8390/1: irqflags: Get arch_irqs_disabled from asm-generic
    ARM: 8387/1: arm/mm/dma-mapping.c: Add arm_coherent_dma_mmap
    ARM: 8388/1: tcm: Don't crash when TCM banks are protected by TrustZone
    ARM: 8384/1: VDSO: force use of BFD linker
    ARM: 8385/1: VDSO: group link options
    ARM: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
    ARM: remove __bad_xchg definition
    ARM: 8369/1: ARMv7M: define size of vector table for Vybrid
    ARM: 8382/1: clocksource: make ARM_TIMER_SP804 depend on GENERIC_SCHED_CLOCK
    ARM: 8366/1: move Dual-Timer SP804 driver to drivers/clocksource
    ARM: 8365/1: introduce sp804_timer_disable and remove arm_timer.h inclusion
    ARM: 8364/1: fix BE32 module loading
    ARM: 8360/1: add secondary_startup_arm prototype in header file
    ARM: 8359/1: correct secondary_startup_arm mode
    ARM: proc-v7: sanitise and document registers around errata
    ARM: proc-v7: clean up MIDR access
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform support updates from Kevin Hilman:
    "Our SoC branch usually contains expanded support for new SoCs and
    other core platform code. Some highlights from this round:

    - sunxi: SMP support for A23 SoC
    - socpga: big-endian support
    - pxa: conversion to common clock framework
    - bcm: SMP support for BCM63138
    - imx: support new I.MX7D SoC
    - zte: basic support for ZX296702 SoC"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (134 commits)
    ARM: zx: Add basic defconfig support for ZX296702
    ARM: dts: zx: add an initial zx296702 dts and doc
    clk: zx: add clock support to zx296702
    dt-bindings: Add #defines for ZTE ZX296702 clocks
    ARM: socfpga: fix build error due to secondary_startup
    MAINTAINERS: ARM64: EXYNOS: Extend entry for ARM64 DTS
    ARM: ep93xx: simone: support for SPI-based MMC/SD cards
    MAINTAINERS: update Shawn's email to use kernel.org one
    ARM: socfpga: support suspend to ram
    ARM: socfpga: add CPU_METHOD_OF_DECLARE for Arria 10
    ARM: socfpga: use CPU_METHOD_OF_DECLARE for socfpga_cyclone5
    ARM: EXYNOS: register power domain driver from core_initcall
    ARM: EXYNOS: use PS_HOLD based poweroff for all supported SoCs
    ARM: SAMSUNG: Constify platform_device_id
    ARM: EXYNOS: Constify irq_domain_ops
    ARM: EXYNOS: add coupled cpuidle support for Exynos3250
    ARM: EXYNOS: add exynos_get_boot_addr() helper
    ARM: EXYNOS: add exynos_set_boot_addr() helper
    ARM: EXYNOS: make exynos_core_restart() less verbose
    ARM: EXYNOS: fix exynos_boot_secondary() return value on timeout
    ...

    Linus Torvalds
     

26 Jun, 2015

1 commit

  • Pull Renesas H8/300 architecture re-introduction from Yoshinori Sato.

    We dropped arch/h8300 two years ago as stale and old, this is a new and
    more modern rewritten arch support for the same architecture.

    * tag 'for-4.2' of git://git.sourceforge.jp/gitroot/uclinux-h8/linux: (27 commits)
    h8300: fix typo.
    h8300: Always build dtb
    h8300: Remove ARCH_WANT_IPC_PARSE_VERSION
    sh-sci: Get register size from platform device
    clk: h8300: fix error handling in h8s2678_pll_clk_setup()
    h8300: Symbol name fix
    h8300: devicetree source
    h8300: configs
    h8300: IRQ chip driver
    h8300: clocksource
    h8300: clock driver
    h8300: Build scripts
    h8300: library functions
    h8300: Memory management
    h8300: miscellaneous functions
    h8300: process helpers
    h8300: compressed image support
    h8300: Low level entry
    h8300: kernel startup
    h8300: Interrupt and exceptions
    ...

    Linus Torvalds
     

23 Jun, 2015

1 commit


03 Jun, 2015

1 commit


02 Jun, 2015

4 commits

  • STM32 MCUs feature 16 and 32 bits general purpose timers with prescalers.
    The drivers detects whether the time is 16 or 32 bits, and applies a
    1024 prescaler value if it is 16 bits.

    Reviewed-by: Linus Walleij
    Tested-by: Chanwoo Choi
    Signed-off-by: Maxime Coquelin
    Signed-off-by: Daniel Lezcano

    Maxime Coquelin
     
  • This patch adds clocksource support for ARMv7-M's System timer,
    also known as SysTick.

    Tested-by: Chanwoo Choi
    Acked-by: Daniel Lezcano
    Signed-off-by: Maxime Coquelin
    Signed-off-by: Daniel Lezcano

    Maxime Coquelin
     
  • Add support for using the NXP LPC timer as clocksource and clock
    event. These timers are present on many NXP devices including
    LPC32xx, LPC17xx, LPC18xx and LPC43xx.

    The timer has a 32-bit timer counter register with a programmable
    32-bit prescaler. It supports up to 4 compare match values with
    interrupt generation and reset/stop timer counter action.

    Signed-off-by: Joachim Eastwood
    Signed-off-by: Daniel Lezcano
    Reviewed-by: Ezequiel Garcia
    Acked-by: Arnd Bergmann

    Joachim Eastwood
     
  • The ARM Dual-Timer SP804 module is peripheral found not only on ARM32
    platforms but also on ARM64 platforms.

    This patch moves the driver out of arch/arm to driver/clocksource
    so that it can be used on ARM64 platforms also.

    Cc: Daniel Lezcano
    Cc: Rob Herring
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Olof Johansson
    Acked-by: Thomas Gleixner
    Signed-off-by: Sudeep Holla
    Signed-off-by: Russell King

    Sudeep Holla
     

17 Mar, 2015

1 commit


18 Feb, 2015

1 commit

  • Pull ARM SoC platform changes from Olof Johansson:
    "New and updated SoC support. Also included are some cleanups where
    the platform maintainers hadn't separated cleanups from new developent
    in separate branches.

    Some of the larger things worth pointing out:

    - A large set of changes from Alexandre Belloni and Nicolas Ferre
    preparing at91 platforms for multiplatform and cleaning up quite a
    bit in the process.

    - Removal of CSR's "Marco" SoC platform that never made it out to the
    market. We love seeing these since it means the vendor published
    support before product was out, which is exactly what we want!

    New platforms this release are:

    - Conexant Digicolor (CX92755 SoC)
    - Hisilicon HiP01 SoC
    - CSR/sirf Atlas7 SoC
    - ST STiH418 SoC
    - Common code changes for Nvidia Tegra132 (64-bit SoC)

    We're seeing more and more platforms having a harder time labelling
    changes as cleanups vs new development -- which is a good sign that
    we've come quite far on the cleanup effort. So over time we might
    start combining the cleanup and new-development branches more"

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (124 commits)
    ARM: at91/trivial: unify functions and machine names
    ARM: at91: remove at91_dt_initialize and machine init_early()
    ARM: at91: change board files into SoC files
    ARM: at91: remove at91_boot_soc
    ARM: at91: move alternative initial mapping to board-dt-sama5.c
    ARM: at91: merge all SOC_AT91SAM9xxx
    ARM: at91: at91rm9200: set idle and restart from rm9200_dt_device_init()
    ARM: digicolor: select syscon and timer
    ARM: zynq: Simplify SLCR initialization
    ARM: zynq: PM: Fixed simple typo.
    ARM: zynq: Setup default gpio number for Xilinx Zynq
    ARM: digicolor: add low level debug support
    ARM: initial support for Conexant Digicolor CX92755 SoC
    ARM: OMAP2+: Add dm816x hwmod support
    ARM: OMAP2+: Add clock domain support for dm816x
    ARM: OMAP2+: Add board-generic.c entry for ti81xx
    ARM: at91: pm: remove warning to remove SOC_AT91SAM9263 usage
    ARM: at91: remove unused mach/system_rev.h
    ARM: at91: stop using HAVE_AT91_DBGUx
    ARM: at91: fix ordering of SRAM and PM initialization
    ...

    Linus Torvalds