[GIT PULL] memory: Tegra memory controller for v5.14
From: Krzysztof Kozlowski
Date: Mon Jun 07 2021 - 04:49:17 EST
Hi Olof and Arnd,
Tegra memory controller driver changes with necessary dependency from Thierry
(which you will also get from him):
1. Dmitry's power domain work on Tegra MC drivers,
2. Necessary clock and regulator dependencies for Dmitry's work.
Hi Thierry and Will,
This is the pull for you to base further SMMU aptches (prevent early SMMU
faults).
Best regards,
Krzysztof
The following changes since commit 6efb943b8616ec53a5e444193dccf1af9ad627b5:
Linux 5.13-rc1 (2021-05-09 14:17:44 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git tags/memory-controller-drv-tegra-5.14
for you to fetch changes up to 393d66fd2cacba3e6aa95d7bb38790bfb7b1cc3a:
memory: tegra: Implement SID override programming (2021-06-03 21:50:43 +0200)
----------------------------------------------------------------
Memory controller drivers for v5.14 - Tegra SoC
1. Enable compile testing of Tegra memory controller drivers.
2. Unify Tegra memory controller drivers. From Thierry Reding:
"This set of patches converges the feature sets of the pre-Tegra186
and the post-Tegra186 memory controller drivers such that newer chips
can take advantage of some features that were previously only
implemented on earlier chips."
3. Implement SID override programming as part of work to prevent early
SMMU faults.
4. Some simplifications, e.g. use devm-helpers.
This pulls dedicated tag from Thierry Reding with necessary changes to
Tegra memory controller drivers, as a pre-requisite to series applied
here. The changes from Thierry's tree also include their own
dependencies: regulator and clock driver changes.
----------------------------------------------------------------
Dmitry Osipenko (18):
clk: tegra30: Use 300MHz for video decoder by default
clk: tegra: Fix refcounting of gate clocks
clk: tegra: Ensure that PLLU configuration is applied properly
clk: tegra: Halve SCLK rate on Tegra20
clk: tegra: Don't allow zero clock rate for PLLs
clk: tegra: cclk: Handle thermal DIV2 CPU frequency throttling
clk: tegra: Mark external clocks as not having reset control
clk: tegra: Don't deassert reset on enabling clocks
regulator: core: Add regulator_sync_voltage_rdev()
soc/tegra: regulators: Bump voltages on system reboot
soc/tegra: Add stub for soc_is_tegra()
soc/tegra: Add devm_tegra_core_dev_init_opp_table()
soc/tegra: fuse: Add stubs needed for compile-testing
clk: tegra: Add stubs needed for compile-testing
memory: tegra: Fix compilation warnings on 64bit platforms
memory: tegra: Enable compile testing for all drivers
memory: tegra20-emc: Use devm_tegra_core_dev_init_opp_table()
memory: tegra30-emc: Use devm_tegra_core_dev_init_opp_table()
Krzysztof Kozlowski (1):
Merge tag 'tegra-for-5.14-memory' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into for-v5.14/tegra-mc
Thierry Reding (16):
Merge branch 'for-5.14/regulator' into for-5.14/soc
Merge branch 'for-5.14/clk' into for-5.14/memory
Merge branch 'for-5.14/soc' into for-5.14/memory
memory: tegra: Consolidate register fields
memory: tegra: Unify struct tegra_mc across SoC generations
memory: tegra: Introduce struct tegra_mc_ops
memory: tegra: Push suspend/resume into SoC drivers
memory: tegra: Make per-SoC setup more generic
memory: tegra: Extract setup code into callback
memory: tegra: Parameterize interrupt handler
memory: tegra: Make IRQ support opitonal
memory: tegra: Only initialize reset controller if available
memory: tegra: Unify drivers
memory: tegra: Add memory client IDs to tables
memory: tegra: Split Tegra194 data into separate file
memory: tegra: Implement SID override programming
drivers/clk/tegra/clk-periph-gate.c | 80 +-
drivers/clk/tegra/clk-periph.c | 11 +
drivers/clk/tegra/clk-pll.c | 12 +-
drivers/clk/tegra/clk-tegra-periph.c | 6 +-
drivers/clk/tegra/clk-tegra-super-cclk.c | 16 +-
drivers/clk/tegra/clk-tegra20.c | 6 +-
drivers/clk/tegra/clk-tegra30.c | 6 +-
drivers/clk/tegra/clk.h | 4 -
drivers/iommu/tegra-smmu.c | 16 +-
drivers/memory/tegra/Kconfig | 18 +-
drivers/memory/tegra/Makefile | 6 +-
drivers/memory/tegra/mc.c | 321 +++---
drivers/memory/tegra/mc.h | 25 +
drivers/memory/tegra/tegra114.c | 1245 ++++++++++++----------
drivers/memory/tegra/tegra124-emc.c | 4 +-
drivers/memory/tegra/tegra124.c | 1306 ++++++++++++-----------
drivers/memory/tegra/tegra186.c | 1679 +++++++++---------------------
drivers/memory/tegra/tegra194.c | 1351 ++++++++++++++++++++++++
drivers/memory/tegra/tegra20-emc.c | 48 +-
drivers/memory/tegra/tegra20.c | 110 +-
drivers/memory/tegra/tegra210.c | 1433 +++++++++++++------------
drivers/memory/tegra/tegra30-emc.c | 52 +-
drivers/memory/tegra/tegra30.c | 1292 ++++++++++++-----------
drivers/regulator/core.c | 23 +
drivers/soc/tegra/common.c | 97 ++
drivers/soc/tegra/pmc.c | 5 -
drivers/soc/tegra/regulators-tegra20.c | 75 +-
drivers/soc/tegra/regulators-tegra30.c | 75 +-
include/linux/clk/tegra.h | 100 +-
include/linux/regulator/driver.h | 1 +
include/soc/tegra/common.h | 31 +
include/soc/tegra/fuse.h | 20 +-
include/soc/tegra/mc.h | 65 +-
33 files changed, 5566 insertions(+), 3973 deletions(-)
create mode 100644 drivers/memory/tegra/tegra194.c