Skip to content

Commit b711791

Browse files
committed
arm64: tegra: Add memory controller on Tegra264
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Thierry Reding <[email protected]>
1 parent 65ef237 commit b711791

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

arch/arm64/boot/dts/nvidia/tegra264.dtsi

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <dt-bindings/clock/nvidia,tegra264.h>
44
#include <dt-bindings/interrupt-controller/arm-gic.h>
55
#include <dt-bindings/mailbox/tegra186-hsp.h>
6+
#include <dt-bindings/memory/nvidia,tegra264.h>
67
#include <dt-bindings/reset/nvidia,tegra264.h>
78

89
/ {
@@ -196,6 +197,58 @@
196197
dma-coherent;
197198
};
198199

200+
mc: memory-controller@8020000 {
201+
compatible = "nvidia,tegra264-mc";
202+
reg = <0x00 0x8020000 0x0 0x20000>, /* MC broadcast */
203+
<0x00 0x8040000 0x0 0x20000>, /* MC 0 */
204+
<0x00 0x8060000 0x0 0x20000>, /* MC 1 */
205+
<0x00 0x8080000 0x0 0x20000>, /* MC 2 */
206+
<0x00 0x80a0000 0x0 0x20000>, /* MC 3 */
207+
<0x00 0x80c0000 0x0 0x20000>, /* MC 4 */
208+
<0x00 0x80e0000 0x0 0x20000>, /* MC 5 */
209+
<0x00 0x8100000 0x0 0x20000>, /* MC 6 */
210+
<0x00 0x8120000 0x0 0x20000>, /* MC 7 */
211+
<0x00 0x8140000 0x0 0x20000>, /* MC 8 */
212+
<0x00 0x8160000 0x0 0x20000>, /* MC 9 */
213+
<0x00 0x8180000 0x0 0x20000>, /* MC 10 */
214+
<0x00 0x81a0000 0x0 0x20000>, /* MC 11 */
215+
<0x00 0x81c0000 0x0 0x20000>, /* MC 12 */
216+
<0x00 0x81e0000 0x0 0x20000>, /* MC 13 */
217+
<0x00 0x8200000 0x0 0x20000>, /* MC 14 */
218+
<0x00 0x8220000 0x0 0x20000>; /* MC 15 */
219+
reg-names = "broadcast", "ch0", "ch1", "ch2", "ch3",
220+
"ch4", "ch5", "ch6", "ch7", "ch8", "ch9",
221+
"ch10", "ch11", "ch12", "ch13", "ch14",
222+
"ch15";
223+
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
224+
<GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
225+
<GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
226+
<GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
227+
<GIC_SPI 903 IRQ_TYPE_LEVEL_HIGH>,
228+
<GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
229+
<GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
230+
<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
231+
#interconnect-cells = <1>;
232+
233+
#address-cells = <2>;
234+
#size-cells = <2>;
235+
236+
/* limit the DMA range for memory clients to [39:0] */
237+
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
238+
239+
emc: external-memory-controller@8800000 {
240+
compatible = "nvidia,tegra264-emc";
241+
reg = <0x00 0x8800000 0x0 0x20000>,
242+
<0x00 0x8890000 0x0 0x20000>;
243+
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
244+
clocks = <&bpmp TEGRA264_CLK_EMC>;
245+
clock-names = "emc";
246+
247+
#interconnect-cells = <0>;
248+
nvidia,bpmp = <&bpmp>;
249+
};
250+
};
251+
199252
smmu0: iommu@a000000 {
200253
compatible = "arm,smmu-v3";
201254
reg = <0x00 0xa000000 0x0 0x200000>;

0 commit comments

Comments
 (0)