memory: tegra: Add interconnect support for DRAM scaling in Tegra234
authorSumit Gupta <sumitg@nvidia.com>
Thu, 11 May 2023 17:32:04 +0000 (23:02 +0530)
committerThierry Reding <treding@nvidia.com>
Tue, 16 May 2023 10:11:00 +0000 (12:11 +0200)
commit9a38cb27668e275ed912e67388cf11f454a24cc6
tree27bb825a69a1de830defa0856f3b67843793006b
parentf382b1fe71ca487b686fa9deefcc0714f50e6f6c
memory: tegra: Add interconnect support for DRAM scaling in Tegra234

Add Interconnect framework support to dynamically set the DRAM
bandwidth from different clients. Both the MC and EMC drivers are
added as ICC providers. The path for any request is:
 MC-Client[1-n] -> MC -> EMC -> EMEM/DRAM

MC client's request for bandwidth will go to the MC driver which
passes the client request info like BPMP Client ID, Client type
and the Bandwidth to the BPMP-FW. The final DRAM freq to achieve
the requested bandwidth is set by the BPMP-FW based on the passed
parameters.

Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/memory/tegra/mc.c
drivers/memory/tegra/tegra186-emc.c
drivers/memory/tegra/tegra234.c
include/linux/tegra-icc.h [new file with mode: 0644]
include/soc/tegra/mc.h