xref: /freebsd-src/sys/contrib/device-tree/Bindings/memory-controllers/nvidia,tegra210-emc.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra210-emc.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: NVIDIA Tegra210 SoC External Memory Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Thierry Reding <thierry.reding@gmail.com>
11c66ec88fSEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription: |
14c66ec88fSEmmanuel Vadot  The EMC interfaces with the off-chip SDRAM to service the request stream
15c66ec88fSEmmanuel Vadot  sent from the memory controller.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19c66ec88fSEmmanuel Vadot    const: nvidia,tegra210-emc
20c66ec88fSEmmanuel Vadot
21c66ec88fSEmmanuel Vadot  reg:
22c66ec88fSEmmanuel Vadot    maxItems: 3
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot  clocks:
25c66ec88fSEmmanuel Vadot    items:
26c66ec88fSEmmanuel Vadot      - description: external memory clock
27c66ec88fSEmmanuel Vadot
28c66ec88fSEmmanuel Vadot  clock-names:
29c66ec88fSEmmanuel Vadot    items:
30c66ec88fSEmmanuel Vadot      - const: emc
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot  interrupts:
33c66ec88fSEmmanuel Vadot    items:
34c66ec88fSEmmanuel Vadot      - description: EMC general interrupt
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  memory-region:
37*2eb4d8dcSEmmanuel Vadot    maxItems: 1
38c66ec88fSEmmanuel Vadot    description:
39c66ec88fSEmmanuel Vadot      phandle to a reserved memory region describing the table of EMC
40c66ec88fSEmmanuel Vadot      frequencies trained by the firmware
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  nvidia,memory-controller:
43c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
44c66ec88fSEmmanuel Vadot    description:
45c66ec88fSEmmanuel Vadot      phandle of the memory controller node
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadotrequired:
48c66ec88fSEmmanuel Vadot  - compatible
49c66ec88fSEmmanuel Vadot  - reg
50c66ec88fSEmmanuel Vadot  - clocks
51c66ec88fSEmmanuel Vadot  - clock-names
52c66ec88fSEmmanuel Vadot  - nvidia,memory-controller
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel VadotadditionalProperties: false
55c66ec88fSEmmanuel Vadot
56c66ec88fSEmmanuel Vadotexamples:
57c66ec88fSEmmanuel Vadot  - |
58c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/tegra210-car.h>
59c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel Vadot    reserved-memory {
62c66ec88fSEmmanuel Vadot        #address-cells = <1>;
63c66ec88fSEmmanuel Vadot        #size-cells = <1>;
64c66ec88fSEmmanuel Vadot        ranges;
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot        emc_table: emc-table@83400000 {
67c66ec88fSEmmanuel Vadot            compatible = "nvidia,tegra210-emc-table";
68c66ec88fSEmmanuel Vadot            reg = <0x83400000 0x10000>;
69c66ec88fSEmmanuel Vadot        };
70c66ec88fSEmmanuel Vadot    };
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot    external-memory-controller@7001b000 {
73c66ec88fSEmmanuel Vadot        compatible = "nvidia,tegra210-emc";
74c66ec88fSEmmanuel Vadot        reg = <0x7001b000 0x1000>,
75c66ec88fSEmmanuel Vadot              <0x7001e000 0x1000>,
76c66ec88fSEmmanuel Vadot              <0x7001f000 0x1000>;
77c66ec88fSEmmanuel Vadot        clocks = <&tegra_car TEGRA210_CLK_EMC>;
78c66ec88fSEmmanuel Vadot        clock-names = "emc";
79c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
80c66ec88fSEmmanuel Vadot        memory-region = <&emc_table>;
81c66ec88fSEmmanuel Vadot        nvidia,memory-controller = <&mc>;
82c66ec88fSEmmanuel Vadot    };
83