19 Sep, 2019

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver pull request for 5.4-rc1.

    As has been happening in previous releases, more and more individual
    driver subsystem trees are ending up in here. Now if that is good or
    bad I can't tell, but hopefully it makes your life easier as it's more
    of an aggregation of trees together to one merge point for you.

    Anyway, lots of stuff in here:
    - habanalabs driver updates
    - thunderbolt driver updates
    - misc driver updates
    - coresight and intel_th hwtracing driver updates
    - fpga driver updates
    - extcon driver updates
    - some dma driver updates
    - char driver updates
    - android binder driver updates
    - nvmem driver updates
    - phy driver updates
    - parport driver fixes
    - pcmcia driver fix
    - uio driver updates
    - w1 driver updates
    - configfs fixes
    - other assorted driver updates

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
    misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
    habanalabs: correctly cast variable to __le32
    habanalabs: show correct id in error print
    habanalabs: stop using the acronym KMD
    habanalabs: display card name as sensors header
    habanalabs: add uapi to retrieve aggregate H/W events
    habanalabs: add uapi to retrieve device utilization
    habanalabs: Make the Coresight timestamp perpetual
    habanalabs: explicitly set the queue-id enumerated numbers
    habanalabs: print to kernel log when reset is finished
    habanalabs: replace __le32_to_cpu with le32_to_cpu
    habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
    habanalabs: Handle HW_IP_INFO if device disabled or in reset
    habanalabs: Expose devices after initialization is done
    habanalabs: improve security in Debug IOCTL
    habanalabs: use default structure for user input in Debug IOCTL
    habanalabs: Add descriptive name to PSOC app status register
    habanalabs: Add descriptive names to PSOC scratch-pad registers
    habanalabs: create two char devices per ASIC
    habanalabs: change device_setup_cdev() to be more generic
    ...

    Linus Torvalds
     

04 Sep, 2019

2 commits

  • This adds a driver to communicate with the firmware running on the
    secure processor of the Turris Mox router, enabling the kernel to
    retrieve true random numbers from the Entropy Bit Generator and to read
    some information burned into eFuses when device was manufactured:

    and to
    sign messages with the ECDSA private key burned into each Turris Mox
    device when manufacturing.

    This also adds support to read other information burned into eFuses:
    - serial number
    - board version
    - MAC addresses
    - RAM size
    - ECDSA public key (this is not read directly from eFuses, rather it
    is computed by the firmware as pair to the burned private key)

    The source code of the firmware is open source and can be found at
    https://gitlab.labs.nic.cz/turris/mox-boot-builder/tree/master/wtmi

    The firmware is also able to, on demand, sign messages with the burned
    ECDSA private key, but since Linux's akcipher API is not yet stable
    (and therefore not exposed to userspace via netlink), this functionality
    is not supported yet.

    Link: https://lore.kernel.org/r/20190822014318.19478-3-marek.behun@nic.cz
    Signed-off-by: Marek Behún
    Signed-off-by: Arnd Bergmann

    Marek Behún
     
  • The Intel Remote System Update (RSU) driver exposes interfaces access
    through the Intel Service Layer to user space via sysfs interface.
    The RSU interfaces report and control some of the optional RSU features
    on Intel Stratix 10 SoC.

    The RSU feature provides a way for customers to update the boot
    configuration of a Intel Stratix 10 SoC device with significantly reduced
    risk of corrupting the bitstream storage and bricking the system.

    Signed-off-by: Richard Gong
    Reviewed-by: Alan Tull
    Link: https://lore.kernel.org/r/1567516701-26026-3-git-send-email-richard.gong@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman

    Richard Gong
     

16 May, 2019

