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