[PATCH v8 00/18] Tegra124 EMC (external memory controller) support
Tomeu Vizoso
tomeu.vizoso at collabora.com
Thu Mar 12 07:47:52 PDT 2015
Hello,
I have spun one more version to address feedback from Paul Bolle and to include the .dtsi with the timings for the Nyan Blaze in the right DTS.
Because of the DT changes for the Nyan boards this now depends on the Nyan series, but all the rest should apply cleanly on top of v4.0-rc1.
I'm leaving here the changelog for the v7 for convenience:
* Removes registers from the burst blocks that were redundant
* Removes nvidia,emc-cfg-dig-dll as it is unused in T124
* Adds timings for the Nyan Big and Blaze boards
* Disables the ARBITRATION_EMEM interrupt, as it can be very disruptive when
the EMC clock runs at low frequencies and shouldn't probably be enabled in
any case in a production kernel as it's intended to be used as a development
tool
* I have tested it on the Nyan boards, in addition to the Jetson TK1
Patch 1: Removes the old EMC clock, that was unused and not functional
Patch 2: Documents bindings for the new long-ram-code property
Patch 3: Adds API for reading the ram code
Patches 4 to 7: Document OF additions
Patch 8: Adds EMC node to Tegra124 DT
Patch 9: Adds timings for Jetson TK1 board
Patch 10: Adds functions to the MC driver so the EMC driver can stay within
its own registers
Patch 11: Adds the actual EMC driver, making use of the new MC API
Patch 12: Exposes clk_hw_reparent function
Patch 13: Adds EMC clock driver, making use of API provided by the EMC driver
Patch 14: Adds debugfs entry for getting and setting the EMC rate
Patch 15: On Tegra124, have the EMC clock be the parent of the MC clock
Patches 16 and 17: Add timings for the Nyan Big and Blaze boards
Patches 18: Disables ARBITRATION_EMEM
http://cgit.collabora.com/git/user/tomeu/linux.git/log/?h=emc-v8
Regards,
Tomeu
Mikko Perttunen (9):
clk: tegra124: Remove old emc clock
soc/tegra: Add ram code reader helper
of: Add Tegra124 EMC bindings
ARM: tegra: Add EMC to Tegra124 device tree
ARM: tegra: Add EMC timings to Jetson TK1 device tree
memory: tegra: Add API needed by the EMC driver
memory: tegra: Add EMC (external memory controller) driver
clk: tegra: Add EMC clock driver
memory: tegra: Add debugfs entry for getting and setting the EMC rate
Tomeu Vizoso (9):
of: Document long-ram-code property in nvidia,tegra20-apbmisc
of: document new emc-timings subnode in nvidia,tegra124-car
of: Document timings subnode of nvidia,tegra-mc
of: document external-memory-controller property in tegra124-car
clk: Expose clk_hw_reparent to providers
clk: tegra: Set the EMC clock as the parent of the MC clock
ARM: tegra: Add EMC timings to Nyan Big device tree
ARM: tegra: Add EMC timings to Nyan Blaze device tree
memory: tegra: Disable ARBITRATION_EMEM interrupt
.../bindings/clock/nvidia,tegra124-car.txt | 44 +-
.../memory-controllers/nvidia,tegra-mc.txt | 84 +-
.../bindings/memory-controllers/tegra-emc.txt | 374 +++
.../bindings/misc/nvidia,tegra20-apbmisc.txt | 2 +
arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi | 2421 ++++++++++++++++++++
arch/arm/boot/dts/tegra124-jetson-tk1.dts | 2 +
arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi | 2023 ++++++++++++++++
arch/arm/boot/dts/tegra124-nyan-big.dts | 2 +
arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi | 2049 +++++++++++++++++
arch/arm/boot/dts/tegra124-nyan-blaze.dts | 2 +
arch/arm/boot/dts/tegra124.dtsi | 8 +
drivers/clk/clk.c | 8 +
drivers/clk/tegra/Makefile | 2 +-
drivers/clk/tegra/clk-emc.c | 528 +++++
drivers/clk/tegra/clk-tegra124.c | 18 +-
drivers/clk/tegra/clk.h | 3 +
drivers/memory/tegra/Kconfig | 11 +
drivers/memory/tegra/Makefile | 2 +
drivers/memory/tegra/mc.c | 140 +-
drivers/memory/tegra/tegra124-emc.c | 1160 ++++++++++
drivers/memory/tegra/tegra124.c | 44 +
drivers/soc/tegra/fuse/tegra-apbmisc.c | 21 +
include/linux/clk-provider.h | 1 +
include/soc/tegra/emc.h | 19 +
include/soc/tegra/fuse.h | 1 +
include/soc/tegra/mc.h | 14 +-
26 files changed, 8962 insertions(+), 21 deletions(-)
create mode 100644 Documentation/devicetree/bindings/memory-controllers/tegra-emc.txt
create mode 100644 arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi
create mode 100644 arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi
create mode 100644 arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi
create mode 100644 drivers/clk/tegra/clk-emc.c
create mode 100644 drivers/memory/tegra/tegra124-emc.c
create mode 100644 include/soc/tegra/emc.h
--
2.1.0
More information about the linux-arm-kernel
mailing list