1 commit

  • Pull ARM SoC platform updates from Olof Johansson:
    "SoC updates, mostly refactorings and cleanups of old legacy platforms.

    Major themes this release:

    - Conversion of ixp4xx to a modern platform (drivers, DT, bindings)

    - Moving some of the ep93xx headers around to get it closer to
    multiplatform enabled.

    - Cleanups of Davinci

    This also contains a few patches that were queued up as fixes before
    5.1 but I didn't get sent in before release"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (123 commits)
    ARM: debug-ll: add default address for digicolor
    ARM: u300: regulator: add MODULE_LICENSE()
    ARM: ep93xx: move private headers out of mach/*
    ARM: ep93xx: move pinctrl interfaces into include/linux/soc
    ARM: ep93xx: keypad: stop using mach/platform.h
    ARM: ep93xx: move network platform data to separate header
    ARM: stm32: add AMBA support for stm32 family
    MAINTAINERS: update arch/arm/mach-davinci
    ARM: rockchip: add missing of_node_put in rockchip_smp_prepare_pmu
    ARM: dts: Add queue manager and NPE to the IXP4xx DTSI
    soc: ixp4xx: qmgr: Add DT probe code
    soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr
    soc: ixp4xx: npe: Add DT probe code
    soc: ixp4xx: Add DT bindings for IXP4xx NPE
    soc: ixp4xx: qmgr: Pass resources
    soc: ixp4xx: Remove unused functions
    soc: ixp4xx: Uninline several functions
    soc: ixp4xx: npe: Pass addresses as resources
    ARM: ixp4xx: Turn the QMGR into a platform device
    ARM: ixp4xx: Turn the NPE into a platform device
    ...

    Linus Torvalds
     

17 Apr, 2019

1 commit


12 Apr, 2019

1 commit

  • Some following changes extends the PSCI driver with some additional
    files. Avoid to continue cluttering the toplevel firmware directory
    and first move the PSCI files into a PSCI sub-directory.

    Suggested-by: Mark Rutland
    Signed-off-by: Ulf Hansson
    Acked-by: Daniel Lezcano
    Acked-by: Mark Rutland
    Acked-by: Lorenzo Pieralisi
    Signed-off-by: Rafael J. Wysocki

    Ulf Hansson
     

27 Nov, 2018

1 commit

  • Some features of the Intel Stratix10 SoC require a level of privilege
    higher than the kernel is granted. Such secure features include
    FPGA programming. In terms of the ARMv8 architecture, the kernel runs
    at Exception Level 1 (EL1), access to the features requires
    Exception Level 3 (EL3).

    The Intel Stratix10 SoC service layer provides an in kernel API for
    drivers to request access to the secure features. The requests are queued
    and processed one by one. ARM’s SMCCC is used to pass the execution
    of the requests on to a secure monitor (EL3).

    The header file stratix10-sve-client.h defines the interface between
    service providers (FPGA manager is one of them) and service layer.

    The header file stratix10-smc.h defines the secure monitor call (SMC)
    message protocols used for service layer driver in normal world
    (EL1) to communicate with secure monitor SW in secure monitor exception
    level 3 (EL3).

    Signed-off-by: Richard Gong
    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Richard Gong
     

01 Nov, 2018

1 commit

  • Pull x86 platform driver updates from Darren Hart:

    - Move the Dell dcdbas and dell_rbu drivers into platform/drivers/x86
    as they are closely coupled with other drivers in this location.

    - Improve _init* usage for acerhdf and fix some usage issues with
    messages and module parameters.

    - Simplify asus-wmi by calling ACPI/WMI methods directly, eliminating
    workqueue overhead, eliminate double reporting of keyboard backlight.

    - Fix wake from USB failure on Bay Trail devices (intel_int0002_vgpio).

    - Notify intel_telemetry users when IPC1 device is not enabled.

    - Update various drivers with new laptop model IDs.

    - Update several intel drivers to use SPDX identifers and order headers
    alphabetically.

    * tag 'platform-drivers-x86-v4.20-1' of git://git.infradead.org/linux-platform-drivers-x86: (64 commits)
    HID: asus: only support backlight when it's not driven by WMI
    platform/x86: asus-wmi: export function for evaluating WMI methods
    platform/x86: asus-wmi: Only notify kbd LED hw_change by fn-key pressed
    platform/x86: wmi: declare device_type structure as constant
    platform/x86: ideapad: Add Y530-15ICH to no_hw_rfkill
    platform/x86: Add Intel AtomISP2 dummy / power-management driver
    platform/x86: touchscreen_dmi: Add min-x and min-y settings for various models
    platform/x86: touchscreen_dmi: Add info for the Onda V80 Plus v3 tablet
    platform/x86: touchscreen_dmi: Add info for the Trekstor Primetab T13B tablet
    platform/x86: intel_telemetry: Get rid of custom macro
    platform/x86: intel_telemetry: report debugfs failure
    MAINTAINERS: intel_telemetry: Update maintainers info
    platform/x86: Add LG Gram laptop special features driver
    platform/x86: asus-wmi: Simplify the keyboard brightness updating process
    platform/x86: touchscreen_dmi: Add info for the Trekstor Primebook C11 convertible
    platform/x86: mlx-platform: Properly use mlxplat_mlxcpld_msn201x_items
    MAINTAINERS: intel_pmc_core: Update MAINTAINERS
    firmware: dcdbas: include linux/io.h
    platform/x86: intel-wmi-thunderbolt: Add dynamic debugging
    platform/x86: intel-wmi-thunderbolt: Convert to use SPDX identifier
    ...

    Linus Torvalds
     

10 Oct, 2018

1 commit

  • …shawnguo/linux into next/drivers

    i.MX drivers change for 4.20, round 2:
    - A series from Aisheng Dong to add SCU firmware driver for i.MX8
    SoCs. It implements IPC mechanism based on mailbox for message
    exchange between AP and SCU firmware, and a set of SCU IPC
    service APIs used by clients like i.MX8 power domain and clock
    drivers.

    * tag 'imx-drivers-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    MAINTAINERS: imx: include drivers/firmware/imx path
    firmware: imx: add misc svc support
    firmware: imx: add SCU firmware driver support
    dt-bindings: arm: fsl: add scu binding doc

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

    Arnd Bergmann
     

08 Oct, 2018

1 commit

  • The System Controller Firmware (SCFW) is a low-level system function
    which runs on a dedicated Cortex-M core to provide power, clock, and
    resource management. It exists on some i.MX8 processors. e.g. i.MX8QM
    (QM, QP), and i.MX8QX (QXP, DX).

    This patch implements the SCU firmware IPC function and the common
    message sending API sc_call_rpc.

    Cc: Shawn Guo
    Cc: Fabio Estevam
    Cc: Jassi Brar
    Reviewed-by: Sascha Hauer
    Signed-off-by: Dong Aisheng
    Signed-off-by: Shawn Guo

    Dong Aisheng
     

27 Sep, 2018

2 commits


26 Sep, 2018

1 commit

  • This patch is adding communication layer with firmware.
    Firmware driver provides an interface to firmware APIs.
    Interface APIs can be used by any driver to communicate to
    PMUFW(Platform Management Unit). All requests go through ATF.

    Signed-off-by: Rajan Vaja
    Signed-off-by: Jolly Shah
    Signed-off-by: Michal Simek

    Rajan Vaja
     

01 Mar, 2018

1 commit

  • The SCMI is intended to allow OSPM to manage various functions that are
    provided by the hardware platform it is running on, including power and
    performance functions. SCMI provides two levels of abstraction, protocols
    and transports. Protocols define individual groups of system control and
    management messages. A protocol specification describes the messages
    that it supports. Transports describe the method by which protocol
    messages are communicated between agents and the platform.

    This patch adds basic infrastructure to manage the message allocation,
    initialisation, packing/unpacking and shared memory management.

    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Signed-off-by: Sudeep Holla

    Sudeep Holla
     

13 Jan, 2018

1 commit

  • The Software Delegated Exception Interface (SDEI) is an ARM standard
    for registering callbacks from the platform firmware into the OS.
    This is typically used to implement firmware notifications (such as
    firmware-first RAS) or promote an IRQ that has been promoted to a
    firmware-assisted NMI.

    Add the code for detecting the SDEI version and the framework for
    registering and unregistering events. Subsequent patches will add the
    arch-specific backend code and the necessary power management hooks.

    Only shared events are supported, power management, private events and
    discovery for ACPI systems will be added by later patches.

    Signed-off-by: James Morse
    Signed-off-by: Catalin Marinas

    James Morse
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

01 Dec, 2016

1 commit

  • Merge "ARM: keystone: add TI SCI protocol support for v4.10" from
    Tero Kristo:

    [description taken from http://processors.wiki.ti.com/index.php/TISCI

    Texas Instruments' Keystone generation System on Chips (SoC) starting
    with 66AK2G02, now include a dedicated SoC System Control entity called
    PMMC(Power Management Micro Controller) in line with ARM architecture
    recommendations. The function of this module is to integrate all system
    operations in a centralized location. Communication with the SoC System
    Control entity from various processing units like ARM/DSP occurs over
    Message Manager hardware block.

    ...

    Texas Instruments' System Control Interface defines the communication
    protocol between various processing entities to the System Control Entity
    on TI SoCs. This is a set of message formats and sequence of operations
    required to communicate and get system services processed from System
    Control entity in the SoC.]

    * 'for-4.10-ti-sci-base' of https://github.com/t-kristo/linux-pm:
    firmware: ti_sci: Add support for reboot core service
    firmware: ti_sci: Add support for Clock control
    firmware: ti_sci: Add support for Device control
    firmware: Add basic support for TI System Control Interface (TI-SCI) protocol
    Documentation: Add support for TI System Control Interface (TI-SCI) protocol

    Arnd Bergmann
     

26 Nov, 2016

1 commit

  • On arm and arm64, PSCI is one of the possible firmware interfaces
    used for power management. This includes both turning CPUs on and off,
    and suspending them (entering idle states).

    This patch adds a PSCI checker module that enables basic testing of
    PSCI operations during startup. There are two main tests: CPU
    hotplugging and suspending.

    In the hotplug tests, the hotplug API is used to turn off and on again
    all CPUs in the system, and then all CPUs in each cluster, checking
    the consistency of the return codes.

    In the suspend tests, a high-priority thread is created on each core
    and uses low-level cpuidle functionalities to enter suspend, in all
    the possible states and multiple times. This should allow a maximum
    number of CPUs to enter the same sleep state at the same or slightly
    different time.

    In essence, the suspend tests use a principle similar to that of the
    intel_powerclamp driver (drivers/thermal/intel_powerclamp.c), but the
    threads are only kept for the duration of the test (they are already
    gone when userspace is started) and it does not require to stop/start
    the tick.

    While in theory power management PSCI functions (CPU_{ON,OFF,SUSPEND})
    could be directly called, this proved too difficult as it would imply
    the duplication of all the logic used by the kernel to allow for a
    clean shutdown/bringup/suspend of the CPU (the deepest sleep states
    implying potentially the shutdown of the CPU).

    Note that this file cannot be compiled as a loadable module, since it
    uses a number of non-exported identifiers (essentially for
    PSCI-specific checks and direct use of cpuidle) and relies on the
    absence of userspace to avoid races when calling hotplug and cpuidle
    functions.

    For now at least, CONFIG_PSCI_CHECKER is mutually exclusive with
    CONFIG_TORTURE_TEST, because torture tests may also use hotplug and
    cause false positives in the hotplug tests.

    Cc: Thomas Gleixner
    Cc: Kevin Hilman
    Cc: "Rafael J. Wysocki"
    Cc: Peter Zijlstra
    Cc: "Paul E. McKenney"
    Cc: James Morse
    Cc: Sudeep Holla
    Cc: Lorenzo Pieralisi
    Cc: Mark Rutland
    Acked-by: "Paul E. McKenney" [torture test config]
    Signed-off-by: Kevin Brodsky
    [lpieralisi: added cpuidle locking, reworded commit log/kconfig entry]
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Arnd Bergmann

    Kevin Brodsky
     

18 Nov, 2016

1 commit

  • The Inter-VM communication (IVC) is a communication protocol which is
    designed for interprocessor communication (IPC) or the communication
    between the hypervisor and the virtual machine with a guest OS.

    Message channels are used to communicate between processors. They are
    backed by DRAM or SRAM, so care must be taken to maintain coherence of
    data.

    The IVC library maintains memory-based descriptors for the transmission
    and reception channels as well as the data coherence of the counter and
    payload. Clients, such as the driver for the BPMP firmware, can use the
    library to exchange messages with remote processors.

    Based on work by Peter Newman and Joseph Lo
    .

    Signed-off-by: Thierry Reding

    Thierry Reding
     

27 Oct, 2016

1 commit

  • Texas Instrument's System Control Interface (TI-SCI) Message Protocol
    is used in Texas Instrument's System on Chip (SoC) such as those
    in keystone family K2G SoC to communicate between various compute
    processors with a central system controller entity.

    TI-SCI message protocol provides support for management of various
    hardware entities within the SoC. Add support driver to allow
    communication with system controller entity within the SoC using the
    mailbox client.

    We introduce the basic registration and query capability for the
    driver protocol as part of this change. Subsequent patches add in
    functionality specific to the TI-SCI features.

    Signed-off-by: Nishanth Menon
    Signed-off-by: Tero Kristo

    Nishanth Menon
     

02 Sep, 2016

1 commit

  • Introduce a driver to provide calls into secure monitor mode.

    In the Amlogic SoCs these calls are used for multiple reasons: access to
    NVMEM, set USB boot, enable JTAG, etc...

    Acked-by: Mark Rutland
    Signed-off-by: Carlo Caione
    [khilman: add in SZ_4K cleanup]
    Signed-off-by: Kevin Hilman

    Carlo Caione
     

21 Jun, 2016

1 commit


10 Feb, 2016

1 commit

  • Make fw_cfg entries of type "file" available via sysfs. Entries
    are listed under /sys/firmware/qemu_fw_cfg/by_key, in folders
    named after each entry's selector key. Filename, selector value,
    and size read-only attributes are included for each entry. Also,
    a "raw" attribute allows retrieval of the full binary content of
    each entry.

    The fw_cfg device can be instantiated automatically from ACPI or
    the Device Tree, or manually by using a kernel module (or command
    line) parameter, with a syntax outlined in the documentation file.

    Signed-off-by: Gabriel Somlo
    Signed-off-by: Greg Kroah-Hartman

    Gabriel Somlo
     

26 Oct, 2015

1 commit


16 Oct, 2015

1 commit

  • Pull "Qualcomm ARM Based SoC Updates for 4.4" from Andy Gross:

    * Implement id_table driver matching in SMD
    * Avoid NULL pointer exception on remove of SMEM
    * Reorder SMEM/SMD configs
    * Make qcom_smem_get() return a pointer
    * Handle big endian CPUs correctly in SMEM
    * Represent SMD channel layout in structures
    * Use __iowrite32_copy() in SMD
    * Remove use of VLAIs in SMD
    * Handle big endian CPUs correctly in SMD/RPM
    * Handle big endian CPUs corretly in SMD
    * Reject sending SMD packets that are too large
    * Fix endianness issue in SCM __qcom_scm_is_call_available
    * Add missing prototype for qcom_scm_is_available()
    * Correct SMEM items for upper channels
    * Use architecture level to build SCM correctly
    * Delete unneeded of_node_put in SMD
    * Correct active/slep state flagging in SMD/RPM
    * Move RPM message ram out of SMEM DT node

    * tag 'qcom-soc-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm:
    soc: qcom: smem: Move RPM message ram out of smem DT node
    soc: qcom: smd-rpm: Correct the active vs sleep state flagging
    soc: qcom: smd: delete unneeded of_node_put
    firmware: qcom-scm: build for correct architecture level
    soc: qcom: smd: Correct SMEM items for upper channels
    qcom-scm: add missing prototype for qcom_scm_is_available()
    qcom-scm: fix endianess issue in __qcom_scm_is_call_available
    soc: qcom: smd: Reject send of too big packets
    soc: qcom: smd: Handle big endian CPUs
    soc: qcom: smd_rpm: Handle big endian CPUs
    soc: qcom: smd: Remove use of VLAIS
    soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it
    soc: qcom: smd: Represent channel layout in structures
    soc: qcom: smem: Handle big endian CPUs
    soc: qcom: Make qcom_smem_get() return a pointer
    soc: qcom: Reorder SMEM/SMD configs
    soc: qcom: smem: Avoid NULL pointer exception on remove
    soc: qcom: smd: Implement id_table driver matching

    Arnd Bergmann
     

15 Oct, 2015

2 commits

  • This gives us a function for making mailbox property channel requests
    of the firmware, which is most notable in that it will let us get and
    set clock rates.

    Signed-off-by: Eric Anholt
    Acked-by: Stephen Warren

    Eric Anholt
     
  • The ".arch_extension sec" directive is only available on ARMv6 or higher,
    so if we enable the SCM driver while building a kernel for an older CPU,
    we get a build error:

    /tmp/ccUyhMOY.s:130: Error: selected processor does not support ARM mode `smc #0'
    /tmp/ccUyhMOY.s:216: Error: selected processor does not support ARM mode `smc #0'
    /tmp/ccUyhMOY.s:373: Error: selected processor does not support ARM mode `smc #0'
    make[4]: *** [drivers/firmware/qcom_scm-32.o] Error 1

    This changes the Makefile so we pass the ARMv7 architecture level both
    for the check and for the actual compilation of the scm driver.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Andy Gross

    Arnd Bergmann
     

14 Oct, 2015

1 commit

  • …udeep.holla/linux into next/drivers

    Merge "ARM System Control and Power Interface(SCPI) support" from Sudeep Holla

    It adds support for the following features provided by SCP firmware
    using different subsystems in Linux:
    1. SCPI mailbox protocol driver which using mailbox framework
    2. Clocks provided by SCP using clock framework
    3. CPU DVFS(cpufreq) using existing arm-big-little driver
    4. SCPI based sensors including temperature sensors

    * tag 'arm-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
    hwmon: Support thermal zones registration for SCP temperature sensors
    hwmon: Support sensors exported via ARM SCP interface
    firmware: arm_scpi: Extend to support sensors
    Documentation: add DT bindings for ARM SCPI sensors
    cpufreq: arm_big_little: add SCPI interface driver
    clk: scpi: add support for cpufreq virtual device
    clk: add support for clocks provided by SCP(System Control Processor)
    firmware: add support for ARM System Control and Power Interface(SCPI) protocol
    Documentation: add DT binding for ARM System Control and Power Interface(SCPI) protocol

    Arnd Bergmann
     

28 Sep, 2015

1 commit

  • This patch adds support for System Control and Power Interface (SCPI)
    Message Protocol used between the Application Cores(AP) and the System
    Control Processor(SCP). The MHU peripheral provides a mechanism for
    inter-processor communication between SCP's M3 processor and AP.

    SCP offers control and management of the core/cluster power states,
    various power domain DVFS including the core/cluster, certain system
    clocks configuration, thermal sensors and many others.

    This protocol driver provides interface for all the client drivers using
    SCPI to make use of the features offered by the SCP.

    Signed-off-by: Sudeep Holla
    Reviewed-by: Jon Medhurst (Tixy)
    Cc: Jassi Brar
    Cc: Liviu Dudau
    Cc: Lorenzo Pieralisi

    Sudeep Holla
     

24 Sep, 2015

1 commit


03 Aug, 2015

1 commit

  • To enable sharing with arm, move the core PSCI framework code to
    drivers/firmware. This results in a minor gain in lines of code, but
    this will quickly be amortised by the removal of code currently
    duplicated in arch/arm.

    Signed-off-by: Mark Rutland
    Acked-by: Catalin Marinas
    Reviewed-by: Hanjun Guo
    Tested-by: Hanjun Guo
    Cc: Lorenzo Pieralisi
    Cc: Will Deacon
    Signed-off-by: Will Deacon

    Mark Rutland
     

28 Jun, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:

    - Improvements to the tlb_dump code
    - KVM fixes
    - Add support for appended DTB
    - Minor improvements to the R12000 support
    - Minor improvements to the R12000 support
    - Various platform improvments for BCM47xx
    - The usual pile of minor cleanups
    - A number of BPF fixes and improvments
    - Some improvments to the support for R3000 and DECstations
    - Some improvments to the ATH79 platform support
    - A major patchset for the JZ4740 SOC adding support for the CI20 platform
    - Add support for the Pistachio SOC
    - Minor BMIPS/BCM63xx platform support improvments.
    - Avoid "SYNC 0" as memory barrier when unlocking spinlocks
    - Add support for the XWR-1750 board.
    - Paul's __cpuinit/__cpuinitdata cleanups.
    - New Malta CPU board support large memory so enable ZONE_DMA32.

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (131 commits)
    MIPS: spinlock: Adjust arch_spin_lock back-off time
    MIPS: asmmacro: Ensure 64-bit FP registers are used with MSA
    MIPS: BCM47xx: Simplify handling SPROM revisions
    MIPS: Cobalt Don't use module_init in non-modular MTD registration.
    MIPS: BCM47xx: Move NVRAM driver to the drivers/firmware/
    MIPS: use for_each_sg()
    MIPS: BCM47xx: Don't select BCMA_HOST_PCI
    MIPS: BCM47xx: Add helper variable for storing NVRAM length
    MIPS: IRQ/IP27: Move IRQ allocation API to platform code.
    MIPS: Replace smp_mb with release barrier function in unlocks.
    MIPS: i8259: DT support
    MIPS: Malta: Basic DT plumbing
    MIPS: include errno.h for ENODEV in mips-cm.h
    MIPS: Define GCR_GIC_STATUS register fields
    MIPS: BPF: Introduce BPF ASM helpers
    MIPS: BPF: Use BPF register names to describe the ABI
    MIPS: BPF: Move register definition to the BPF header
    MIPS: net: BPF: Replace RSIZE with SZREG
    MIPS: BPF: Free up some callee-saved registers
    MIPS: Xtalk: Update xwidget.h with known Xtalk device numbers
    ...

    Linus Torvalds
     

22 Jun, 2015

1 commit

  • After Broadcom switched from MIPS to ARM for their home routers we need
    to have NVRAM driver in some common place (not arch/mips/). As explained
    in Kconfig, this driver is responsible for parsing SoC configuration
    data that is passed to the kernel in flash from the bootloader firmware
    called "CFE".

    We were thinking about putting it in bus directory, however there are
    two possible buses for MIPS: drivers/ssb/ and drivers/bcma/. So this
    won't fit there and this is why I would like to move this driver to the
    drivers/firmware/.

    Signed-off-by: Rafał Miłecki
    Reviewed-by: Paul Walmsley
    Cc: linux-mips@linux-mips.org
    Cc: Hauke Mehrtens
    Cc: Seiji Aguchi
    Cc: Greg Kroah-Hartman
    Cc: Ard Biesheuvel
    Cc: Mike Waychison
    Cc: Roy Franz
    Cc: Matt Fleming
    Cc: Linus Torvalds
    Patchwork: https://patchwork.linux-mips.org/patch/10544/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     

29 Apr, 2015

1 commit


12 Mar, 2015

1 commit


20 Dec, 2013

1 commit

  • Commit 7ea6c6c1 ("Move cper.c from drivers/acpi/apei to
    drivers/firmware/efi") results in CONFIG_EFI being enabled even
    when the user doesn't want this. Since ACPI APEI used to build
    fine without UEFI (and as far as I know also has no functional
    depency on it), at least in that case using a reverse dependency
    is wrong (and a straight one isn't needed).

    Whether the same is true for ACPI_EXTLOG I don't know - if there
    is a functional dependency, it should depend on EFI rather than
    selecting it. It certainly has (currently) no build dependency.

    Adjust Kconfig and build logic so that the bad dependency gets
    avoided.

    Signed-off-by: Jan Beulich
    Acked-by: Tony Luck
    Cc: Matt Fleming
    Link: http://lkml.kernel.org/r/52AF1EBC020000780010DBF9@nat28.tlf.novell.com
    Signed-off-by: Ingo Molnar

    Jan Beulich
     

17 Apr, 2013

2 commits

  • This registers /sys/firmware/efi/{,systab,efivars/} whenever EFI is enabled
    and the system is booted with EFI.

    This allows
    *) userspace to check for the existence of /sys/firmware/efi as a way
    to determine whether or it is running on an EFI system.
    *) 'mount -t efivarfs none /sys/firmware/efi/efivars' without manually
    loading any modules.

    [ Also, move the efivar API into vars.c and unconditionally compile it.
    This allows us to move efivars.c, which now only contains the sysfs
    variable code, into the firmware/efi directory. Note that the efivars.c
    filename is kept to maintain backwards compatability with the old
    efivars.ko module. With this patch it is now possible for efivarfs
    to be built without CONFIG_EFI_VARS - Matt ]

    Cc: Seiji Aguchi
    Cc: Tony Luck
    Cc: Mike Waychison
    Cc: Kay Sievers
    Cc: Jeremy Kerr
    Cc: Matthew Garrett
    Cc: Chun-Yi Lee
    Cc: Andy Whitcroft
    Cc: Tobias Powalowski
    Signed-off-by: Tom Gundersen
    Signed-off-by: Matt Fleming

    Tom Gundersen
     
  • efivars.c has grown far too large and needs to be divided up. Create a
    new directory and move the persistence storage code to efi-pstore.c now
    that it uses the new efivar API. This helps us to greatly reduce the
    size of efivars.c and paves the way for moving other code out of
    efivars.c.

    Note that because CONFIG_EFI_VARS can be built as a module efi-pstore
    must also include support for building as a module.

    Reviewed-by: Tom Gundersen
    Tested-by: Tom Gundersen
    Cc: Seiji Aguchi
    Cc: Anton Vorontsov
    Cc: Colin Cross
    Cc: Kees Cook
    Cc: Matthew Garrett
    Cc: Tony Luck
    Signed-off-by: Matt Fleming

    Matt Fleming
     

29 Nov, 2011

1 commit

  • It has been pointed out previously, that the firmware subsystem is not the right
    place for the SigmaDSP firmware loader. Furthermore the SigmaDSP is currently
    only used in audio products and we are aiming for better integration into the
    ASoC framework in the future, with support for ALSA controls for firmware
    parameters and support dynamic power management as well. So the natural choice
    for the SigmaDSP firmware loader is the ASoC subsystem.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Mike Frysinger
    Signed-off-by: Mark Brown

    Lars-Peter Clausen
     

30 Apr, 2011

1 commit

  • In order to keep Google's firmware drivers organized amongst themselves,
    all Google firmware drivers are gated on CONFIG_GOOGLE_FIRMWARE=y, which
    defaults to 'n' in the kernel build.

    Signed-off-by: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison