1146eee03SLeonard Crestez# SPDX-License-Identifier: GPL-2.0 2146eee03SLeonard Crestez%YAML 1.2 3146eee03SLeonard Crestez--- 4146eee03SLeonard Crestez$id: http://devicetree.org/schemas/interconnect/fsl,imx8m-noc.yaml# 5146eee03SLeonard Crestez$schema: http://devicetree.org/meta-schemas/core.yaml# 6146eee03SLeonard Crestez 7146eee03SLeonard Cresteztitle: Generic i.MX bus frequency device 8146eee03SLeonard Crestez 9146eee03SLeonard Crestezmaintainers: 10146eee03SLeonard Crestez - Leonard Crestez <leonard.crestez@nxp.com> 11146eee03SLeonard Crestez 12146eee03SLeonard Crestezdescription: | 13146eee03SLeonard Crestez The i.MX SoC family has multiple buses for which clock frequency (and 14146eee03SLeonard Crestez sometimes voltage) can be adjusted. 15146eee03SLeonard Crestez 16146eee03SLeonard Crestez Some of those buses expose register areas mentioned in the memory maps as GPV 17146eee03SLeonard Crestez ("Global Programmers View") but not all. Access to this area might be denied 18146eee03SLeonard Crestez for normal (non-secure) world. 19146eee03SLeonard Crestez 20146eee03SLeonard Crestez The buses are based on externally licensed IPs such as ARM NIC-301 and 21146eee03SLeonard Crestez Arteris FlexNOC but DT bindings are specific to the integration of these bus 22146eee03SLeonard Crestez interconnect IPs into imx SOCs. 23146eee03SLeonard Crestez 24146eee03SLeonard Crestezproperties: 25146eee03SLeonard Crestez compatible: 26146eee03SLeonard Crestez oneOf: 27146eee03SLeonard Crestez - items: 28146eee03SLeonard Crestez - enum: 29146eee03SLeonard Crestez - fsl,imx8mm-nic 30*74011550SPeng Fan - fsl,imx8mn-nic 31*74011550SPeng Fan - fsl,imx8mp-nic 32146eee03SLeonard Crestez - fsl,imx8mq-nic 33146eee03SLeonard Crestez - const: fsl,imx8m-nic 34146eee03SLeonard Crestez - items: 35146eee03SLeonard Crestez - enum: 36146eee03SLeonard Crestez - fsl,imx8mm-noc 37*74011550SPeng Fan - fsl,imx8mn-noc 38*74011550SPeng Fan - fsl,imx8mp-noc 39146eee03SLeonard Crestez - fsl,imx8mq-noc 40146eee03SLeonard Crestez - const: fsl,imx8m-noc 41146eee03SLeonard Crestez - const: fsl,imx8m-nic 42146eee03SLeonard Crestez 43146eee03SLeonard Crestez reg: 44146eee03SLeonard Crestez maxItems: 1 45146eee03SLeonard Crestez 46146eee03SLeonard Crestez clocks: 47146eee03SLeonard Crestez maxItems: 1 48146eee03SLeonard Crestez 49146eee03SLeonard Crestez operating-points-v2: true 50146eee03SLeonard Crestez opp-table: true 51146eee03SLeonard Crestez 52146eee03SLeonard Crestez fsl,ddrc: 53146eee03SLeonard Crestez $ref: "/schemas/types.yaml#/definitions/phandle" 54146eee03SLeonard Crestez description: 55146eee03SLeonard Crestez Phandle to DDR Controller. 56146eee03SLeonard Crestez 57146eee03SLeonard Crestez '#interconnect-cells': 58146eee03SLeonard Crestez description: 59146eee03SLeonard Crestez If specified then also act as an interconnect provider. Should only be 60146eee03SLeonard Crestez set once per soc on the main noc. 61146eee03SLeonard Crestez const: 1 62146eee03SLeonard Crestez 63146eee03SLeonard Crestezrequired: 64146eee03SLeonard Crestez - compatible 65146eee03SLeonard Crestez - clocks 66146eee03SLeonard Crestez 67146eee03SLeonard CrestezadditionalProperties: false 68146eee03SLeonard Crestez 69146eee03SLeonard Crestezexamples: 70146eee03SLeonard Crestez - | 71146eee03SLeonard Crestez #include <dt-bindings/clock/imx8mm-clock.h> 72146eee03SLeonard Crestez #include <dt-bindings/interconnect/imx8mm.h> 73146eee03SLeonard Crestez #include <dt-bindings/interrupt-controller/arm-gic.h> 74146eee03SLeonard Crestez 75146eee03SLeonard Crestez noc: interconnect@32700000 { 76146eee03SLeonard Crestez compatible = "fsl,imx8mm-noc", "fsl,imx8m-noc"; 77146eee03SLeonard Crestez reg = <0x32700000 0x100000>; 78146eee03SLeonard Crestez clocks = <&clk IMX8MM_CLK_NOC>; 79146eee03SLeonard Crestez #interconnect-cells = <1>; 80146eee03SLeonard Crestez fsl,ddrc = <&ddrc>; 81146eee03SLeonard Crestez 82146eee03SLeonard Crestez operating-points-v2 = <&noc_opp_table>; 83146eee03SLeonard Crestez noc_opp_table: opp-table { 84146eee03SLeonard Crestez compatible = "operating-points-v2"; 85146eee03SLeonard Crestez 8629fc7695SRob Herring opp-133333333 { 87146eee03SLeonard Crestez opp-hz = /bits/ 64 <133333333>; 88146eee03SLeonard Crestez }; 8929fc7695SRob Herring opp-800000000 { 90146eee03SLeonard Crestez opp-hz = /bits/ 64 <800000000>; 91146eee03SLeonard Crestez }; 92146eee03SLeonard Crestez }; 93146eee03SLeonard Crestez }; 94146eee03SLeonard Crestez 95146eee03SLeonard Crestez ddrc: memory-controller@3d400000 { 96146eee03SLeonard Crestez compatible = "fsl,imx8mm-ddrc", "fsl,imx8m-ddrc"; 97146eee03SLeonard Crestez reg = <0x3d400000 0x400000>; 98146eee03SLeonard Crestez clock-names = "core", "pll", "alt", "apb"; 99146eee03SLeonard Crestez clocks = <&clk IMX8MM_CLK_DRAM_CORE>, 100146eee03SLeonard Crestez <&clk IMX8MM_DRAM_PLL>, 101146eee03SLeonard Crestez <&clk IMX8MM_CLK_DRAM_ALT>, 102146eee03SLeonard Crestez <&clk IMX8MM_CLK_DRAM_APB>; 103146eee03SLeonard Crestez }; 104