[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


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
* 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




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


More information about the linux-arm-kernel mailing list