1*834e6bd4SThierry Reding# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*834e6bd4SThierry Reding%YAML 1.2 3*834e6bd4SThierry Reding--- 4*834e6bd4SThierry Reding$id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra210-mc.yaml# 5*834e6bd4SThierry Reding$schema: http://devicetree.org/meta-schemas/core.yaml# 6*834e6bd4SThierry Reding 7*834e6bd4SThierry Redingtitle: NVIDIA Tegra210 SoC Memory Controller 8*834e6bd4SThierry Reding 9*834e6bd4SThierry Redingmaintainers: 10*834e6bd4SThierry Reding - Thierry Reding <thierry.reding@gmail.com> 11*834e6bd4SThierry Reding - Jon Hunter <jonathanh@nvidia.com> 12*834e6bd4SThierry Reding 13*834e6bd4SThierry Redingdescription: | 14*834e6bd4SThierry Reding The NVIDIA Tegra210 SoC features a 64 bit memory controller that is split 15*834e6bd4SThierry Reding into two 32 bit channels to support LPDDR3 and LPDDR4 with x16 subpartitions. 16*834e6bd4SThierry Reding The MC handles memory requests for 34-bit virtual addresses from internal 17*834e6bd4SThierry Reding clients and arbitrates among them to allocate memory bandwidth. 18*834e6bd4SThierry Reding 19*834e6bd4SThierry Reding Up to 8 GiB of physical memory can be supported. Security features such as 20*834e6bd4SThierry Reding encryption of traffic to and from DRAM via general security apertures are 21*834e6bd4SThierry Reding available for video and other secure applications. 22*834e6bd4SThierry Reding 23*834e6bd4SThierry Redingproperties: 24*834e6bd4SThierry Reding $nodename: 25*834e6bd4SThierry Reding pattern: "^memory-controller@[0-9a-f]+$" 26*834e6bd4SThierry Reding 27*834e6bd4SThierry Reding compatible: 28*834e6bd4SThierry Reding items: 29*834e6bd4SThierry Reding - enum: 30*834e6bd4SThierry Reding - nvidia,tegra210-mc 31*834e6bd4SThierry Reding 32*834e6bd4SThierry Reding reg: 33*834e6bd4SThierry Reding maxItems: 1 34*834e6bd4SThierry Reding 35*834e6bd4SThierry Reding interrupts: 36*834e6bd4SThierry Reding maxItems: 1 37*834e6bd4SThierry Reding 38*834e6bd4SThierry Reding clocks: 39*834e6bd4SThierry Reding items: 40*834e6bd4SThierry Reding - description: module clock 41*834e6bd4SThierry Reding 42*834e6bd4SThierry Reding clock-names: 43*834e6bd4SThierry Reding items: 44*834e6bd4SThierry Reding - const: mc 45*834e6bd4SThierry Reding 46*834e6bd4SThierry Reding "#iommu-cells": 47*834e6bd4SThierry Reding const: 1 48*834e6bd4SThierry Reding 49*834e6bd4SThierry Reding "#reset-cells": 50*834e6bd4SThierry Reding const: 1 51*834e6bd4SThierry Reding 52*834e6bd4SThierry Redingrequired: 53*834e6bd4SThierry Reding - compatible 54*834e6bd4SThierry Reding - reg 55*834e6bd4SThierry Reding - interrupts 56*834e6bd4SThierry Reding - clocks 57*834e6bd4SThierry Reding - clock-names 58*834e6bd4SThierry Reding - "#iommu-cells" 59*834e6bd4SThierry Reding - "#reset-cells" 60*834e6bd4SThierry Reding 61*834e6bd4SThierry RedingadditionalProperties: false 62*834e6bd4SThierry Reding 63*834e6bd4SThierry Redingexamples: 64*834e6bd4SThierry Reding - | 65*834e6bd4SThierry Reding #include <dt-bindings/clock/tegra210-car.h> 66*834e6bd4SThierry Reding #include <dt-bindings/interrupt-controller/arm-gic.h> 67*834e6bd4SThierry Reding 68*834e6bd4SThierry Reding memory-controller@70019000 { 69*834e6bd4SThierry Reding compatible = "nvidia,tegra210-mc"; 70*834e6bd4SThierry Reding reg = <0x70019000 0x1000>; 71*834e6bd4SThierry Reding interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 72*834e6bd4SThierry Reding clocks = <&tegra_car TEGRA210_CLK_MC>; 73*834e6bd4SThierry Reding clock-names = "mc"; 74*834e6bd4SThierry Reding 75*834e6bd4SThierry Reding #iommu-cells = <1>; 76*834e6bd4SThierry Reding #reset-cells = <1>; 77*834e6bd4SThierry Reding }; 78