10 Feb, 2020

2 commits

  • Currently CONFIG_RESET_INTEL_GW=y implicitly depends on
    CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
    the following build error:

    /usr/bin/ld: drivers/reset/reset-intel-gw.o: in function `intel_reset_probe':
    drivers/reset/reset-intel-gw.c:185: undefined reference to `devm_platform_ioremap_resource'

    Fix the build error by adding the unspecified dependency.

    Signed-off-by: Brendan Higgins
    Signed-off-by: Philipp Zabel

    Brendan Higgins
     
  • Currently CONFIG_RESET_BRCMSTB_RESCAL=y implicitly depends on
    CONFIG_HAS_IOMEM=y; consequently, on architectures without IOMEM we get
    the following build error:

    /usr/bin/ld: drivers/reset/reset-brcmstb-rescal.o: in function `brcm_rescal_reset_probe':
    drivers/reset/reset-brcmstb-rescal.c:76: undefined reference to `devm_ioremap_resource'

    Fix the build error by adding the unspecified dependency.

    Signed-off-by: Brendan Higgins
    Signed-off-by: Philipp Zabel

    Brendan Higgins
     

11 Jan, 2020

1 commit

  • Reset controller updates for v5.6

    This tag adds support for the Nuvoton NPCM, Intel Gatway SoC, and
    Broadcom BCM7216 RESCAL reset controllers, adds missing SCSSI reset
    controls for newer Uniphier SoCs, aligns the program flow in the
    devm_reset_controller_register, __devm_reset_control_get, and
    devm_reset_control_array_get functions for better consistency,
    and allows to build the Qcom AOSS reset driver as a module.

    This is based on v5.5-rc3 because the core patch depends on commit
    db23808615e2 ("reset: Do not register resource data for missing
    resets").

    * tag 'reset-for-5.6' of git://git.pengutronix.de/pza/linux:
    reset: qcom-aoss: Allow CONFIG_RESET_QCOM_AOSS to be a tristate
    reset: Add Broadcom STB RESCAL reset controller
    dt-bindings: reset: Document BCM7216 RESCAL reset controller
    reset: intel: Add system reset controller driver
    dt-bindings: reset: Add YAML schemas for the Intel Reset controller
    reset: uniphier: Add SCSSI reset control for each channel
    reset: Align logic and flow in managed helpers
    reset: npcm: add NPCM reset controller driver
    dt-bindings: reset: Add binding constants for NPCM7xx reset controller
    dt-bindings: reset: add NPCM reset controller documentation

    Link: https://lore.kernel.org/r/dbbb2ca7490a0146d9ba632fd4d9f38063e03e9f.camel@pengutronix.de
    Signed-off-by: Olof Johansson

    Olof Johansson
     

09 Jan, 2020

1 commit

  • …ux-pm into arm/drivers

    Initial support for hierarchical CPU arrangement, managed by PSCI and its
    corresponding cpuidle driver. This support is based upon using the generic
    PM domain, which already supports devices belonging to CPUs.

    Finally, these is a DTS patch that enables the hierarchical topology to be
    used for the Qcom 410c Dragonboard, which supports the PSCI OS-initiated
    mode.

    * tag 'cpuidle_psci-v5.5-rc4' of git://git.linaro.org/people/ulf.hansson/linux-pm: (611 commits)
    arm64: dts: Convert to the hierarchical CPU topology layout for MSM8916
    cpuidle: psci: Add support for PM domains by using genpd
    PM / Domains: Introduce a genpd OF helper that removes a subdomain
    cpuidle: psci: Support CPU hotplug for the hierarchical model
    cpuidle: psci: Manage runtime PM in the idle path
    cpuidle: psci: Prepare to use OS initiated suspend mode via PM domains
    cpuidle: psci: Attach CPU devices to their PM domains
    cpuidle: psci: Add a helper to attach a CPU to its PM domain
    cpuidle: psci: Support hierarchical CPU idle states
    cpuidle: psci: Simplify OF parsing of CPU idle state nodes
    cpuidle: dt: Support hierarchical CPU idle states
    of: base: Add of_get_cpu_state_node() to get idle states for a CPU node
    firmware: psci: Export functions to manage the OSI mode
    dt: psci: Update DT bindings to support hierarchical PSCI states
    cpuidle: psci: Align psci_power_state count with idle state count
    Linux 5.5-rc4
    locks: print unsigned ino in /proc/locks
    riscv: export flush_icache_all to modules
    riscv: reject invalid syscalls below -1
    riscv: fix compile failure with EXPORT_SYMBOL() & !MMU
    ...

    Link: https://lore.kernel.org/r/20200102160820.3572-1-ulf.hansson@linaro.org
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

08 Jan, 2020

1 commit

  • Allow CONFIG_RESET_QCOM_AOSS to be set as as =m to allow for the
    driver to be loaded from a modules.

    Also replaces the builtin_platform_driver() line with
    module_platform_driver() and adds a MODULE_DEVICE_TABLE() entry.

    Cc: Todd Kjos
    Cc: Alistair Delva
    Cc: Amit Pundir
    Signed-off-by: John Stultz
    Reviewed-by: Bjorn Andersson
    Signed-off-by: Philipp Zabel

    John Stultz
     

06 Jan, 2020

1 commit

  • On BCM7216 there is a special purpose reset controller named RESCAL
    (reset calibration) which is necessary for SATA and PCIe0/1 to operate
    correctly. This commit adds support for such a reset controller to be
    available.

    Signed-off-by: Jim Quinlan
    Signed-off-by: Florian Fainelli
    Signed-off-by: Philipp Zabel

    Jim Quinlan
     

03 Jan, 2020

1 commit


02 Jan, 2020

3 commits


24 Dec, 2019

1 commit

  • The scmi bus now has support to match the driver with devices not only
    based on their protocol id but also based on their device name if one is
    available. This was added to cater the need to support multiple devices
    and drivers for the same protocol.

    Let us add the name "reset" to scmi_device_id table in the driver so
    that in matches only with device with the same name and protocol id
    SCMI_PROTOCOL_RESET.

    Acked-by: Philipp Zabel
    Signed-off-by: Sudeep Holla

    Sudeep Holla
     

10 Dec, 2019

3 commits

  • When an optional reset is not present, __devm_reset_control_get() and
    devm_reset_control_array_get() still register resource data to release
    the non-existing reset on cleanup, which is futile.

    Fix this by skipping NULL reset control pointers.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Philipp Zabel

    Geert Uytterhoeven
     
  • of_reset_control_array_get() and devm_reset_control_array_get() return
    struct reset_control pointers, not internal struct reset_control_array
    pointers, just like all other reset control API calls.

    Correct the kerneldoc to match the code.

    Fixes: 17c82e206d2a3cd8 ("reset: Add APIs to manage array of resets")
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Philipp Zabel

    Geert Uytterhoeven
     
  • The use of IS_ALIGNED() is incorrect, the typical resource we pass looks
    like this: start: 0x8404318, size: 0x30. When using IS_ALIGNED() we will
    get the following 0x8404318 & (0x18 - 1) = 0x10 which is definitively
    not equal to 0, same goes with the size. These two checks would make the
    driver fail probing.

    Remove the resource checks, since there should be no constraint on the
    base addresse or size.

    Fixes: 77750bc089e4 ("reset: Add Broadcom STB SW_INIT reset controller driver")
    Signed-off-by: Florian Fainelli
    Signed-off-by: Philipp Zabel

    Florian Fainelli
     

06 Dec, 2019

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Various driver updates for platforms:

    - A larger set of work on Tegra 2/3 around memory controller and
    regulator features, some fuse cleanups, etc..

    - MMP platform drivers, in particular for USB PHY, and other smaller
    additions.

    - Samsung Exynos 5422 driver for DMC (dynamic memory configuration),
    and ASV (adaptive voltage), allowing the platform to run at more
    optimal operating points.

    - Misc refactorings and support for RZ/G2N and R8A774B1 from Renesas

    - Clock/reset control driver for TI/OMAP

    - Meson-A1 reset controller support

    - Qualcomm sdm845 and sda845 SoC IDs for socinfo"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (150 commits)
    firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT
    soc: fsl: add RCPM driver
    dt-bindings: fsl: rcpm: Add 'little-endian' and update Chassis definition
    memory: tegra: Consolidate registers definition into common header
    memory: tegra: Ensure timing control debug features are disabled
    memory: tegra: Introduce Tegra30 EMC driver
    memory: tegra: Do not handle error from wait_for_completion_timeout()
    memory: tegra: Increase handshake timeout on Tegra20
    memory: tegra: Print a brief info message about EMC timings
    memory: tegra: Pre-configure debug register on Tegra20
    memory: tegra: Include io.h instead of iopoll.h
    memory: tegra: Adapt for Tegra20 clock driver changes
    memory: tegra: Don't set EMC rate to maximum on probe for Tegra20
    memory: tegra: Add gr2d and gr3d to DRM IOMMU group
    memory: tegra: Set DMA mask based on supported address bits
    soc: at91: Add Atmel SFR SN (Serial Number) support
    memory: atmel-ebi: switch to SPDX license identifiers
    memory: atmel-ebi: move NUM_CS definition inside EBI driver
    soc: mediatek: Refactor bus protection control
    soc: mediatek: Refactor sram control
    ...

    Linus Torvalds
     

24 Oct, 2019

5 commits

  • Mention of_reset_simple_xlate as the default if of_xlate is not set.

    Signed-off-by: Philipp Zabel

    Philipp Zabel
     
  • Add a newline and remove a superfluous kerneldoc marker before the
    of_reset_control_get_count kerneldoc comment, to fix documentation
    build warnings:

    ./drivers/reset/core.c:832: warning: Incorrect use of kernel-doc format: * of_reset_control_get_count - Count number of resets available with a device
    ./drivers/reset/core.c:840: warning: Function parameter or member 'node' not described in 'of_reset_control_get_count'

    Fixes: 17c82e206d2a ("reset: Add APIs to manage array of resets")
    Signed-off-by: Philipp Zabel

    Philipp Zabel
     
  • The flags parameter never made it into the API, but was erroneously
    included in the kerneldoc comment. Remove it to fix a documentation
    build warning:

    ./drivers/reset/core.c:86: warning: Excess function parameter 'flags' description in 'of_reset_simple_xlate'

    Fixes: 61fc41317666 ("reset: Add reset controller API")
    Signed-off-by: Philipp Zabel

    Philipp Zabel
     
  • Enable RESET_SIMPLE for ARCH_REALTEK.
    They can reuse the DesignWare bindings to avoid a new compatible.

    Signed-off-by: Andreas Färber
    Signed-off-by: Philipp Zabel

    Andreas Färber
     
  • Restore alphabetical order for Kconfig dependencies and help text.
    Compatibles got out of order too, but no functional change done here.

    Goal is to make it obvious where to add new platforms.

    Fixes: 64c47b624f64 ("reset: Add reset controller support for BM1880 SoC")
    Fixes: 1d7592f84f92 ("reset: simple: Enable for ASPEED systems")
    Fixes: 96a2f50305d1 ("reset: build simple reset controller driver for Agilex")
    Cc: Philipp Zabel
    Signed-off-by: Andreas Färber
    Signed-off-by: Philipp Zabel

    Andreas Färber
     

22 Oct, 2019

4 commits


08 Oct, 2019

1 commit

  • The number of RESET registers and offset of RESET_LEVEL register for
    Meson-A1 are different from previous SoCs, In order to describe these
    differences, we introduce the struct meson_reset_param.

    Reviewed-by: Kevin Hilman
    Reviewed-by: Neil Armstrong
    Signed-off-by: Xingyu Chen
    Signed-off-by: Philipp Zabel

    Xingyu Chen
     

04 Oct, 2019

3 commits


01 Oct, 2019

1 commit

  • Pull ARM SoC fixes from Olof Johansson:
    "A few fixes that have trickled in through the merge window:

    - Video fixes for OMAP due to panel-dpi driver removal

    - Clock fixes for OMAP that broke no-idle quirks + nfsroot on DRA7

    - Fixing arch version on ASpeed ast2500

    - Two fixes for reset handling on ARM SCMI"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
    ARM: aspeed: ast2500 is ARMv6K
    reset: reset-scmi: add missing handle initialisation
    firmware: arm_scmi: reset: fix reset_state assignment in scmi_domain_reset
    bus: ti-sysc: Remove unpaired sysc_clkdm_deny_idle()
    ARM: dts: logicpd-som-lv: Fix i2c2 and i2c3 Pin mux
    ARM: dts: am3517-evm: Fix missing video
    ARM: dts: logicpd-torpedo-baseboard: Fix missing video
    ARM: omap2plus_defconfig: Fix missing video
    bus: ti-sysc: Fix handling of invalid clocks
    bus: ti-sysc: Fix clock handling for no-idle quirks

    Linus Torvalds
     

18 Sep, 2019

1 commit

  • scmi_reset_data->handle needs to be initialised at probe, so that it
    can be later used to access scmi reset protocol APIs using the same.

    Since it was tested with a module that obtained handle elsewhere,
    it was missed easily. Add the missing scmi_reset_data->handle
    initialisation to fix the issue.

    Fixes: c8ae9c2da1cc ("reset: Add support for resets provided by SCMI")
    Acked-by: Philipp Zabel
    Reported-by: Etienne Carriere
    Signed-off-by: Sudeep Holla

    Sudeep Holla
     

15 Aug, 2019

1 commit

  • …deep.holla/linux into arm/drivers

    ARM SCMI updates/fixes for v5.4

    Handful of fixes/updates including:
    1. SCMI v2.0(recently released) support for:
    - Performance protocol fast channels
    - Reset Management Protocol
    2. SCMI infrastructure/core support for recieve(Rx) channels,
    asynchronous commands and delayed response
    3. Usage of asynchronous commands for clock rate setting and sensor
    reading based on the attributes read from the firmware
    4. Miscellaneous cleanups(typos, naming alignment with specification,
    and SPDX License identifier)
    5. Couple of fixes: removal of extra check for invalid length and
    additional check to ensure platform/firmware has released shared
    memory before using it in OSPM

    * tag 'scmi-updates-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (22 commits)
    reset: Add support for resets provided by SCMI
    firmware: arm_scmi: Add RESET protocol in SCMI v2.0
    dt-bindings: arm: Extend SCMI to support new reset protocol
    firmware: arm_scmi: Make use SCMI v2.0 fastchannel for performance protocol
    firmware: arm_scmi: Add discovery of SCMI v2.0 performance fastchannels
    firmware: arm_scmi: Use {get,put}_unaligned_le{32,64} accessors
    firmware: arm_scmi: Use asynchronous CLOCK_RATE_SET when possible
    firmware: arm_scmi: Drop config flag in clk_ops->rate_set
    firmware: arm_scmi: Add asynchronous sensor read if it supports
    firmware: arm_scmi: Drop async flag in sensor_ops->reading_get
    firmware: arm_scmi: Add support for asynchronous commands and delayed response
    firmware: arm_scmi: Add mechanism to unpack message headers
    firmware: arm_scmi: Separate out tx buffer handling and prepare to add rx
    firmware: arm_scmi: Add receive channel support for notifications
    firmware: arm_scmi: Segregate tx channel handling and prepare to add rx
    firmware: arm_scmi: Reorder some functions to avoid forward declarations
    firmware: arm_scmi: Check if platform has released shmem before using
    firmware: arm_scmi: Use the term 'message' instead of 'command'
    firmware: arm_scmi: Fix few trivial typos in comments
    firmware: arm_scmi: Remove extra check for invalid length message responses
    ...

    Link: https://lore.kernel.org/r/20190814172454.26191-1-sudeep.holla@arm.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

12 Aug, 2019

1 commit

  • On some ARM based systems, a separate Cortex-M based System Control
    Processor(SCP) provides the overall power, clock, reset and system
    control. System Control and Management Interface(SCMI) Message Protocol
    is defined for the communication between the Application Cores(AP)
    and the SCP.

    Adds support for the resets provided using SCMI protocol for performing
    reset management of various devices present on the SoC. Various reset
    functionalities are achieved by the means of different ARM SCMI device
    operations provided by the ARM SCMI framework.

    Reviewed-by: Philipp Zabel
    Signed-off-by: Sudeep Holla

    Sudeep Holla
     

06 Aug, 2019

1 commit

  • The reset-simple driver can be now used on DesignWare IPs by
    default by selecting the following compatible strings:
    - snps,dw-high-reset for active high resets inputs
    - snps,dw-low-reset for active low resets inputs

    Signed-off-by: Gustavo Pimentel
    Signed-off-by: Luis Oliveira
    Signed-off-by: Philipp Zabel

    Gustavo Pimentel
     

01 Aug, 2019

2 commits


20 Jul, 2019

1 commit

  • Pull ARM SoC-related driver updates from Olof Johansson:
    "Various driver updates for platforms and a couple of the small driver
    subsystems we merge through our tree:

    - A driver for SCU (system control) on NXP i.MX8QXP

    - Qualcomm Always-on Subsystem messaging driver (AOSS QMP)

    - Qualcomm PM support for MSM8998

    - Support for a newer version of DRAM PHY driver for Broadcom (DPFE)

    - Reset controller support for Bitmain BM1880

    - TI SCI (System Control Interface) support for CPU control on AM654
    processors

    - More TI sysc refactoring and rework"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (84 commits)
    reset: remove redundant null check on pointer dev
    soc: rockchip: work around clang warning
    dt-bindings: reset: imx7: Fix the spelling of 'indices'
    soc: imx: Add i.MX8MN SoC driver support
    soc: aspeed: lpc-ctrl: Fix probe error handling
    soc: qcom: geni: Add support for ACPI
    firmware: ti_sci: Fix gcc unused-but-set-variable warning
    firmware: ti_sci: Use the correct style for SPDX License Identifier
    soc: imx8: Use existing of_root directly
    soc: imx8: Fix potential kernel dump in error path
    firmware/psci: psci_checker: Park kthreads before stopping them
    memory: move jedec_ddr.h from include/memory to drivers/memory/
    memory: move jedec_ddr_data.c from lib/ to drivers/memory/
    MAINTAINERS: Remove myself as qcom maintainer
    soc: aspeed: lpc-ctrl: make parameter optional
    soc: qcom: apr: Don't use reg for domain id
    soc: qcom: fix QCOM_AOSS_QMP dependency and build errors
    memory: tegra: Fix -Wunused-const-variable
    firmware: tegra: Early resume BPMP
    soc/tegra: Select pinctrl for Tegra194
    ...

    Linus Torvalds
     

04 Jul, 2019

3 commits

  • Reset controller changes for v5.3

    This tag adds support for the Bitmain BM1880 reset controller to the
    reset-simple driver and fixes a spelling mistake in the i.MX7 reset
    controller binding document.

    * tag 'reset-for-v5.3' of git://git.pengutronix.de/git/pza/linux:
    dt-bindings: reset: imx7: Fix the spelling of 'indices'
    reset: Add reset controller support for BM1880 SoC
    dt-bindings: reset: Add devicetree binding for BM1880 reset controller

    Link: https://lore.kernel.org/r/1562236632.6641.14.camel@pengutronix.de
    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Reset controller fix for v5.2

    This tag removes a redundant device pointer NULL check from
    __reset_control_get_from_lookup to fix a static code checker
    warning.

    * tag 'reset-fixes-for-v5.2' of git://git.pengutronix.de/git/pza/linux:
    reset: remove redundant null check on pointer dev

    Link: https://lore.kernel.org/r/1562236626.6641.13.camel@pengutronix.de
    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Pointer dev is being dereferenced when passed to the inlined
    functon dev_name, however, dev is later being null checked
    so at first this seems like a potential null pointer dereference.

    In fact, _reset_control_get_from_lookup is only ever called from
    __reset_control_get, right after checking dev->of_node hence
    dev can never be null. Clean this up by removing the redundant
    null check.

    Thanks to Philipp Zabel for spotting that dev can never be null.

    Addresses-Coverity: ("Dereference before null check")
    Fixes: 6691dffab0ab ("reset: add support for non-DT systems")
    Signed-off-by: Colin Ian King
    Reviewed-by: Bartosz Golaszewski
    Signed-off-by: Philipp Zabel

    Colin Ian King
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner