10 Apr, 2020

1 commit

  • Pull RISC-V updates from Palmer Dabbelt:
    "This contains a handful of new features:

    - Partial support for the Kendryte K210.

    There are still a few outstanding issues that I have patches for,
    but I don't actually have a board to test them so they're not
    included yet.

    - SBI v0.2 support.

    - Fixes to support for building with LLVM-based toolchains. The
    resulting images are known not to boot yet.

    I don't anticipate a part two, but I'll probably have something early
    in the RCs to finish up the K210 support"

    * tag 'riscv-for-linus-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (38 commits)
    riscv: create a loader.bin boot image for Kendryte SoC
    riscv: Kendryte K210 default config
    riscv: Add Kendryte K210 device tree
    riscv: Select required drivers for Kendryte SOC
    riscv: Add Kendryte K210 SoC support
    riscv: Add SOC early init support
    riscv: Unaligned load/store handling for M_MODE
    RISC-V: Support cpu hotplug
    RISC-V: Add supported for ordered booting method using HSM
    RISC-V: Add SBI HSM extension definitions
    RISC-V: Export SBI error to linux error mapping function
    RISC-V: Add cpu_ops and modify default booting method
    RISC-V: Move relocate and few other functions out of __init
    RISC-V: Implement new SBI v0.2 extensions
    RISC-V: Introduce a new config for SBI v0.1
    RISC-V: Add SBI v0.2 extension definitions
    RISC-V: Add basic support for SBI v0.2
    RISC-V: Mark existing SBI as 0.1 SBI.
    riscv: Use macro definition instead of magic number
    riscv: Add support to dump the kernel page tables
    ...

    Linus Torvalds
     

04 Apr, 2020

3 commits

  • Pull ARM driver updates from Arnd Bergmann:
    "These are the usual updates for SoC specific device drivers and
    related subsystems that don't have their own top-level maintainers:

    - ARM SCMI/SCPI updates to allow pluggable transport layers

    - TEE subsystem cleanups

    - A new driver for the Amlogic secure power domain controller

    - Various driver updates for the NXP Layerscape DPAA2, NXP i.MX SCU
    and TI OMAP2+ sysc drivers.

    - Qualcomm SoC driver updates, including a new library module for
    "protection domain" notifications

    - Lots of smaller bugfixes and cleanups in other drivers"

    * tag 'arm-drivers-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (70 commits)
    soc: fsl: qe: fix sparse warnings for ucc_slow.c
    soc: fsl: qe: ucc_slow: remove 0 assignment for kzalloc'ed structure
    soc: fsl: qe: fix sparse warnings for ucc_fast.c
    soc: fsl: qe: fix sparse warnings for qe_ic.c
    soc: fsl: qe: fix sparse warnings for ucc.c
    soc: fsl: qe: fix sparse warning for qe_common.c
    soc: fsl: qe: fix sparse warnings for qe.c
    soc: qcom: Fix QCOM_APR dependencies
    soc: qcom: pdr: Avoid uninitialized use of found in pdr_indication_cb
    soc: imx: drop COMPILE_TEST for IMX_SCU_SOC
    firmware: imx: add COMPILE_TEST for IMX_SCU driver
    soc: imx: gpc: fix power up sequencing
    soc: imx: increase build coverage for imx8m soc driver
    soc: qcom: apr: Add avs/audio tracking functionality
    dt-bindings: soc: qcom: apr: Add protection domain bindings
    soc: qcom: Introduce Protection Domain Restart helpers
    devicetree: bindings: firmware: add ipq806x to qcom_scm
    memory: tegra: Correct debugfs clk rate-range on Tegra124
    memory: tegra: Correct debugfs clk rate-range on Tegra30
    memory: tegra: Correct debugfs clk rate-range on Tegra20
    ...

    Linus Torvalds
     
  • Pull ARM SoC updates from Arnd Bergmann:
    "The code changes are mostly for 32-bit platforms and include:

    - Lots of updates for the Nvidia Tegra platform, including cpuidle,
    pmc, and dt-binding changes

    - Microchip at91 power management updates for the recently added
    sam9x60 SoC

    - Treewide setup_irq deprecation by afzal mohammed

    - STMicroelectronics stm32 gains earlycon support

    - Renesas platforms with Cortex-A9 can now use the global timer

    - Some TI OMAP2+ platforms gain cpuidle support

    - Various cleanups for the i.MX6 and Orion platforms, as well as
    Kconfig files across all platforms"

    * tag 'arm-soc-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (75 commits)
    ARM: qcom: Add support for IPQ40xx
    ARM: mmp: replace setup_irq() by request_irq()
    ARM: cns3xxx: replace setup_irq() by request_irq()
    ARM: spear: replace setup_irq() by request_irq()
    ARM: ep93xx: Replace setup_irq() by request_irq()
    ARM: iop32x: replace setup_irq() by request_irq()
    arm: mach-dove: Mark dove_io_desc as __maybe_unused
    ARM: orion: replace setup_irq() by request_irq()
    ARM: debug: stm32: add UART early console support for STM32MP1
    ARM: debug: stm32: add UART early console support for STM32H7
    ARM: debug: stm32: add UART early console configuration for STM32F7
    ARM: debug: stm32: add UART early console configuration for STM32F4
    cpuidle: tegra: Disable CC6 state if LP2 unavailable
    cpuidle: tegra: Squash Tegra114 driver into the common driver
    cpuidle: tegra: Squash Tegra30 driver into the common driver
    cpuidle: Refactor and move out NVIDIA Tegra20 driver into drivers/cpuidle
    ARM: tegra: cpuidle: Remove unnecessary memory barrier
    ARM: tegra: cpuidle: Make abort_flag atomic
    ARM: tegra: cpuidle: Handle case where secondary CPU hangs on entering LP2
    ARM: tegra: Make outer_disable() open-coded
    ...

    Linus Torvalds
     
  • Add support for the Kendryte K210 RISC-V SoC. For now, this support
    only provides a simple sysctl driver allowing to setup the CPU and
    uart clock. This support is enabled through the new Kconfig option
    SOC_KENDRYTE and defines the config option CONFIG_K210_SYSCTL
    to enable the K210 SoC sysctl driver compilation.

    The sysctl driver also registers an early SoC initialization function
    allowing enabling the general purpose use of the 2MB of SRAM normally
    reserved for the SoC AI engine. This initialization function is
    automatically called before the dt early initialization using the flat
    dt root node compatible property matching the value "kendryte,k210".

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Damien Le Moal
    [Palmer: Add missing endmenu in Kconfig.socs]
    Signed-off-by: Palmer Dabbelt

    Christoph Hellwig
     

27 Mar, 2020

1 commit

  • …eo/linux into arm/drivers

    NXP/FSL SoC driver updates for v5.7

    DPAA2 DPIO driver performance optimization
    - Add and use QMAN multiple enqueue interface
    - Use function pointer indirection to replace checks in hotpath

    QUICC Engine drivers
    - Fix sparse warnings and exposed endian issues

    * tag 'soc-fsl-next-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux:
    soc: fsl: qe: fix sparse warnings for ucc_slow.c
    soc: fsl: qe: ucc_slow: remove 0 assignment for kzalloc'ed structure
    soc: fsl: qe: fix sparse warnings for ucc_fast.c
    soc: fsl: qe: fix sparse warnings for qe_ic.c
    soc: fsl: qe: fix sparse warnings for ucc.c
    soc: fsl: qe: fix sparse warning for qe_common.c
    soc: fsl: qe: fix sparse warnings for qe.c
    soc: fsl: dpio: fix dereference of pointer p before null check
    soc: fsl: dpio: Replace QMAN array mode with ring mode enqueue
    soc: fsl: dpio: QMAN performance improvement with function pointer indirection
    soc: fsl: dpio: Adding QMAN multiple enqueue interface

    Link: https://lore.kernel.org/r/20200326001257.22696-1-leoyang.li@nxp.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

26 Mar, 2020

4 commits

  • …ias.bgg/linux into arm/soc

    pmic wrapper:
    - add support for MT6779 SoC

    cmdq-helper:
    - set knows_txdone in mailbox client

    * tag 'v5.6-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
    soc: mediatek: pwrap: add support for MT6359 PMIC
    soc: mediatek: pwrap: add pwrap driver for MT6779 SoCs
    dt-bindings: pwrap: mediatek: add pwrap support for MT6779
    soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper

    Link: https://lore.kernel.org/r/61165e91-f211-ad37-a81c-cbf3ff69fa1b@gmail.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …egra/linux into arm/soc

    soc/tegra: Changes for v5.7-rc1

    These changes implement various clocks that are controlled by the PMC
    and add support for configuring the voltage level of some pins (needed
    for example to support high-speed modes on the SD/MMC interfaces).

    * tag 'tegra-for-5.7-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    soc/tegra: pmc: Cleanup whitespace usage
    soc/tegra: pmc: Add pins for Tegra194
    soc/tegra: Add support for 32 kHz blink clock
    soc/tegra: Add Tegra PMC clocks registration into PMC driver
    dt-bindings: usb: Add NVIDIA Tegra XUSB device mode controller binding
    dt-bindings: phy: tegra-xusb: Add usb-role-switch
    dt-bindings: phy: tegra: Add Tegra194 support
    dt-bindings: soc: tegra-pmc: Add ID for Tegra PMC 32 kHz blink clock
    dt-bindings: soc: tegra-pmc: Add Tegra PMC clock bindings
    dt-bindings: tegra: Convert Tegra PMC bindings to YAML
    dt-bindings: clock: tegra: Add IDs for OSC clocks

    Link: https://lore.kernel.org/r/20200313165848.2915133-3-thierry.reding@gmail.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …rnel/git/tmlind/linux-omap into arm/soc

    PM changes for am335x and am437x for v5.7 merge window

    A series of changes from Dave Gerlach to enable basic cpuidle support
    for am335x and am437x based on generic cpuidle-arm driver.

    * tag 'omap-for-v5.7/pm33xx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: omap2plus_defconfig: Add CONFIG_ARM_CPUIDLE
    soc: ti: pm33xx: Add base cpuidle support
    ARM: OMAP2+: pm33xx-core: Extend platform_data ops for cpuidle
    ARM: OMAP2+: pm33xx-core: Add cpuidle_ops for am335x/am437x
    dt-bindings: arm: cpu: Add TI AM335x and AM437x enable method

    Link: https://lore.kernel.org/r/pull-1583511417-919838@atomide.com-2
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …kernel/git/geert/renesas-devel into arm/soc

    Renesas ARM SoC updates for v5.7

    - Enable ARM global timer on Cortex-A9 MPCore SoCs,
    - A minor cleanup.

    * tag 'renesas-arm-soc-for-v5.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
    ARM: shmobile: Replace <linux/clk-provider.h> by <linux/of_clk.h>
    ARM: shmobile: Enable ARM_GLOBAL_TIMER on Cortex-A9 MPCore SoCs

    Link: https://lore.kernel.org/r/20200226110221.19288-3-geert+renesas@glider.be
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

25 Mar, 2020

12 commits

  • Correct the probe return value to -ENODEV on non-Exynos platforms.

    Link: https://lore.kernel.org/r/20200316175652.5604-4-krzk@kernel.org
    Fixes: 02fb29882d5c ("soc: samsung: chipid: Drop "syscon" compatible requirement")
    Cc:
    Signed-off-by: Marek Szyprowski
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Arnd Bergmann

    Marek Szyprowski
     
  • …o/linux into arm/fixes

    NXP/FSL soc driver fixes for v5.6

    DPAA2 DPIO
    - Fix a kernel hang caused by irq requested before creating dpio

    * tag 'soc-fsl-fix-v5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux:
    soc: fsl: dpio: register dpio irq handlers after dpio create

    Link: https://lore.kernel.org/r/20200312202525.16708-1-leoyang.li@nxp.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …wnguo/linux into arm/drivers

    i.MX drivers update for 5.7:

    - Update SCU power domain driver to include PD ranges for audio, CM40
    I2C and INTMUX, also enlarge PD range for mu_b.
    - Remove IMX_SC_RPC_SVC_ABORT from SCU API, as it was added by mistake.
    - Increase build test coverage for i.MX8M SoC and IMX_SCU driver.
    - Improve i.MX GPC power up sequencing to ensure that the reset is
    properly propagated through the peripheral devices in the power
    domain.

    * tag 'imx-drivers-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    soc: imx: drop COMPILE_TEST for IMX_SCU_SOC
    firmware: imx: add COMPILE_TEST for IMX_SCU driver
    soc: imx: gpc: fix power up sequencing
    soc: imx: increase build coverage for imx8m soc driver
    firmware: imx: scu-pd: add power domain for I2C and INTMUX in CM40 SS
    firmware: imx: Remove IMX_SC_RPC_SVC_ABORT
    firmware: imx: scu-pd: enlarge PD range for mu_b
    firmware: imx: scu-pd: Add missing audio PD ranges
    soc: imx: gpcv2: include linux/sizes.h

    Link: https://lore.kernel.org/r/20200318051918.32579-1-shawnguo@kernel.org
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …t/qcom/linux into arm/drivers

    Qualcomm driver updates for v5.7

    This adds a new library for subscribing to notifications about
    protection domains being stated and stopped and the integration of this
    with the APR driver. It also contains fixes and cleanups for AOSS
    driver, socinfo and rpmh.

    * tag 'qcom-drivers-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
    soc: qcom: Fix QCOM_APR dependencies
    soc: qcom: pdr: Avoid uninitialized use of found in pdr_indication_cb
    soc: qcom: apr: Add avs/audio tracking functionality
    dt-bindings: soc: qcom: apr: Add protection domain bindings
    soc: qcom: Introduce Protection Domain Restart helpers
    devicetree: bindings: firmware: add ipq806x to qcom_scm
    soc: qcom: socinfo: Use seq_putc() if possible
    drivers: qcom: rpmh-rsc: Use rcuidle tracepoints for rpmh
    soc: qcom: Do not depend on ARCH_QCOM for QMI helpers
    soc: qcom: aoss: Read back before triggering the IRQ
    soc: qcom: aoss: Use wake_up_all() instead of wake_up_interruptible_all()
    drivers: qcom: rpmh: remove rpmh_flush export
    drivers: qcom: rpmh: fix macro to accept NULL argument

    Link: https://lore.kernel.org/r/20200318044236.GD470201@yoga
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …lman/linux-amlogic into arm/drivers

    soc: drivers: Amlogic updates for v5.7
    - Add secure power domain controller

    * tag 'amlogic-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
    dt-bindings: power: Fix dt_binding_check error
    soc: amlogic: fix compile failure with MESON_SECURE_PM_DOMAINS & !MESON_SM
    soc: amlogic: Add support for Secure power domains controller
    dt-bindings: power: add Amlogic secure power domains bindings
    firmware: meson_sm: Add secure power domain support

    Link: https://lore.kernel.org/r/7hpndcugoo.fsf@baylibre.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …kernel/git/geert/renesas-devel into arm/drivers

    Renesas driver updates for v5.7

    - Miscellaneous fixes and improvements.

    * tag 'renesas-drivers-for-v5.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
    soc: renesas: Remove ARCH_R8A7795
    soc: renesas: rcar-sysc: Use the correct style for SPDX License Identifier

    Link: https://lore.kernel.org/r/20200226110221.19288-6-geert+renesas@glider.be
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • Fixes the following sparse warnings, some of these endian issues are
    real issues that need to be fixed.

    drivers/soc/fsl/qe/ucc_slow.c:78:17: warning: incorrect type in assignment (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:78:17: expected struct ucc_slow *us_regs
    drivers/soc/fsl/qe/ucc_slow.c:78:17: got struct ucc_slow [noderef] *us_regs
    drivers/soc/fsl/qe/ucc_slow.c:81:18: warning: incorrect type in argument 1 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:81:18: expected void const volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:81:18: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:90:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:90:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:90:9: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:99:17: warning: incorrect type in assignment (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:99:17: expected struct ucc_slow *us_regs
    drivers/soc/fsl/qe/ucc_slow.c:99:17: got struct ucc_slow [noderef] *us_regs
    drivers/soc/fsl/qe/ucc_slow.c:102:18: warning: incorrect type in argument 1 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:102:18: expected void const volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:102:18: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:111:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:111:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:111:9: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:172:28: warning: Using plain integer as NULL pointer
    drivers/soc/fsl/qe/ucc_slow.c:174:25: warning: cast removes address space '' of expression
    drivers/soc/fsl/qe/ucc_slow.c:175:25: warning: cast removes address space '' of expression
    drivers/soc/fsl/qe/ucc_slow.c:194:23: warning: incorrect type in assignment (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:194:23: expected struct ucc_slow_pram *us_pram
    drivers/soc/fsl/qe/ucc_slow.c:194:23: got void [noderef] *
    drivers/soc/fsl/qe/ucc_slow.c:204:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:204:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:204:9: got restricted __be16 *
    drivers/soc/fsl/qe/ucc_slow.c:229:41: warning: incorrect type in assignment (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:229:41: expected struct qe_bd *tx_bd
    drivers/soc/fsl/qe/ucc_slow.c:229:41: got void [noderef] *
    drivers/soc/fsl/qe/ucc_slow.c:232:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:232:17: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:232:17: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:234:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:234:17: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:234:17: got unsigned int [usertype] *
    drivers/soc/fsl/qe/ucc_slow.c:238:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:238:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:238:9: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:239:9: warning: cast from restricted __be32
    drivers/soc/fsl/qe/ucc_slow.c:239:9: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/ucc_slow.c:239:9: expected unsigned int [usertype] val
    drivers/soc/fsl/qe/ucc_slow.c:239:9: got restricted __be32 [usertype]
    drivers/soc/fsl/qe/ucc_slow.c:239:9: warning: cast from restricted __be32
    drivers/soc/fsl/qe/ucc_slow.c:239:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:239:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:239:9: got unsigned int [usertype] *
    drivers/soc/fsl/qe/ucc_slow.c:242:26: warning: incorrect type in assignment (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:242:26: expected struct qe_bd *rx_bd
    drivers/soc/fsl/qe/ucc_slow.c:242:26: got void [noderef] *
    drivers/soc/fsl/qe/ucc_slow.c:245:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:245:17: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:245:17: got unsigned int [usertype] *
    drivers/soc/fsl/qe/ucc_slow.c:247:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:247:17: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:247:17: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:251:9: warning: cast from restricted __be32
    drivers/soc/fsl/qe/ucc_slow.c:251:9: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/ucc_slow.c:251:9: expected unsigned int [usertype] val
    drivers/soc/fsl/qe/ucc_slow.c:251:9: got restricted __be32 [usertype]
    drivers/soc/fsl/qe/ucc_slow.c:251:9: warning: cast from restricted __be32
    drivers/soc/fsl/qe/ucc_slow.c:251:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:251:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:251:9: got unsigned int [usertype] *
    drivers/soc/fsl/qe/ucc_slow.c:252:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:252:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:252:9: got restricted __be32 *
    drivers/soc/fsl/qe/ucc_slow.c:276:39: warning: mixing different enum types:
    drivers/soc/fsl/qe/ucc_slow.c:276:39: unsigned int enum ucc_slow_tx_oversampling_rate
    drivers/soc/fsl/qe/ucc_slow.c:276:39: unsigned int enum ucc_slow_rx_oversampling_rate
    drivers/soc/fsl/qe/ucc_slow.c:296:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:296:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:296:9: got restricted __be16 *
    drivers/soc/fsl/qe/ucc_slow.c:297:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc_slow.c:297:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc_slow.c:297:9: got restricted __be16 *

    Signed-off-by: Li Yang

    Li Yang
     
  • Not necessary to set to 0 for the kzalloc'ed area so remove these
    assignements.

    Signed-off-by: Li Yang

    Li Yang
     
  • Fixes the following sparse warnings:

    drivers/soc/fsl/qe/qe_ic.c:253:32: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:253:32: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:253:32: got unsigned int [noderef] [usertype] *regs
    drivers/soc/fsl/qe/qe_ic.c:254:26: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:254:26: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:254:26: got unsigned int [noderef] [usertype] *regs
    drivers/soc/fsl/qe/qe_ic.c:269:32: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:269:32: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:269:32: got unsigned int [noderef] [usertype] *regs
    drivers/soc/fsl/qe/qe_ic.c:270:26: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:270:26: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:270:26: got unsigned int [noderef] [usertype] *regs
    drivers/soc/fsl/qe/qe_ic.c:341:31: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:341:31: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:341:31: got unsigned int [noderef] [usertype] *regs
    drivers/soc/fsl/qe/qe_ic.c:357:31: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:357:31: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:357:31: got unsigned int [noderef] [usertype] *regs
    drivers/soc/fsl/qe/qe_ic.c:450:26: warning: incorrect type in argument 1 (different base types)
    drivers/soc/fsl/qe/qe_ic.c:450:26: expected restricted __be32 [noderef] [usertype] *base
    drivers/soc/fsl/qe/qe_ic.c:450:26: got unsigned int [noderef] [usertype] *regs

    Signed-off-by: Li Yang
    Reviewed-by: Rasmus Villemoes

    Li Yang
     
  • Fixes the following sparse warnings:

    drivers/soc/fsl/qe/ucc.c:637:20: warning: incorrect type in assignment (different address spaces)
    drivers/soc/fsl/qe/ucc.c:637:20: expected struct qe_mux *qe_mux_reg
    drivers/soc/fsl/qe/ucc.c:637:20: got struct qe_mux [noderef] *
    drivers/soc/fsl/qe/ucc.c:652:9: warning: incorrect type in argument 1 (different address spaces)
    drivers/soc/fsl/qe/ucc.c:652:9: expected void const volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc.c:652:9: got restricted __be32 *
    drivers/soc/fsl/qe/ucc.c:652:9: warning: incorrect type in argument 2 (different address spaces)
    drivers/soc/fsl/qe/ucc.c:652:9: expected void volatile [noderef] *addr
    drivers/soc/fsl/qe/ucc.c:652:9: got restricted __be32 *

    Signed-off-by: Li Yang
    Reviewed-by: Rasmus Villemoes

    Li Yang
     
  • Fixes the following sparse warning:

    drivers/soc/fsl/qe/qe_common.c:75:48: warning: incorrect type in argument 2 (different base types)
    drivers/soc/fsl/qe/qe_common.c:75:48: expected restricted __be32 const [usertype] *addr
    drivers/soc/fsl/qe/qe_common.c:75:48: got unsigned int *

    Signed-off-by: Li Yang
    Reviewed-by: Rasmus Villemoes

    Li Yang
     
  • Fixes the following sparse warnings:
    drivers/soc/fsl/qe/qe.c:426:9: warning: cast to restricted __be32
    drivers/soc/fsl/qe/qe.c:528:41: warning: incorrect type in assignment (different base types)
    drivers/soc/fsl/qe/qe.c:528:41: expected unsigned long long static [addressable] [toplevel] [usertype] extended_modes
    drivers/soc/fsl/qe/qe.c:528:41: got restricted __be64 const [usertype] extended_modes

    Signed-off-by: Li Yang

    Li Yang
     

17 Mar, 2020

2 commits

  • QCOM_APR selects QCOM_PDR_HELPERS, which in turn selects
    QCOM_QMI_HELPERS, which depends on NET. So ensure that APR's
    dependencies are met by making it depend on NET as well.

    Fixes: 834735662602 ("soc: qcom: apr: Add avs/audio tracking functionality")
    Reported-by: Randy Dunlap
    Signed-off-by: Bjorn Andersson

    Bjorn Andersson
     
  • Clang warns:

    ../drivers/soc/qcom/pdr_interface.c:316:2: warning: variable 'found' is
    used uninitialized whenever 'for' loop exits because its condition is
    false [-Wsometimes-uninitialized]
    list_for_each_entry(pds, &pdr->lookups, node) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../include/linux/list.h:624:7: note: expanded from macro
    'list_for_each_entry'
    &pos->member != (head);
    ^~~~~~~~~~~~~~~~~~~~~~
    ../drivers/soc/qcom/pdr_interface.c:325:7: note: uninitialized use
    occurs here
    if (!found)
    ^~~~~
    ../drivers/soc/qcom/pdr_interface.c:316:2: note: remove the condition if
    it is always true
    list_for_each_entry(pds, &pdr->lookups, node) {
    ^
    ../include/linux/list.h:624:7: note: expanded from macro
    'list_for_each_entry'
    &pos->member != (head);
    ^
    ../drivers/soc/qcom/pdr_interface.c:309:12: note: initialize the
    variable 'found' to silence this warning
    bool found;
    ^
    = 0
    1 warning generated.

    Initialize found to false to fix this warning.

    Reviewed-by: Nick Desaulniers
    Fixes: fbe639b44a82 ("soc: qcom: Introduce Protection Domain Restart helpers")
    Link: https://github.com/ClangBuiltLinux/linux/issues/933
    Signed-off-by: Nathan Chancellor
    Link: https://lore.kernel.org/r/20200316204855.15611-1-natechancellor@gmail.com
    Signed-off-by: Bjorn Andersson

    Nathan Chancellor
     

16 Mar, 2020

3 commits

  • With COMPILE_TEST, there will be build error, because IMX_SCU
    might be set to n, so drop COMPILE_TEST.

    Suggested-by: Shawn Guo
    Signed-off-by: Peng Fan
    Signed-off-by: Shawn Guo

    Peng Fan
     
  • Currently we wait only until the PGC inverts the isolation setting
    before disabling the peripheral clocks. This doesn't ensure that the
    reset is properly propagated through the peripheral devices in the
    power domain.

    Wait until the PGC signals that the power up request is done and
    wait a bit for resets to propagate before disabling the clocks.

    Signed-off-by: Lucas Stach
    Signed-off-by: Shawn Guo

    Lucas Stach
     
  • The soc-imx8.c driver is actually for i.MX8M family, so rename it
    to soc-imx8m.c.

    Use CONFIG_SOC_IMX8M as build gate, not CONFIG_ARCH_MXC, to control
    whether build this driver, also make it possible for compile test.

    Default set it to y for ARCH_MXC && ARM64

    Signed-off-by: Peng Fan
    Reviewed-by: Leonard Crestez
    Signed-off-by: Shawn Guo

    Peng Fan
     

15 Mar, 2020

2 commits

  • Use PDR helper functions to track the protection domains that the apr
    services are dependent upon on SDM845 SoC, specifically the "avs/audio"
    service running on ADSP Q6.

    Reviewed-by: Bjorn Andersson
    Signed-off-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200312120842.21991-4-sibis@codeaurora.org
    Signed-off-by: Bjorn Andersson

    Sibi Sankar
     
  • Qualcomm SoCs (starting with MSM8998) allow for multiple protection domains
    to run on the same Q6 sub-system. This allows for services like ATH10K WLAN
    FW to have their own separate address space and crash/recover without
    disrupting the modem and other PDs running on the same sub-system. The PDR
    helpers introduces an abstraction that allows for tracking/controlling the
    life cycle of protection domains running on various Q6 sub-systems.

    Signed-off-by: Sibi Sankar
    Link: https://lore.kernel.org/r/20200312120842.21991-2-sibis@codeaurora.org
    Signed-off-by: Bjorn Andersson

    Sibi Sankar
     

13 Mar, 2020

4 commits

  • Avoid using a mixture of tabs and spaces within tables to make them
    easier to read and more consistently formatted.

    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • Extend the Tegra194 IO pad table with additional information such as pin
    names and 1.8/3.3 V settings to allow a table of voltage control pins to
    generated from it. This is similar to what's done for older chips and is
    needed to support high-speed modes for SDHCI where switching the pins to
    1.8V or 3.3V is necessary.

    Signed-off-by: Venkat Reddy Talla
    Signed-off-by: Thierry Reding

    Venkat Reddy Talla
     
  • Tegra PMC has blink control to output 32 kHz clock out to Tegra blink
    pin. Blink pad DPD state and enable controls are part of Tegra PMC
    register space.

    Currently Tegra clock driver registers blink control by passing PMC
    address and register offset to clk_register_gate which performs direct
    PMC access during clk_ops and with this when PMC is in secure mode, any
    access from non-secure world does not go through.

    This patch adds blink control registration to the Tegra PMC driver using
    PMC specific clock gate operations that use tegra_pmc_readl() and
    tegra_pmc_writel() to support both secure mode and non-secure
    mode PMC register access.

    Tested-by: Dmitry Osipenko
    Reviewed-by: Dmitry Osipenko
    Signed-off-by: Sowjanya Komatineni
    Signed-off-by: Thierry Reding

    Sowjanya Komatineni
     
  • Tegra PMC has clk_out_1, clk_out_2, and clk_out_3 clocks and currently
    these PMC clocks are registered by Tegra clock driver with each clock as
    separate mux and gate clocks using clk_register_mux and clk_register_gate
    by passing PMC base address and register offsets and PMC programming for
    these clocks happens through direct PMC access by the clock driver.

    With this, when PMC is in secure mode any direct PMC access from the
    non-secure world does not go through and these clocks will not be
    functional.

    This patch adds these PMC clocks registration to pmc driver with PMC as
    a clock provider and registers each clock as single clock.

    clk_ops callback implementations for these clocks uses tegra_pmc_readl and
    tegra_pmc_writel which supports PMC programming in both secure mode and
    non-secure mode.

    Tested-by: Dmitry Osipenko
    Reviewed-by: Dmitry Osipenko
    Signed-off-by: Sowjanya Komatineni
    Signed-off-by: Thierry Reding

    Sowjanya Komatineni
     

11 Mar, 2020

1 commit

  • The dpio irqs must be registered when you can actually
    receive interrupts, ie when the dpios are created.
    Kernel goes through NULL pointer dereference errors
    followed by kernel panic [1] because the dpio irqs are
    enabled before the dpio is created.

    [1]
    Unable to handle kernel NULL pointer dereference at virtual address 0040
    fsl_mc_dpio dpio.14: probed
    fsl_mc_dpio dpio.13: Adding to iommu group 11
    ISV = 0, ISS = 0x00000004
    Unable to handle kernel NULL pointer dereference at virtual address 0040
    Mem abort info:
    ESR = 0x96000004
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
    Data abort info:
    ISV = 0, ISS = 0x00000004
    CM = 0, WnR = 0
    [0000000000000040] user address but active_mm is swapper
    Internal error: Oops: 96000004 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 2 PID: 151 Comm: kworker/2:1 Not tainted 5.6.0-rc4-next-20200304 #1
    Hardware name: NXP Layerscape LX2160ARDB (DT)
    Workqueue: events deferred_probe_work_func
    pstate: 00000085 (nzcv daIf -PAN -UAO)
    pc : dpaa2_io_irq+0x18/0xe0
    lr : dpio_irq_handler+0x1c/0x28
    sp : ffff800010013e20
    x29: ffff800010013e20 x28: ffff0026d9b4c140
    x27: ffffa1d38a142018 x26: ffff0026d2953400
    x25: ffffa1d38a142018 x24: ffffa1d38a7ba1d8
    x23: ffff800010013f24 x22: 0000000000000000
    x21: 0000000000000072 x20: ffff0026d2953400
    x19: ffff0026d2a68b80 x18: 0000000000000001
    x17: 000000002fb37f3d x16: 0000000035eafadd
    x15: ffff0026d9b4c5b8 x14: ffffffffffffffff
    x13: ff00000000000000 x12: 0000000000000038
    x11: 0101010101010101 x10: 0000000000000040
    x9 : ffffa1d388db11e4 x8 : ffffa1d38a7e40f0
    x7 : ffff0026da414f38 x6 : 0000000000000000
    x5 : ffff0026da414d80 x4 : ffff5e5353d0c000
    x3 : ffff800010013f60 x2 : ffffa1d388db11c8
    x1 : ffff0026d2a67c00 x0 : 0000000000000000
    Call trace:
    dpaa2_io_irq+0x18/0xe0
    dpio_irq_handler+0x1c/0x28
    __handle_irq_event_percpu+0x78/0x2c0
    handle_irq_event_percpu+0x38/0x90
    handle_irq_event+0x4c/0xd0
    handle_fasteoi_irq+0xbc/0x168
    generic_handle_irq+0x2c/0x40
    __handle_domain_irq+0x68/0xc0
    gic_handle_irq+0x64/0x150
    el1_irq+0xb8/0x180
    _raw_spin_unlock_irqrestore+0x14/0x48
    irq_set_affinity_hint+0x6c/0xa0
    dpaa2_dpio_probe+0x2a4/0x518
    fsl_mc_driver_probe+0x28/0x70
    really_probe+0xdc/0x320
    driver_probe_device+0x5c/0xf0
    __device_attach_driver+0x88/0xc0
    bus_for_each_drv+0x7c/0xc8
    __device_attach+0xe4/0x140
    device_initial_probe+0x18/0x20
    bus_probe_device+0x98/0xa0
    device_add+0x41c/0x758
    fsl_mc_device_add+0x184/0x530
    dprc_scan_objects+0x280/0x370
    dprc_probe+0x124/0x3b0
    fsl_mc_driver_probe+0x28/0x70
    really_probe+0xdc/0x320
    driver_probe_device+0x5c/0xf0
    __device_attach_driver+0x88/0xc0
    bus_for_each_drv+0x7c/0xc8
    __device_attach+0xe4/0x140
    device_initial_probe+0x18/0x20
    bus_probe_device+0x98/0xa0
    deferred_probe_work_func+0x74/0xa8
    process_one_work+0x1c8/0x470
    worker_thread+0x1f8/0x428
    kthread+0x124/0x128
    ret_from_fork+0x10/0x18
    Code: a9bc7bfd 910003fd a9025bf5 a90363f7 (f9402015)
    ---[ end trace 38298e1a29e7a570 ]---
    Kernel panic - not syncing: Fatal exception in interrupt
    SMP: stopping secondary CPUs
    Mem abort info:
    ESR = 0x96000004
    CM = 0, WnR = 0
    EC = 0x25: DABT (current EL), IL = 32 bits
    [0000000000000040] user address but active_mm is swapper
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
    Data abort info:
    ISV = 0, ISS = 0x00000004
    CM = 0, WnR = 0
    [0000000000000040] user address but active_mm is swapper
    SMP: failed to stop secondary CPUs 0-2
    Kernel Offset: 0x21d378600000 from 0xffff800010000000
    PHYS_OFFSET: 0xffffe92180000000
    CPU features: 0x10002,21806008
    Memory Limit: none
    ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---

    Signed-off-by: Laurentiu Tudor
    Signed-off-by: Grigore Popescu
    Signed-off-by: Li Yang

    Grigore Popescu
     

10 Mar, 2020

2 commits

  • This is a single character that we're printing out. Use seq_putc() for
    that to simplify the code.

    Cc: Vaishali Thakkar
    Signed-off-by: Stephen Boyd
    Link: https://lore.kernel.org/r/20200309185123.65265-1-swboyd@chromium.org
    Signed-off-by: Bjorn Andersson

    Stephen Boyd
     
  • This tracepoint is hit now that we call into the rpmh code from the cpu
    idle path. Let's move this to be an rcuidle tracepoint so that we avoid
    the RCU idle splat below

    =============================
    WARNING: suspicious RCU usage
    5.4.10 #68 Tainted: G S
    -----------------------------
    drivers/soc/qcom/trace-rpmh.h:72 suspicious rcu_dereference_check() usage!

    other info that might help us debug this:

    RCU used illegally from idle CPU!
    rcu_scheduler_active = 2, debug_locks = 1
    RCU used illegally from extended quiescent state!
    5 locks held by swapper/2/0:
    #0: ffffff81745d6ee8 (&(&genpd->slock)->rlock){+.+.}, at: genpd_lock_spin+0x1c/0x2c
    #1: ffffff81745da6e8 (&(&genpd->slock)->rlock/1){....}, at: genpd_lock_nested_spin+0x24/0x34
    #2: ffffff8174f2ca20 (&(&genpd->slock)->rlock/2){....}, at: genpd_lock_nested_spin+0x24/0x34
    #3: ffffff8174f2c300 (&(&drv->client.cache_lock)->rlock){....}, at: rpmh_flush+0x48/0x24c
    #4: ffffff8174f2c150 (&(&tcs->lock)->rlock){+.+.}, at: rpmh_rsc_write_ctrl_data+0x74/0x270

    stack backtrace:
    CPU: 2 PID: 0 Comm: swapper/2 Tainted: G S 5.4.10 #68
    Call trace:
    dump_backtrace+0x0/0x174
    show_stack+0x20/0x2c
    dump_stack+0xc8/0x124
    lockdep_rcu_suspicious+0xe4/0x104
    __tcs_buffer_write+0x230/0x2d0
    rpmh_rsc_write_ctrl_data+0x210/0x270
    rpmh_flush+0x84/0x24c
    rpmh_domain_power_off+0x78/0x98
    _genpd_power_off+0x40/0xc0
    genpd_power_off+0x168/0x208
    genpd_power_off+0x1e0/0x208
    genpd_power_off+0x1e0/0x208
    genpd_runtime_suspend+0x1ac/0x220
    __rpm_callback+0x70/0xfc
    rpm_callback+0x34/0x8c
    rpm_suspend+0x218/0x4a4
    __pm_runtime_suspend+0x88/0xac
    psci_enter_domain_idle_state+0x3c/0xb4
    cpuidle_enter_state+0xb8/0x284
    cpuidle_enter+0x38/0x4c
    call_cpuidle+0x3c/0x68
    do_idle+0x194/0x260
    cpu_startup_entry+0x24/0x28
    secondary_start_kernel+0x150/0x15c

    Acked-by: Ulf Hansson
    Reviewed-by: Douglas Anderson
    Tested-by: Sai Prakash Ranjan
    Fixes: a65a397f2451 ("cpuidle: psci: Add support for PM domains by using genpd")
    Reported-by: Sai Prakash Ranjan
    Cc: Ulf Hansson
    Signed-off-by: Stephen Boyd
    Link: https://lore.kernel.org/r/20200115013751.249588-1-swboyd@chromium.org
    Signed-off-by: Bjorn Andersson

    Stephen Boyd
     

04 Mar, 2020

1 commit

  • QMI helpers are not always used by Qualcomm platforms. One of the
    exceptions is the external modems available in near future.

    Cc: Andy Gross
    Cc: Bjorn Andersson
    Cc: linux-arm-msm@vger.kernel.org
    Signed-off-by: Manivannan Sadhasivam
    Link: https://lore.kernel.org/r/20200220095854.4804-17-manivannan.sadhasivam@linaro.org
    Signed-off-by: Bjorn Andersson

    Manivannan Sadhasivam
     

01 Mar, 2020

1 commit

  • When MESON_SECURE_PM_DOMAINS & !MESON_SM, there will be compile failure:
    .../meson-secure-pwrc.o: In function `meson_secure_pwrc_on':
    .../meson-secure-pwrc.c:76: undefined reference to `meson_sm_call'

    Fix this by adding depends on MESON_SM for MESON_SECURE_PM_DOMAINS.

    Fixes: b3dde5013e13 ("soc: amlogic: Add support for Secure power domains controller")
    Reported-by: Stephen Rothwell
    Reported-by: patchwork-bot+linux-amlogic
    Reported-by: kbuild test robot
    Signed-off-by: Jianxin Pan
    Signed-off-by: Kevin Hilman
    Tested-by: Stephen Rothwell
    Link: https://lore.kernel.org/r/1581955933-69832-1-git-send-email-jianxin.pan@amlogic.com

    Jianxin Pan
     

28 Feb, 2020

2 commits

  • Some cpuidle C-states supported on am335x and am437x, like C1 on am335x,
    require the use of the wkup_m3_ipc driver, and all C-states beyond C0 on
    both platforms require the use of the SRAM sleep code.

    Pass am33xx_do_sram_idle as the idle function to the platform pm core to
    be used by the cpuidle-arm driver when entering cpuidle states.
    am33xx_do_sram_idle will detect when the wkup_m3 is needed and ping it
    if necessary before calling the final cpu_suspend op which will execute
    the SRAM code to put the cpu into idle.

    Finally, use the begin_suspend and finish_suspend platform ops to be
    called at the beginning and end of suspend path to allow use of
    cpu_idle_poll_ctrl.

    This prevents races between cpuidle and suspend paths trying to
    communicate with the wkup_m3, as during suspend we only want it
    configured for entry to suspend.

    Acked-by: Santosh Shilimkar
    Signed-off-by: Dave Gerlach
    Acked-by: Santosh Shilimkar
    Signed-off-by: Tony Lindgren

    Dave Gerlach
     
  • In order for am335x and am437x to properly enter deeper c-states in
    cpuidle they must always call into the sleep33/43xx suspend code and
    also sometimes invoke the wkup_m3_ipc driver. These are both controlled
    by the pm33xx module so we must provide a method for the platform code
    to call back into the module when it is available as the core cpuidle
    ops that are invoked by the cpuidle-arm driver must remain as built in.

    Extend the init platform op to take an idle function as an argument so
    that we can use this to call into the pm33xx module for c-states that
    need it. Also add a deinit op so we can unregister this idle function
    from the PM core when the pm33xx module gets unloaded.

    Acked-by: Santosh Shilimkar
    Signed-off-by: Dave Gerlach
    Acked-by: Santosh Shilimkar
    Signed-off-by: Tony Lindgren

    Dave Gerlach
     

25 Feb, 2020

1 commit

  • …guo/linux into arm/fixes

    i.MX fixes for 5.6:

    - Build v7_cpu_resume() unconditionally to fix system hang in case that
    suspend is disabled but cpuidle support is enabled.
    - Drop unexisting Ethernet PHY device from imx8qxp-mek board.
    - Fix SRAM compatible strings on imx6dl-colibri-eval-v3 board.
    - Fix imx-scu driver to make sure that all messages words are written
    sequentially.
    - A series from Leonard Crestez to fix i.MX SC API users, having all
    messages aligned on 4 bytes.
    - Fix eMMC supply for phycore-som board.
    - Drop bogus frequency setting from imx7-colibri SD/MMC device, so that
    HS200 mode starts working and delivers better performance.
    - Fix opp-supported-hw for i.MX7D to get consumer and industrial parts
    work with correct frequency settings.
    - Restore MDIO compatible to the correct one for LS1021A SoC.

    * tag 'imx-fixes-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    soc: imx-scu: Align imx sc msg structs to 4
    firmware: imx: Align imx_sc_msg_req_cpu_start to 4
    firmware: imx: scu-pd: Align imx sc msg structs to 4
    firmware: imx: misc: Align imx sc msg structs to 4
    firmware: imx: scu: Ensure sequential TX
    ARM: dts: imx7-colibri: Fix frequency for sd/mmc
    arm64: dts: imx8qxp-mek: Remove unexisting Ethernet PHY
    ARM: dts: imx6dl-colibri-eval-v3: fix sram compatible properties
    ARM: dts: ls1021a: Restore MDIO compatible to gianfar
    ARM: dts: imx7d: fix opp-supported-hw
    ARM: imx: build v7_cpu_resume() unconditionally
    ARM: dts: imx6: phycore-som: fix emmc supply

    Link: https://lore.kernel.org/r/20200224120334.GH27688@dragon
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson