Commit Graph

952 Commits

Author SHA1 Message Date
Linus Torvalds 208eed95fc soc: driver updates for 6.19
This is the first half of the driver changes:
 
  - A treewide interface change to the "syscore" operations for
    power management, as a preparation for future Tegra specific
    changes.
 
  - Reset controller updates with added drivers for LAN969x, eic770
    and RZ/G3S SoCs.
 
  - Protection of system controller registers on Renesas and Google SoCs,
    to prevent trivially triggering a system crash from e.g. debugfs
    access.
 
  - soc_device identification updates on Nvidia, Exynos and Mediatek
 
  - debugfs support in the ST STM32 firewall driver
 
  - Minor updates for SoC drivers on AMD/Xilinx, Renesas,  Allwinner, TI
 
  - Cleanups for memory controller support on Nvidia and Renesas
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmky/8gACgkQmmx57+YA
 GNlqohAApPTLM6Q4gf1cIcsTVaP0uxx9CBgupCGuT5ORrOMKBghVWjTOTSxeEAab
 UQF465QwYUUu602GH34UmRaY9CKW2bMIsfmkgmxNB4Y4Qd7yCgQNJ/h/TnN0rBH+
 qTeEsRH/hax4miSNsh0oOZfVkZkg+23VF02d1VL0CcaX7y4oT45RPBQugrNx/gNS
 fHfVwgIq8vJ8WyrmM1h2nv1i1vgSzEy50B3kY674BBw83FcJTafNLvD7N5DSgD1H
 /I/2xeyEpb+oL1VfeHcXZaX/jf04O+cmvSzBi+MOH1tI3MpdxJib1vEYBdggoOWN
 K/FFGgsOY+DNmJPpSnPTTu8UpzksS8SxGBP7M9Q8roKZwA2c9wLotxySvjki5yv8
 2zvabRdzbrSaoYwsH9QnZdQ2hVkJ9W8MESu8PevD3yMNuFUzledPDWW0N1SbGm78
 0ZdB6NPdaBZYHMNMRdFhN8P275/Mx5e0XWN9oYMQqjPooH7YkyT7hJWz6ao2PCJP
 8mDmnW1RzL+LWf7mJ25ZEtS+YjmKA/PVmogRrGurKCadvdxXqCF09KNljICHhmmu
 t0KB4dqw02OXLPvBk21qCi0zL56w1JDgqtS8suFvDYo9sCceeAbAcmpyoUOFj2N+
 Upn976tb4iqFrr9mFswpmCJWPpqJkU+A+KnKsIRPU7N4kSrP35I=
 =HvlN
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC driver updates from Arnd Bergmann:
 "This is the first half of the driver changes:

   - A treewide interface change to the "syscore" operations for power
     management, as a preparation for future Tegra specific changes

   - Reset controller updates with added drivers for LAN969x, eic770 and
     RZ/G3S SoCs

   - Protection of system controller registers on Renesas and Google
     SoCs, to prevent trivially triggering a system crash from e.g.
     debugfs access

   - soc_device identification updates on Nvidia, Exynos and Mediatek

   - debugfs support in the ST STM32 firewall driver

   - Minor updates for SoC drivers on AMD/Xilinx, Renesas, Allwinner, TI

   - Cleanups for memory controller support on Nvidia and Renesas"

* tag 'soc-drivers-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (114 commits)
  memory: tegra186-emc: Fix missing put_bpmp
  Documentation: reset: Remove reset_controller_add_lookup()
  reset: fix BIT macro reference
  reset: rzg2l-usbphy-ctrl: Fix a NULL vs IS_ERR() bug in probe
  reset: th1520: Support reset controllers in more subsystems
  reset: th1520: Prepare for supporting multiple controllers
  dt-bindings: reset: thead,th1520-reset: Add controllers for more subsys
  dt-bindings: reset: thead,th1520-reset: Remove non-VO-subsystem resets
  reset: remove legacy reset lookup code
  clk: davinci: psc: drop unused reset lookup
  reset: rzg2l-usbphy-ctrl: Add support for RZ/G3S SoC
  reset: rzg2l-usbphy-ctrl: Add support for USB PWRRDY
  dt-bindings: reset: renesas,rzg2l-usbphy-ctrl: Document RZ/G3S support
  reset: eswin: Add eic7700 reset driver
  dt-bindings: reset: eswin: Documentation for eic7700 SoC
  reset: sparx5: add LAN969x support
  dt-bindings: reset: microchip: Add LAN969x support
  soc: rockchip: grf: Add select correct PWM implementation on RK3368
  soc/tegra: pmc: Add USB wake events for Tegra234
  amba: tegra-ahb: Fix device leak on SMMU enable
  ...
2025-12-05 17:29:04 -08:00
Jon Hunter 1463299a22 memory: tegra186-emc: Fix missing put_bpmp
Commit a52ddb98a6 ("memory: tegra186-emc: Simplify and handle deferred
probe with dev_err_probe()") accidently dropped a call to 'put_bpmp' to
release a handle to the BPMP when getting the EMC clock fails. Fix this
by restoring the 'goto put_bpmp' if devm_clk_get() fails.

Fixes: a52ddb98a6 ("memory: tegra186-emc: Simplify and handle deferred probe with dev_err_probe()")
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://patch.msgid.link/20251106190550.1776974-1-jonathanh@nvidia.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-11-22 13:41:24 +01:00
Aaron Kling 6f37469a93 memory: tegra210: Fix incorrect client ids
The original commit had typos for two of the memory client ids. Fix them
to reference the correct bindings.

Fixes: 3804cef4c5 ("memory: tegra210: Use bindings for client ids")
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Link: https://patch.msgid.link/20251021-t210-mem-clientid-fixup-v1-1-5094946faa31@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-23 15:32:21 +02:00
Biju Das 42ec0bc61f memory: renesas-rpc-if: Add suspend/resume support
On RZ/G3E using PSCI, s2ram powers down the SoC. Add suspend/resume
callbacks to control spi/spix2 clocks.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://patch.msgid.link/20251019180940.157088-1-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-23 15:28:15 +02:00
Krzysztof Kozlowski 50c833c5cd memory: tegra30-emc: Add the SoC model prefix to functions
Replace "tegra_emc" with "tegra30_emc" in all functions to:
1. Avoid name clashing with other Tegra EMC drivers which makes it
   easier to jump to function definitions,
2. Decode the calltraces a bit easier,
3. Unify with other Tegra MC and EMC drivers, which use the SoC model
   prefixes.

No functional impact.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:03 +02:00
Krzysztof Kozlowski 5c8c19417c memory: tegra20-emc: Add the SoC model prefix to functions
Replace "tegra_emc" with "tegra20_emc" in all functions to:
1. Avoid name clashing with other Tegra EMC drivers which makes it
   easier to jump to function definitions,
2. Decode the calltraces a bit easier,
3. Unify with other Tegra MC and EMC drivers, which use the SoC model
   prefixes.

No functional impact.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:02 +02:00
Krzysztof Kozlowski 4ebcacbb44 memory: tegra186-emc: Add the SoC model prefix to functions
Replace "tegra_emc" with "tegra186_emc" in all functions to:
1. Avoid name clashing with other Tegra EMC drivers which makes it
   easier to jump to function definitions,
2. Decode the calltraces a bit easier,
3. Unify with other Tegra MC and EMC drivers, which use the SoC model
   prefixes.

No functional impact.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:02 +02:00
Krzysztof Kozlowski e6e50496b7 memory: tegra124-emc: Add the SoC model prefix to functions
Replace "tegra_emc" with "tegra124_emc" in all functions to:
1. Avoid name clashing with other Tegra EMC drivers which makes it
   easier to jump to function definitions,
2. Decode the calltraces a bit easier,
3. Unify with other Tegra MC and EMC drivers, which use the SoC model
   prefixes.

No functional impact.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:01 +02:00
Krzysztof Kozlowski f398631b76 memory: tegra124-emc: Simplify and handle deferred probe with dev_err_probe()
Certain calls, like clk_get, can cause probe deferral and driver should
handle it.  Use dev_err_probe() to fix that and also change other
non-deferred errors cases to make the code simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:01 +02:00
Krzysztof Kozlowski a52ddb98a6 memory: tegra186-emc: Simplify and handle deferred probe with dev_err_probe()
Certain calls, like clk_get, can cause probe deferral and driver should
handle it.  Use dev_err_probe() to fix that and also change other
non-deferred errors cases to make the code simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:00 +02:00
Krzysztof Kozlowski 57c9f6e29c memory: tegra20-emc: Simplify and handle deferred probe with dev_err_probe()
Certain calls, like clk_get, can cause probe deferral and driver should
handle it.  Use dev_err_probe() to fix that and also change other
non-deferred errors cases to make the code simpler.

Also fix missing new line in error message of devm_devfreq_add_device().

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:00 +02:00
Krzysztof Kozlowski db2bd7ab1a memory: tegra30-emc: Simplify and handle deferred probe with dev_err_probe()
Certain calls, like clk_get, can cause probe deferral and driver should
handle it.  Use dev_err_probe() to fix that and also change other
non-deferred errors cases to make the code simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:23:00 +02:00
Krzysztof Kozlowski c0ca941c93 memory: tegra30-emc: Do not print error on icc_node_create() failure
icc_node_create() is alloc-like function, so no need to print error
messages on its failure.  Dropping one label makes the code a bit
simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:22:59 +02:00
Krzysztof Kozlowski e215d91d66 memory: tegra20-emc: Do not print error on icc_node_create() failure
icc_node_create() is alloc-like function, so no need to print error
messages on its failure.  Dropping one label makes the code a bit
simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:22:59 +02:00
Krzysztof Kozlowski 515498a3f5 memory: tegra186-emc: Do not print error on icc_node_create() failure
icc_node_create() is alloc-like function, so no need to print error
messages on its failure.  Dropping one label makes the code a bit
simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:22:58 +02:00
Krzysztof Kozlowski 1c9cce8a0e memory: tegra124-emc: Do not print error on icc_node_create() failure
icc_node_create() is alloc-like function, so no need to print error
messages on its failure.  Dropping one label makes the code a bit
simpler.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:22:58 +02:00
Krzysztof Kozlowski da722f1c9d memory: tegra124-emc: Simplify return of emc_init()
emc_init() returns always success, so just drop the return value to
simplify it.

Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-10-13 02:22:53 +02:00
Aaron Kling 3804cef4c5 memory: tegra210: Use bindings for client ids
Since the related binding is being added, use that for the client ids
instead of hardcoded magic numbers.

Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-09-10 11:40:44 +02:00
Zhen Ni 6744085079 memory: samsung: exynos-srom: Fix of_iomap leak in exynos_srom_probe
The of_platform_populate() call at the end of the function has a
possible failure path, causing a resource leak.

Replace of_iomap() with devm_platform_ioremap_resource() to ensure
automatic cleanup of srom->reg_base.

This issue was detected by smatch static analysis:
drivers/memory/samsung/exynos-srom.c:155 exynos_srom_probe()warn:
'srom->reg_base' from of_iomap() not released on lines: 155.

Fixes: 8ac2266d88 ("memory: samsung: exynos-srom: Add support for bank configuration")
Cc: stable@vger.kernel.org
Signed-off-by: Zhen Ni <zhen.ni@easystack.cn>
Link: https://lore.kernel.org/r/20250806025538.306593-1-zhen.ni@easystack.cn
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-08-13 09:46:29 +02:00
Patrice Chotard d140f3ba76 memory: stm32_omm: Fix req2ack update test
If "st,omm-req2ack-ns" property is found and its value is not 0,
the current test doesn't allow to compute and set req2ack value,
Fix this test.

Fixes: 8181d061dc ("memory: Add STM32 Octo Memory Manager driver")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20250807-upstream_omm_fix_req2ack_test_condition-v2-1-d7df4af2b48b@foss.st.com
Cc: <stable@vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-08-11 14:53:13 +02:00
Arnd Bergmann 9841d92754 Memory controller drivers for v6.17
1. Several cleanups: Use dev_fwnode() in OMAP GPMX, convert
    arm,pl172.txt DT bindings to DT schema, use
    syscon_regmap_lookup_by_phandle_args() wrapper, correct kerneldoc.
 
 2. Mediatek MT8186 SMI: Extend hardware bandwidth limits to fix VENC
    hardware during stress testing.
 
 3. Broadcom brcmstb_memc: Add additional fallback compatible and
    simplify device driver matching.  The change comes from Broadcom
    SoC maintainer (Florian Fainelli), thus its ABI impact is
    acknowledged.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmh2JNMQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD17iOD/44K4G8DoSSGCuJdbPQ0+KIV6rYtmfg96uP
 c72gw9cZdaKmFeEcxKdQfyWOuz3yWCyuivvvPLZHgLDsNv/vnOQfSouIkTkl4EzT
 TpuzTPQv0HV3Hf1+zHJ0me4BGH+GG+tlngS3oTWScs7apL/HNA+9kJFRXy7C9TXy
 d15ETDYuwd0AnW7wGjPE1JY9Dju/vX+3xsPqONjs4MF8HYpRJLhkO1mIhO6jooEr
 Bo1PAtwGzZlJEeZDyFuhp0nrPurzSPJ/cTrSa4r613xYHgnZp0H642RS7r8eP7DD
 M8EDd5bRqEBEpPV39t5KjXIB5VC1MUFfUljAGoYvVHMLZr8g/twF4f7Ongp2jde5
 zMoVJaMiUS1rez8r2Th/jKDs47nXFcu5gEXsRT0ixmBgIQ5AsDtdnJKAkda6Oifi
 t8/dQ4CZbkt++mKbK14j7M7H7rz37uheFoBX5fLSHit4lzl3LAF4VUTs8iddQQmo
 3wZ4+tuF5EW0SPRhgx9kpMKqegDLw3aqoSClFbZGEHNTClUfZlUq1mgqv12yUfyy
 p8chshiWHG6f/BNxvs+DlvlK+C9JjfWPMDLRPzCMHfoDPn4BlKe8DeY4nGEk0g+K
 liKy1kpgA8nxtu2AmjTLEiKDWkUDurcITpDEOpEHgRFnMQOJRRd61/1NnrNjrqwR
 QGoWk+LGeg==
 =Wp6f
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/+MQACgkQmmx57+YA
 GNktZxAAndCYvf6hYGNpU3RniJKcl2Q0ISy1MSAt1nmUOA411KqxAUqkcbnWm7sQ
 GJ6biEUpQZrm/C3dg2XvHX8ndgam3vrSy1B6B1hTQzFvfGUoc+ftNzzodvqFwN33
 GAFKnEJTanM6t4uC1fpqQWp/jfRBLTfCVQb5yoqmOp+3FGL/CP4cns3Js/zO6ISQ
 R5j16nLo1KGiC2JNF1SWwimdhTnD4qzXzpcYlefD2DFk6m7M3HQ26IP4m28+SjlD
 NjKeZBq5Cfmooggyu0aGKKvhbgMxkJOFiYHznsQPweHkauALcDvsdo5mViiWw+Fg
 voUDa4XJ7BakCnGpUAq+LyOFOtVM/V5IzMqKpbfTEkrrWN1S/461BQb8NHVQLvSb
 FoBYoHy49lTgLWY65AHTS5zektwcq73n57m5NwrDOCRXQ09rL1KYHwTRWs/nAEaQ
 zQaDkCq2B72SSKCsPn+3qvo+KsFfHNSE9SPQ6FadnKNE/EoAbIcTl90Yfboc6UR8
 uyi1Zg/2dHi0CAvYcKDPg4RBIoGoS23ewKu9ZUJxBhQIn1kAU16e/t9x57r1kFa9
 aaz4RMc+69PHEl1LJqsDJ7Xm6d18GNYVdxYpS8LbBLd6hX2JKJmgugJxP30290BO
 P8tEz9QOXHBIKvQC2Dv7Twp9DLgOhu7Zt1qzDRPhfgwFpbPJd5c=
 =mUls
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.17

1. Several cleanups: Use dev_fwnode() in OMAP GPMX, convert
   arm,pl172.txt DT bindings to DT schema, use
   syscon_regmap_lookup_by_phandle_args() wrapper, correct kerneldoc.

2. Mediatek MT8186 SMI: Extend hardware bandwidth limits to fix VENC
   hardware during stress testing.

3. Broadcom brcmstb_memc: Add additional fallback compatible and
   simplify device driver matching.  The change comes from Broadcom
   SoC maintainer (Florian Fainelli), thus its ABI impact is
   acknowledged.

* tag 'memory-controller-drv-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  dt-bindings: memory: renesas,rzg3e-xspi: Document RZ/V2H(P) and RZ/V2N support
  memory: brcmstb_memc: Simplify compatible matching
  dt-bindings: memory-controller: Define fallback compatible
  memory: omap-gpmx: Use dev_fwnode()
  memory: mtk-smi: Add ostd setting for mt8186
  dt-bindings: memory-controllers: convert arm,pl172.txt to yaml format
  memory: stm32_omm: Use syscon_regmap_lookup_by_phandle_args
  memory: emif: Add missing kerneldoc for lpmode

Link: https://lore.kernel.org/r/20250715095315.59299-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 22:47:00 +02:00
Sumit Gupta 2401dc4dcd memory: tegra: Add Tegra264 MC and EMC support
Add support to enable Memory Controller (MC) and External Memory
Controller (EMC) drivers for Tegra264. The nodes for MC and EMC are
mostly the same as Tegra234 but differ in number of channels and
interrupt numbers.

The patch also adds the bandwidth manager definitions required for
Tegra264 and uses them to populate the memory client table. All of
these are needed to properly enable memory interconnect (ICC) support.

Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250709222147.3758356-3-thierry.reding@gmail.com
Signed-off-by: Thierry Reding <treding@nvidia.com>
2025-07-11 16:49:42 +02:00
Florian Fainelli 0e3dd41a94 memory: brcmstb_memc: Simplify compatible matching
Now that a "brcm,brcmstb-memc-ddr-rev-b.2.x" fallback compatible string
has been defined, we can greatly simplify the matching within the driver
to only look for that compatible string and nothing else.

The fallback "brcm,brcmstb-memc-ddr" is also updated to assume the V21
register layout since that is the most common nowadays.

Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20250609212356.2264244-3-florian.fainelli@broadcom.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-27 07:47:49 +02:00
Jiri Slaby (SUSE) a0be20055d memory: omap-gpmx: Use dev_fwnode()
irq_domain_create_simple() takes fwnode as the first argument. It can be
extracted from the struct device using dev_fwnode() helper instead of
using of_node with of_fwnode_handle().

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20250611104348.192092-12-jirislaby@kernel.org
[krzk: Dropped redundant parts of commit msg]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-12 13:38:34 +02:00
Friday Yang e18c3f5cbd memory: mtk-smi: Add ostd setting for mt8186
Add initial ostd setting for mt8186. All the settings come from DE.
These settings help adjust Multimedia HW's bandwidth limits to achieve
a balanced bandwidth requirement. Without this, the VENC HW works
abnormal while stress testing.

Fixes: 86a010bfc7 ("memory: mtk-smi: mt8186: Add smi support")
Signed-off-by: Friday Yang <friday.yang@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250521091626.4283-1-friday.yang@mediatek.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-10 10:17:17 +02:00
Krzysztof Kozlowski 6d8b18ae64 memory: stm32_omm: Use syscon_regmap_lookup_by_phandle_args
Use syscon_regmap_lookup_by_phandle_args() which is a wrapper over
syscon_regmap_lookup_by_phandle() combined with getting the syscon
argument.  Except simpler code this annotates within one line that given
phandle has arguments, so grepping for code would be easier.

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20250525191300.50873-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-10 10:13:27 +02:00
Krzysztof Kozlowski 43f9c5c213 memory: emif: Add missing kerneldoc for lpmode
Add kerneldoc for 'lpmode' struct member to fix W=1 warnings:

  drivers/memory/emif.c:67 struct member 'lpmode' not described in 'emif_data'

Link: https://lore.kernel.org/r/20250525153435.15768-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-06-10 09:54:45 +02:00
Ingo Molnar 41cb08555c treewide, timers: Rename from_timer() to timer_container_of()
Move this API to the canonical timer_*() namespace.

[ tglx: Redone against pre rc1 ]

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/aB2X0jCKQO56WdMt@gmail.com
2025-06-08 09:07:37 +02:00
Linus Torvalds 297d9111e9 soc: drivers for 6.16
Updates are across the usual driver subsystems with SoC specific drivers:
 
  - added soc specicific drivers for sophgo cv1800 and sg2044, qualcomm
    sm8750, and amlogic c3 and s4 chips.
 
  - cache controller updates for sifive chips, plus binding changes for
    other cache descriptions.
 
  - memory controller drivers for mediatek mt6893, stm32 and cleanups for a
    few more drivers
 
  - reset controller drivers for T-Head TH1502, Sophgo sg2044 and
    Renesas RZ/V2H(P)
 
  - SCMI firmware updates to better deal with buggy firmware, plus better
    support for Qualcomm X1E and NXP i.MX specific interfaces
 
  - a new platform driver for the crypto firmware on Cznic Turris Omnia/MOX
 
  - cleanups for the TEE firmware subsystem and amdtee driver
 
  - minor updates and fixes for freescale/nxp, qualcomm, google, aspeed,
    wondermedia, ti, nxp, renesas, hisilicon, mediatek, broadcom and samsung
    SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmg51FsACgkQmmx57+YA
 GNnJ0w//Y2OzxBE/Mek7n7d4ibrdlSF9SX8JbL2W++o8Mb3YEJwCtGyhD7OQVYn3
 ZuaiY0aHi9PugoHYrfqT8Q6o0GgYrPMgWwHRH+cPvzRng1FKFObdPqpv2+xXdEcu
 zhMM0AkhQ3/kegXOydBWaDETSc9dc74RWegKAc2onxD51NkjbP1MJMOO+gdSnwGq
 +NeDe4omberJR/2He9K0XDxK0wtIsNVZ+CYXF0gQlGwmxkKcTgJQnUm6gqChYR9T
 KhZedI0f61XTk54LTX3OCcbMpdQHxl8l7qI25+HHnMaUuqUSNj+ZKm8YeboywkLW
 T8J0oS6Dyaiypv1oYrmtEPbtCniullSpfE7mrMljlljuLYMIWkFllSXAlC5EjjOG
 GkNcW0k13cRGZ0sBliWoorzXB5qQRkQhQn1KBPBA/n8fEuFFf+GTbmjE2Q+BixkN
 Jthhyk+PZbZIOid7Y7ecxTEs/RR8SLRmTYwWr/szVUW7WRp3NqWvyZl9X/nYylf8
 aw3ugwcRCNKd4ba35y0XR0x8jy4wRQtlQqqxpkiJgREAmS9U9WBWH8bxSj3i5jGu
 nvMMtHmcDZ3gDGdUT6is7susOZLRuc8E7Y5dyn+NB4UoAxUDqRAn8ZGSNiOCcjQa
 07vWhT4NTLEJeexm3gdfTU1sRtrIjas+qxNg8IpPvRyGOoefJ7w=
 =RhpA
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC driver updates from Arnd Bergmann:
 "Updates are across the usual driver subsystems with SoC specific
  drivers:

   - added soc specicific drivers for sophgo cv1800 and sg2044, qualcomm
     sm8750, and amlogic c3 and s4 chips.

   - cache controller updates for sifive chips, plus binding changes for
     other cache descriptions.

   - memory controller drivers for mediatek mt6893, stm32 and cleanups
     for a few more drivers

   - reset controller drivers for T-Head TH1502, Sophgo sg2044 and
     Renesas RZ/V2H(P)

   - SCMI firmware updates to better deal with buggy firmware, plus
     better support for Qualcomm X1E and NXP i.MX specific interfaces

   - a new platform driver for the crypto firmware on Cznic Turris
     Omnia/MOX

   - cleanups for the TEE firmware subsystem and amdtee driver

   - minor updates and fixes for freescale/nxp, qualcomm, google,
     aspeed, wondermedia, ti, nxp, renesas, hisilicon, mediatek,
     broadcom and samsung SoCs"

* tag 'soc-drivers-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (133 commits)
  soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop()
  soc: aspeed: lpc: Fix impossible judgment condition
  ARM: aspeed: Don't select SRAM
  docs: firmware: qcom_scm: Fix kernel-doc warning
  soc: fsl: qe: Consolidate chained IRQ handler install/remove
  firmware: qcom: scm: Allow QSEECOM for HP EliteBook Ultra G1q
  dt-bindings: mfd: qcom,tcsr: Add compatible for ipq5018
  dt-bindings: cache: add QiLai compatible to ax45mp
  memory: stm32_omm: Fix error handling in stm32_omm_disable_child()
  dt-bindings: cache: Convert marvell,tauros2-cache to DT schema
  dt-bindings: cache: Convert marvell,{feroceon,kirkwood}-cache to DT schema
  soc: samsung: exynos-pmu: enable CPU hotplug support for gs101
  MAINTAINERS: Add google,gs101-pmu-intr-gen.yaml binding file
  dt-bindings: soc: samsung: exynos-pmu: gs101: add google,pmu-intr-gen phandle
  dt-bindings: soc: google: Add gs101-pmu-intr-gen binding documentation
  bus: fsl-mc: Use strscpy() instead of strscpy_pad()
  soc: fsl: qbman: Remove const from portal->cgrs allocation type
  bus: fsl_mc: Fix driver_managed_dma check
  bus: fsl-mc: increase MC_CMD_COMPLETION_TIMEOUT_MS value
  bus: fsl-mc: drop useless cleanup
  ...
2025-05-31 07:53:30 -07:00
Linus Torvalds 5722a6cecf spi: Updates for v6.16
This bulk of the changes in this release are driver work, as well as
 new device support we have some important work on performance over
 several drivers, and big overhauls for maintainability on a couple too.
 Highlights include:
 
  - Big cleanups of the sh-msiof driver from Geert Uytterhoeven, and of
    the NXP FSPI driver from Haibo Chen.
  - Performance improvements for the AXI SPI engine.
  - Support for writes to memory mapped flashes on Renesas devices.
  - Integrated DMA support for Tegra210 QSPI, used by the Tegra234.
  - DMA support for Amlogic SPI controllers.
  - Support for AMD HID2, Qualcomm IPQ5018, Renesas RZ/G3E, Rockchip
    RK3528 and Samsung Exynos Autov920.
 
 An update to fix some issues with the Atmel QSPI driver runtime PM
 pulled in a new API from the PM core, and the Renesas memory mapped
 write changes pull in some code that's shared in drivers/memory.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmgzCzkACgkQJNaLcl1U
 h9DF5gf+MlaB2j6ggH/OnXdV6aQTcjta357+ptWH3CDQbx0nsMj50i+eqxhzOK69
 tyOMX0gcqo8bBQq1mhm3Z2fDYbYYRKwf7OwymHD1KGNGn9zegORNw790/XGTeoMo
 m5f9Trz9UNP+7NjWuOioKoy6zghp4Ti2WAAUPhGUQBnyaV269bonNvisRtqnDP5u
 nOu1DYANZqL3icuUIdJ3Aklmn4On1svUPuE9HOn/GNocZZWegcCHfBjmSRuLUAGO
 RR1jP/d+RfSvTSrdqZGwrfWLFBBirjSLXNB1g7sjiVTnSseuBnOZ/z7PuBQQ+NuB
 ENyoQXNLFZKMTQ5wmuQpXnwIIXsxYg==
 =FmJ2
 -----END PGP SIGNATURE-----

Merge tag 'spi-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi updates from Mark Brown:
 "The bulk of the changes in this release are driver work, as well as
  new device support we have some important work on performance over
  several drivers, and big overhauls for maintainability on a couple
  too. Highlights include:

   - Big cleanups of the sh-msiof driver from Geert Uytterhoeven, and of
     the NXP FSPI driver from Haibo Chen

   - Performance improvements for the AXI SPI engine

   - Support for writes to memory mapped flashes on Renesas devices

   - Integrated DMA support for Tegra210 QSPI, used by the Tegra234

   - DMA support for Amlogic SPI controllers

   - Support for AMD HID2, Qualcomm IPQ5018, Renesas RZ/G3E, Rockchip
     RK3528 and Samsung Exynos Autov920

  An update to fix some issues with the Atmel QSPI driver runtime PM
  pulled in a new API from the PM core, and the Renesas memory mapped
  write changes pull in some code that's shared in drivers/memory"

* tag 'spi-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (90 commits)
  spi: spi-qpic-snand: return early on error from qcom_spi_io_op()
  spi: loopback-test: fix up const pointer issue in rx_ranges_cmp()
  spi: gpio: fix const issue in spi_to_spi_gpio()
  spi: spi-qpic-snand: remove superfluous parameters of qcom_spi_check_error()
  dt-bindings: spi: samsung: add exynosautov920-spi compatible
  spi: spi-qpic-snand: reuse qcom_spi_check_raw_flash_errors()
  spi: dt-bindings: Add rk3528-spi compatible
  spi: spi_amd: Update Kconfig dependencies
  spi: spi_amd: Add HIDDMA basic write support
  spi: spi_amd: Remove read{q,b} usage on DMA buffer
  spi: sh-msiof: Move register definitions to <linux/spi/sh_msiof.h>
  spi: sh-msiof: Document frame start sync pulse mode
  spi: sh-msiof: Double maximum DMA transfer size using two groups
  spi: sh-msiof: Simplify BRG's Division Ratio
  spi: sh-msiof: Increase TX FIFO size for R-Car V4H/V4M
  spi: sh-msiof: Correct RX FIFO size for R-Car Gen3
  spi: sh-msiof: Correct RX FIFO size for R-Car Gen2
  spi: sh-msiof: Add core support for dual-group transfers
  spi: sh-msiof: Correct SIMDR2_GRPMASK
  spi: sh-msiof: SIFCTR bitfield conversion
  ...
2025-05-27 15:53:55 -07:00
Arnd Bergmann a65dc234cd Memory controller drivers for v6.16, part two
Few fixes for STM32 Octo Memory Manager driver introduced for the same
 cycle in few commits before.  These fixes were reported only after wider
 coverage by bots through linux-next exposure.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmgm9fwQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14omD/40XUoNktd+HlB6fmNrchXHYJf78w5k58uT
 unsJBi/NLaa1niz8p62mASv714ed3UlNRnkuC7XfHrayK84Z8XH6TlZSQ2ZFzr6l
 77ouhBhTSjFVrTOYUk/fBJNEZvz1N0Js3Hg77WCYzW+im8KAgnd7j+pZd+0DpJSS
 ditchWONPwcKuFzMGVUzdkJ5KOgnokxcL+dftE7Js0Y/RWNX/NdSYc4dbDTbtFRL
 9rFn6Q8JdX7w15AKRyUAzW6jAzcWxyPfFkAPVs/xTKlb+4E5fYO3Xzxoax6hmvA3
 Y1m+eNqoDU6+JyyBvHcePcDosW4xWkq12HzTfSaN7+qGugK7i6Uycn5SNfYP5nbi
 iIjzT49F2vv6PUPt2YlpU0C8VU3QGgcaztcSkReWOJXH1xZO4tB4SvzS8zJp47cN
 aFD9ENFT8BitDrrYDN+3f6TMUCJ929GXs2cFiIlUzdwO7bh3yfvG2uUw0Lq6UOf2
 C9ZbRrVcOa7QhEp7aPHPQwpHMbCbtRswyDTUh8PejZK4BkibNaPAuExaIBJ2jlWA
 DiRFDB1hxiYX0oAdidHdaTO6BZu+CxRKYCGTXWs8RA43YhDJlE4JPI4QzhDK9PfC
 csJ/kKf/sWdychxuXtlDW4UKJ60QRN5Hhv4Yeclxl4ctrZRrNglr7gCV+Bdqn+FI
 3zAuuDHb+w==
 =pzD0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguQg4ACgkQmmx57+YA
 GNkR9Q//aXb5IGGM0LMrN3NG20eyOo9ONylYPfXLs8I3IVFXfxVc1zGVMkCXXZdF
 4tySwlSQxIJ1cpzDqavcga/BoVtZgMd6VhsuZvd+gSGu6UprtwUEXM+ZrIwKKRwJ
 XV4MxaKqDoJTWza5y9uSjJrnoek0Mz+WNQ6wycRvriGCdOMgaD+lyrCYFgqzfLDu
 ddKiuwQOqq1o7A4+C7bhzF2SFStgvBlS464ZCTY7RLnklfQWf+LwxxqQu+gQgJ2z
 TNZS7TSkkqKBzKdfFpPiy139xAfmYDO0mB6OXb7299K7tFJsK2iuczvHemiTF66N
 ZQR5/Q95MgUhC66Eu5Z+bfar6YMLA00jFrIdOJCB9BlC8rWd43fTh5atL4+mwiNx
 4nwXi7W+AtE8ITM+IiRiyRN903T11w4CWiM9FtmuwSyr8ATJ4g+QQQ1YCvRhebfD
 9WOXVzbUZtEAnDLmjws+BBptKdC+cfw5tMIphfmfI0mxCFfIfnSWwQuHYj6CiXQV
 MQXFDMLe+WTbr/T15bMvuyxhxSNgUTW9Hku479/THMR9/4G6HmtetFbh9AUarbJI
 98fdS8o//iTc25c7xFCPdol12V1PfYp0DaSGDBqlH5AQaIK5+uDoh/kHLstB09Kb
 XjCX3Cr2YzUehumtfz/5tltSMtkjq7NvUdjq9nANFW+KZpNQ568=
 =q9DF
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.16, part two

Few fixes for STM32 Octo Memory Manager driver introduced for the same
cycle in few commits before.  These fixes were reported only after wider
coverage by bots through linux-next exposure.

* tag 'memory-controller-drv-6.16-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: stm32_omm: Fix error handling in stm32_omm_disable_child()
  memory: stm32_omm: Fix NULL vs IS_ERR() check in probe()
  memory: stm32_omm: Fix error handling in stm32_omm_configure()
  memory: stm32: Fix spelling mistake "resset" -> "reset"

Link: https://lore.kernel.org/r/20250516082415.7871-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-21 23:13:50 +02:00
Jiri Slaby (SUSE) 8529e33bfe memory: omap-gpmc: Switch to irq_domain_create_linear()
irq_domain_add_linear() is going away as being obsolete now. Switch to
the preferred irq_domain_create_linear(). That differs in the first
parameter: It takes more generic struct fwnode_handle instead of struct
device_node. Therefore, of_fwnode_handle() is added around the
parameter.

Note some of the users can likely use dev->fwnode directly instead of
indirect of_fwnode_handle(dev->of_node). But dev->fwnode is not
guaranteed to be set for all, so this has to be investigated on case to
case basis (by people who can actually test with the HW).

[ tglx: Fix up subject prefix ]

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250319092951.37667-24-jirislaby@kernel.org
2025-05-16 21:06:10 +02:00
Patrice Chotard 388d0cc33c memory: stm32_omm: Fix error handling in stm32_omm_disable_child()
Fix stm32_omm_toggle_child_clock() return value test, we should exit
only on non zero value.

Fixes: 8181d061dc ("memory: Add STM32 Octo Memory Manager driver")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20250513-stm32_omm_fix_typo-v1-1-5b90ec8b52e7@foss.st.com
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/aB29hOrv0nU73RCn@stanley.mountain/
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-14 09:54:22 +02:00
Dan Carpenter 0169a24036 memory: stm32_omm: Fix NULL vs IS_ERR() check in probe()
The platform_get_resource_byname() function returns NULL on error.  It
doesn't return error pointers.  Update the check to match.

Fixes: 8181d061dc ("memory: Add STM32 Octo Memory Manager driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/a1645f1eedaa9b2ae62ac07feed0552eea75bc46.1746781081.git.dan.carpenter@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:32:14 +02:00
Dan Carpenter d44eeb20d9 memory: stm32_omm: Fix error handling in stm32_omm_configure()
There are two error handling bugs in the stm32_omm_configure() function.
1) The error code needs to be set if clk_get_rate() fails.
2) If devm_reset_control_get_exclusive() then call
   pm_runtime_put_sync_suspend() before returning.

Fixes: 8181d061dc ("memory: Add STM32 Octo Memory Manager driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/a69ce0445324e994ea2ed7493bda1f6046c7ff69.1746781081.git.dan.carpenter@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:32:13 +02:00
Colin Ian King 9c03507fcd memory: stm32: Fix spelling mistake "resset" -> "reset"
There is a spelling mistake in a dev_err message. Fix it.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Link: https://lore.kernel.org/r/20250509104459.28167-1-colin.i.king@gmail.com
Fixes: 8181d061dc ("memory: Add STM32 Octo Memory Manager driver")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-12 08:32:08 +02:00
Arnd Bergmann bddf944803 Memory controller drivers for v6.16
1. Mediatek: Add support for MT6893 MTK SMI.
 2. STM32: Add new driver for STM32 Octo Memory Manager (OMM), which
    manages muxing between two OSPI busses.
 3. Several cleanups and minor improvements (OMAP GPMC, Kconfig entries,
    BT1 L2).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmgcehEQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1+UJD/sF/qVJS5Wtg1IyUliqCgAD+gPbxLL7K/e7
 OuR1FcblvBW4ssC1eFHJKH6lE35PGgkj/3+KrvlwpmatbcaKnpafGs4ShlyAmYKd
 yVDw5z/thjqh38vW8wtTIbNHjvTX/djNXfzP45DYZJk7LBI4c6uPX3y8fE51FoRM
 9nN+lZuwFwh1u9jcF2p+CIzI8BBTAtUtfGNgbwBn/R9y3XgmTaLIACtYdt3yg9vM
 PaP0k2oBdDimj4c3IWuaPcFMZUPYezMLVdZZ6Wll2BXkXuxpNoQkPziIFWS+7Vug
 aA1TJjvRNfIAeOfAL8jqPYAoKgzV+UOukLPAMsoE9tD1icOs8v6BsHo76mCIAm+Y
 9bCOIgXDaXhMZSysdYNZvVdC5+rp+ewYDf/TNwpUAE84KZ8fy9QoO+CIKYG09SWC
 DPc/H4hQ9I9qoQn/Do1eBFr3CUKIyI7k6Jc+ulQEZAI5aAszH9FOgi35/NPPvy0i
 o05FQiwONSa3NY4sX7LqkOz+NmClyfx9Auw9tDy8urWyERktfTC5rI6xgwz/dhCM
 r7KkTWf4hTMbtH97yycjQv+a5DOa0kT8Lnyulniv8a/GBvVcPPU+3vBxCHTYPW9m
 +tB1ARdjr9zvDdmlgw9l81vbV2HAWrhLMbf8N9ISBAkvyuYiKAiiuzwBR2qpNHg4
 AcILU8iSyw==
 =HskW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmgeb5UACgkQYKtH/8kJ
 Uidpzg/9G3Q3AO8+uFwZtUHXvY9jXcTK/xuZf880osXQUOtUvuhWUGyXNNDKMvIk
 2jA8j0Wi4eRmjjG5FY1I7/cRka2pGKF/h68Uc5LOQT3gtF8f9ItBHA6XZeF80UfL
 qqGPLHG1Dr9yADwF0pL2tjyrCga45bQoNqJez1aeVtIsgcs9BnRq3qmadcpA+6Ur
 hVWT/Y6yfJZS2LCe4iM6gEdVcNYQJnvbLFJjGgWNEvh30Swpcb3FIca1tjyTxeku
 /IVbGY41JrqigP8rj5X2kLOtXIyodZKIBBevXbPCUnTmBJohg7hJriObYUmBNYsU
 7q88odyXv5XMP6gErjhMAw1BEPMJ6rJtin3FAZg0Shh8IjAs1Tsm9tVJKsQsNI/n
 OrIV64+Q/3Gs3v2NbCeRGXdYJ+m9YpakXf60Vb/tEJnd2CA4A2lTjujNWw6mHzPr
 TyFB6be1Q79GvSqemfkCUdpreCYfu9IWtaheBSNC9N22Fy1sQXXATqtMEzMrqmbD
 Q2X58Bff/n7JT5QENJVJF6JZY/fDUJOAOPRdrVhFBN0Z3fmyCYogYhTITNoBimUv
 8fohQ5z8HPqDU4Z5NkD8f9F9thawbiGCztC0knABTIf5Rz/w8usyvrjGI4gXca9b
 TBQr0rE6bCjoZslHX1ejjsAhqmZ9BntYUZJUjMj0ITzHoKfaTlE=
 =1zDp
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.16

1. Mediatek: Add support for MT6893 MTK SMI.
2. STM32: Add new driver for STM32 Octo Memory Manager (OMM), which
   manages muxing between two OSPI busses.
3. Several cleanups and minor improvements (OMAP GPMC, Kconfig entries,
   BT1 L2).

* tag 'memory-controller-drv-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  MAINTAINERS: add entry for STM32 OCTO MEMORY MANAGER driver
  memory: Add STM32 Octo Memory Manager driver
  dt-bindings: memory-controllers: Add STM32 Octo Memory Manager controller
  bus: firewall: Fix missing static inline annotations for stubs
  memory: bt1-l2-ctl: replace scnprintf() with sysfs_emit()
  memory: mtk-smi: Add support for Dimensity 1200 MT6893 SMI
  dt-bindings: memory: mtk-smi: Add support for MT6893
  memory: tegra: Do not enable by default during compile testing
  memory: Simplify 'default' choice in Kconfig
  memory: omap-gpmc: remove GPIO set() and direction_output() callbacks
  memory: omap-gpmc: use the dedicated define for GPIO direction

Link: https://lore.kernel.org/r/20250508093451.55755-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-05-09 23:11:48 +02:00
Biju Das 798dc3f19c memory: renesas-rpc-if: Add missing static keyword
Fix the below sparse warnings:
 symbol 'rpcif_impl' was not declared. Should it be static?
 symbol 'xspi_impl' was not declared. Should it be static?

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202505072013.1EqwjtaR-lkp@intel.com/
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20250507162146.140494-1-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-08 10:59:07 +02:00
Patrice Chotard 8181d061dc memory: Add STM32 Octo Memory Manager driver
Octo Memory Manager driver (OMM) manages:
  - the muxing between 2 OSPI busses and 2 output ports.
    There are 4 possible muxing configurations:
      - direct mode (no multiplexing): OSPI1 output is on port 1 and OSPI2
        output is on port 2
      - OSPI1 and OSPI2 are multiplexed over the same output port 1
      - swapped mode (no multiplexing), OSPI1 output is on port 2,
        OSPI2 output is on port 1
      - OSPI1 and OSPI2 are multiplexed over the same output port 2
  - the split of the memory area shared between the 2 OSPI instances.
  - chip select selection override.
  - the time between 2 transactions in multiplexed mode.
  - check firewall access.

Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20250428-upstream_ospi_v6-v11-2-1548736fd9d2@foss.st.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-07 11:27:01 +02:00
Salah Triki 59e9910e8e memory: bt1-l2-ctl: replace scnprintf() with sysfs_emit()
Documentation/filesystems/sysfs.rst mentions that show() should only
use sysfs_emit() or sysfs_emit_at() when formating the value to be
returned to user space. So replace scnprintf() with sysfs_emit().

Signed-off-by: Salah Triki <salah.triki@gmail.com>
Link: https://lore.kernel.org/r/aBkw_p9GkH2fm2UJ@pc
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-07 07:44:13 +02:00
Biju Das 687cac9559 memory: renesas-rpc-if: Add RZ/G3E xSPI support
Add support for RZ/G3E xSPI. Compared to RPC-IF, it can support writes on
memory-mapped area. Introduce struct rpcif_impl for holding the function
pointers and data to handle the differences between xspi and rpc-if
interface.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250424090000.136804-7-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-01 12:22:25 +02:00
Biju Das e1c200a4c7 memory: renesas-rpc-if: Add wrapper functions
Even though XSPI and RPCIF has different register layout, reuse the code
by adding wrapper functions to support both XSPI and RPC-IF.

While at it, replace error check for pm_runtime_resume_and_get().

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250424090000.136804-6-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-01 12:22:17 +02:00
Biju Das 198158a8f6 memory: renesas-rpc-if: Add regmap to struct rpcif_info
The RZ/G3E XSPI has different regmap compared to RPC-IF. Add regmap to
struct rpcif_info in order to support RZ/G3E XSPI.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250424090000.136804-5-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-01 12:22:09 +02:00
Biju Das c66fce831d memory: renesas-rpc-if: Use devm_reset_control_array_get_exclusive()
Replace devm_*_get_exclusive()->devm_*_array_get_exclusive() to support
existing SoCs along with RZ/G3E as RZ/G3E has 2 resets.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250424090000.136804-4-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-01 12:21:56 +02:00
Biju Das 228e72bf94 memory: renesas-rpc-if: Move rpc-if reg definitions
Move rpc-if reg definitions to a header file for the preparation of adding
support for RZ/G3E XSPI that has different register definitions.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250424090000.136804-3-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-05-01 12:21:52 +02:00
Biju Das 74c35c84f2 memory: renesas-rpc-if: Move rpcif_info definitions near to the user
Move rpcif_info definitions near to the user.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250401143537.224047-6-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-15 08:19:13 +02:00
Biju Das bf657e234a memory: renesas-rpc-if: Fix RPCIF_DRENR_CDB macro error
Fix the below macro error found while moving the reg definitions
to renesas-rpc-if-regs.h in the later patch.

ERROR: Macros with complex values should be enclosed in parentheses

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20250401143537.224047-3-biju.das.jz@bp.renesas.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-15 08:19:02 +02:00
AngeloGioacchino Del Regno bd4f5f6c84 memory: mtk-smi: Add support for Dimensity 1200 MT6893 SMI
Add the necessary platform data to enable support for the SMI
found on the MediaTek Dimensity 1200 (MT6893) SoC

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
Link: https://lore.kernel.org/r/20250410143958.475846-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-15 07:44:34 +02:00
Krzysztof Kozlowski 9a4199ae8a memory: tegra: Do not enable by default during compile testing
Enabling the compile test should not cause automatic enabling of all
drivers.

Link: https://lore.kernel.org/r/20250404111703.235455-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-15 07:43:54 +02:00
Krzysztof Kozlowski 0c16b8fdfe memory: Simplify 'default' choice in Kconfig
'default y if FOO' can be written shorter (and it already is in other
places).

Link: https://lore.kernel.org/r/20250404111703.235455-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2025-04-15 07:43:53 +02:00