20 Oct, 2020

1 commit


24 Jun, 2020

1 commit


09 Apr, 2020

1 commit


08 Mar, 2020

1 commit

  • Merge Linux stable release v5.4.24 into imx_5.4.y

    * tag 'v5.4.24': (3306 commits)
    Linux 5.4.24
    blktrace: Protect q->blk_trace with RCU
    kvm: nVMX: VMWRITE checks unsupported field before read-only field
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6sll-evk.dts
    arch/arm/boot/dts/imx7ulp.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
    drivers/clk/imx/clk-composite-8m.c
    drivers/gpio/gpio-mxc.c
    drivers/irqchip/Kconfig
    drivers/mmc/host/sdhci-of-esdhc.c
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/can/flexcan.c
    drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    drivers/net/ethernet/mscc/ocelot.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/realtek.c
    drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/tee/optee/shm_pool.c
    drivers/usb/cdns3/gadget.c
    kernel/sched/cpufreq.c
    net/core/xdp.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c
    sound/soc/sof/core.c
    sound/soc/sof/imx/Kconfig
    sound/soc/sof/loader.c

    Jason Liu
     

24 Feb, 2020

2 commits

  • [ Upstream commit f4aec227e985e31d2fdc5608daf48e3de19157b7 ]

    SCSSI has reset controls for each channel in the SoCs newer than Pro4,
    so this adds missing reset controls for channel 1, 2 and 3. And more, this
    moves MCSSI reset ID after SCSSI.

    Fixes: 6b39fd590aeb ("reset: uniphier: add reset control support for SPI")
    Signed-off-by: Kunihiko Hayashi
    Acked-by: Masahiro Yamada
    Signed-off-by: Philipp Zabel
    Signed-off-by: Sasha Levin

    Kunihiko Hayashi
     
  • HDMIMIX noc has been set in ATF,
    It will be reset by hdmimix reset in kernel.
    Remove noc reset bit from hdmimix reset
    to keep the value.

    Signed-off-by: Sandor Yu
    Reviewed-by: Jared Hu
    Tested-by: Jared Hu

    Sandor Yu
     

23 Jan, 2020

1 commit

  • commit 723c0011c7f6992f57e2c629fa9c89141acc115f upstream.

    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
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     

20 Jan, 2020

1 commit


19 Jan, 2020

1 commit

  • Add hdmi reset driver.

    According hdmimix submodues.
    Group hdmimix reset bits to eight reset domains as followed:
    IMX_HDMIMIX_HDMI_TX_RESET
    IMX_HDMIMIX_HDMI_PHY_RESET
    IMX_HDMIMIX_HDMI_PAI_RESET
    IMX_HDMIMIX_HDMI_PVI_RESET
    IMX_HDMIMIX_HDMI_TRNG_RESET
    IMX_HDMIMIX_IRQ_STEER_RESET
    IMX_HDMIMIX_HDMI_HDCP_RESET
    IMX_HDMIMIX_LCDIF_RESET

    Signed-off-by: Sandor Yu
    Reviewed-by: Robby Cai

    Sandor Yu
     

18 Jan, 2020

1 commit

  • commit ce89d8d3a70fa530e16f0b0f8994385a214cd0c0 upstream.

    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
    Signed-off-by: Greg Kroah-Hartman

    Florian Fainelli
     

12 Jan, 2020

1 commit

  • [ Upstream commit db23808615e29d9a04f96806cac56f78b0fee0ef ]

    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
    Signed-off-by: Sasha Levin

    Geert Uytterhoeven
     

17 Dec, 2019

1 commit


25 Nov, 2019

11 commits

  • Use 'ARCH_MXC' config to replace 'ARCH_FSL_IMX8MM' and
    'ARCH_FSL_IMX8MN' configs which are not defined for
    dispmix reset kconfig entry.

    Signed-off-by: Fancy Fang

    Fancy Fang
     
  • devm_regmap_init_mmio_clk() will try to get clock by matching
    clock-names property in dts with its clk_id. So the clock name
    should be identical to name which clock registered. Otherwise,
    devm_regmap_init_mmio_clk() will fail with -ENOENT error.

    Signed-off-by: Guoniu.zhou

    Guoniu.zhou
     
  • Add pinctrl comsuser header file that defile the pintrl
    interfaces for different configs define.

    Reported-by: Ran Wang
    Signed-off-by: Fugang Duan
    Tested-by: Ran Wang

    Fugang Duan
     
  • Add the clkreq reset used by the L1ss feature on iMX8M

    Signed-off-by: Richard Zhu

    Richard Zhu
     
  • This is an reset driver to implement a reset controller
    device DISPMIX on IMX8MM and IMX8MN platforms. Dispmix
    reset is used to reset or enable related buses and clks
    for the submodules in DISPMIX.

    All the dispmix resets are divided into three subgroups:
    sft_rstn, clk_en and mipi_rst, and each of them contains
    several reset lines to control several different modules
    on and off in DISPMIX which doesn't require the standard
    reset flow, but only line assert and deassert operations.

    Signed-off-by: Fancy Fang

    Fancy Fang
     
  • The reset PIN may loss its state when system suspend due to GPIO
    controller power off. Set pinctrl as "sleep" state to keep PIN
    voltage during system suspend, and configurate pinctrl as "default"
    state after system resume back. Because GPIO resume back earlier
    than gpio-reset, then GPIO signal can control the PIN voltage again.

    Reviewed-by: Richard Zhu
    Signed-off-by: Fugang Duan
    Signed-off-by: Arulpandiyan Vadivel
    Signed-off-by: Shrikant Bobade
    (cherry picked from commit ea5a9cdc1941afc36fd0f5a223ea762b85512130)

    Andy Duan
     
  • Some devices need to wait for some milliseconds after reset, so add
    post reset delay in the gpio-reset chip.

    The post reset delay is optional.

    Signed-off-by: Fugang Duan
    Signed-off-by: Arulpandiyan Vadivel

    Fugang Duan
     
  • Use the cansleep variant of the GPIO API.

    Signed-off-by: Fugang Duan
    Signed-off-by: Arulpandiyan Vadivel

    Andy Duan
     
  • GPIO is widely used as the reset control for various devices. Let's
    build the support in by default.

    [shawn.guo: cherry-pick commit 795fcb3bc5bb from imx_3.10.y]
    Signed-off-by: Shawn Guo

    (cherry picked from commit 0cbf78b5b02c57e6fd0e57e811cfe56509c4fd24)
    Signed-off-by: Arulpandiyan Vadivel

    Shawn Guo
     
  • It's a little bit late to register gpio-reset driver at module_init
    time, because gpio-reset provides reset control via gpio for other
    devices which are mostly probed at module_init time too. And it
    becomes even worse, when the gpio comes from IO expander on I2C bus,
    e.g. pca953x. In that case, gpio-reset needs to be ready before I2C
    bus driver which is generally ready at subsys_initcall time. Let's
    register gpio-reset driver in arch_initcall() to have it ready early
    enough.

    The defer probe mechanism is not used here, because a reset controller
    driver should be reasonably registered early than other devices. More
    importantly, defer probe doe not help in some nasty cases, e.g. the
    gpio-pca953x device itself needs a reset from gpio-reset driver start
    working.

    [shawn.guo: cherry-pick commit 7153f05108ef from imx_3.10.y]
    Signed-off-by: Shawn Guo

    (cherry picked from commit 11e3543010d4ed50db78a5fc809f24c89e8c6e30)
    Signed-off-by: Arulpandiyan Vadivel

    Shawn Guo
     
  • This driver implements a reset controller device that toggle a gpio
    connected to a reset pin of a peripheral IC. The delay between assertion
    and de-assertion of the reset signal can be configured via device tree.

    Signed-off-by: Philipp Zabel
    Reviewed-by: Stephen Warren
    Reviewed-by: Pavel Machek
    Signed-off-by: Shawn Guo
    Signed-off-by: Arulpandiyan Vadivel

    Philipp Zabel
     

24 Oct, 2019

2 commits

  • 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
     

22 Oct, 2019

1 commit

  • Memory allocated for 'struct reset_control_array' in
    of_reset_control_array_get() is never freed in
    reset_control_array_put() resulting in kmemleak showing
    the following backtrace.

    backtrace:
    [] __kmalloc+0x1b0/0x2b0
    [] of_reset_control_array_get+0xa4/0x180
    [] 0xffff800008c669e4
    [] platform_drv_probe+0x50/0xa0
    [] really_probe+0x108/0x348
    [] driver_probe_device+0x58/0x100
    [] device_driver_attach+0x6c/0x90
    [] __driver_attach+0x84/0xc8
    [] bus_for_each_dev+0x74/0xc8
    [] driver_attach+0x20/0x28
    [] bus_add_driver+0x148/0x1f0
    [] driver_register+0x60/0x110
    [] __platform_driver_register+0x40/0x48
    [] 0xffff800008c6c020
    [] do_one_initcall+0x5c/0x1b0
    [] do_init_module+0x54/0x1d0

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

    Kishon Vijay Abraham I
     

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
     

05 Jun, 2019

2 commits

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms and conditions 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 101 file(s).

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

    Thomas Gleixner
     
  • Based on 1 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 as published by
    the free software foundation version 2 of the license this program
    is distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

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

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141900.918357685@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner