1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2f126890aSEmmanuel Vadot// 3f126890aSEmmanuel Vadot// Copyright 2011 Freescale Semiconductor, Inc. 4f126890aSEmmanuel Vadot// Copyright 2011 Linaro Ltd. 5f126890aSEmmanuel Vadot 6f126890aSEmmanuel Vadot#include "imx51-pinfunc.h" 7f126890aSEmmanuel Vadot#include <dt-bindings/clock/imx5-clock.h> 8f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 10f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadot/ { 13f126890aSEmmanuel Vadot #address-cells = <1>; 14f126890aSEmmanuel Vadot #size-cells = <1>; 15f126890aSEmmanuel Vadot /* 16f126890aSEmmanuel Vadot * The decompressor and also some bootloaders rely on a 17f126890aSEmmanuel Vadot * pre-existing /chosen node to be available to insert the 18f126890aSEmmanuel Vadot * command line and merge other ATAGS info. 19f126890aSEmmanuel Vadot */ 20f126890aSEmmanuel Vadot chosen {}; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot aliases { 23f126890aSEmmanuel Vadot ethernet0 = &fec; 24f126890aSEmmanuel Vadot gpio0 = &gpio1; 25f126890aSEmmanuel Vadot gpio1 = &gpio2; 26f126890aSEmmanuel Vadot gpio2 = &gpio3; 27f126890aSEmmanuel Vadot gpio3 = &gpio4; 28f126890aSEmmanuel Vadot i2c0 = &i2c1; 29f126890aSEmmanuel Vadot i2c1 = &i2c2; 30f126890aSEmmanuel Vadot mmc0 = &esdhc1; 31f126890aSEmmanuel Vadot mmc1 = &esdhc2; 32f126890aSEmmanuel Vadot mmc2 = &esdhc3; 33f126890aSEmmanuel Vadot mmc3 = &esdhc4; 34f126890aSEmmanuel Vadot serial0 = &uart1; 35f126890aSEmmanuel Vadot serial1 = &uart2; 36f126890aSEmmanuel Vadot serial2 = &uart3; 37f126890aSEmmanuel Vadot spi0 = &ecspi1; 38f126890aSEmmanuel Vadot spi1 = &ecspi2; 39f126890aSEmmanuel Vadot spi2 = &cspi; 40f126890aSEmmanuel Vadot }; 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadot tzic: tz-interrupt-controller@e0000000 { 43f126890aSEmmanuel Vadot compatible = "fsl,imx51-tzic", "fsl,tzic"; 44f126890aSEmmanuel Vadot interrupt-controller; 45f126890aSEmmanuel Vadot #interrupt-cells = <1>; 46f126890aSEmmanuel Vadot reg = <0xe0000000 0x4000>; 47f126890aSEmmanuel Vadot }; 48f126890aSEmmanuel Vadot 49f126890aSEmmanuel Vadot clocks { 50f126890aSEmmanuel Vadot ckil { 51f126890aSEmmanuel Vadot compatible = "fixed-clock"; 52f126890aSEmmanuel Vadot #clock-cells = <0>; 53f126890aSEmmanuel Vadot clock-frequency = <32768>; 54f126890aSEmmanuel Vadot }; 55f126890aSEmmanuel Vadot 56f126890aSEmmanuel Vadot ckih1 { 57f126890aSEmmanuel Vadot compatible = "fixed-clock"; 58f126890aSEmmanuel Vadot #clock-cells = <0>; 59f126890aSEmmanuel Vadot clock-frequency = <0>; 60f126890aSEmmanuel Vadot }; 61f126890aSEmmanuel Vadot 62f126890aSEmmanuel Vadot ckih2 { 63f126890aSEmmanuel Vadot compatible = "fixed-clock"; 64f126890aSEmmanuel Vadot #clock-cells = <0>; 65f126890aSEmmanuel Vadot clock-frequency = <0>; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot osc { 69f126890aSEmmanuel Vadot compatible = "fixed-clock"; 70f126890aSEmmanuel Vadot #clock-cells = <0>; 71f126890aSEmmanuel Vadot clock-frequency = <24000000>; 72f126890aSEmmanuel Vadot }; 73f126890aSEmmanuel Vadot }; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot cpus { 76f126890aSEmmanuel Vadot #address-cells = <1>; 77f126890aSEmmanuel Vadot #size-cells = <0>; 78f126890aSEmmanuel Vadot cpu: cpu@0 { 79f126890aSEmmanuel Vadot device_type = "cpu"; 80f126890aSEmmanuel Vadot compatible = "arm,cortex-a8"; 81f126890aSEmmanuel Vadot reg = <0>; 82f126890aSEmmanuel Vadot clock-latency = <62500>; 83f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_CPU_PODF>; 84f126890aSEmmanuel Vadot clock-names = "cpu"; 85f126890aSEmmanuel Vadot operating-points = < 86f126890aSEmmanuel Vadot 166000 1000000 87f126890aSEmmanuel Vadot 600000 1050000 88f126890aSEmmanuel Vadot 800000 1100000 89f126890aSEmmanuel Vadot >; 90f126890aSEmmanuel Vadot voltage-tolerance = <5>; 91f126890aSEmmanuel Vadot }; 92f126890aSEmmanuel Vadot }; 93f126890aSEmmanuel Vadot 94f126890aSEmmanuel Vadot pmu: pmu { 95f126890aSEmmanuel Vadot compatible = "arm,cortex-a8-pmu"; 96f126890aSEmmanuel Vadot interrupt-parent = <&tzic>; 97f126890aSEmmanuel Vadot interrupts = <77>; 98f126890aSEmmanuel Vadot }; 99f126890aSEmmanuel Vadot 100f126890aSEmmanuel Vadot usbphy0: usbphy0 { 101f126890aSEmmanuel Vadot compatible = "usb-nop-xceiv"; 102f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_USB_PHY_GATE>; 103f126890aSEmmanuel Vadot clock-names = "main_clk"; 104f126890aSEmmanuel Vadot #phy-cells = <0>; 105f126890aSEmmanuel Vadot }; 106f126890aSEmmanuel Vadot 107f126890aSEmmanuel Vadot capture-subsystem { 108f126890aSEmmanuel Vadot compatible = "fsl,imx-capture-subsystem"; 109f126890aSEmmanuel Vadot ports = <&ipu_csi0>, <&ipu_csi1>; 110f126890aSEmmanuel Vadot }; 111f126890aSEmmanuel Vadot 112f126890aSEmmanuel Vadot display-subsystem { 113f126890aSEmmanuel Vadot compatible = "fsl,imx-display-subsystem"; 114f126890aSEmmanuel Vadot ports = <&ipu_di0>, <&ipu_di1>; 115f126890aSEmmanuel Vadot }; 116f126890aSEmmanuel Vadot 117f126890aSEmmanuel Vadot soc: soc { 118f126890aSEmmanuel Vadot #address-cells = <1>; 119f126890aSEmmanuel Vadot #size-cells = <1>; 120f126890aSEmmanuel Vadot compatible = "simple-bus"; 121f126890aSEmmanuel Vadot interrupt-parent = <&tzic>; 122f126890aSEmmanuel Vadot ranges; 123f126890aSEmmanuel Vadot 124f126890aSEmmanuel Vadot iram: sram@1ffe0000 { 125f126890aSEmmanuel Vadot compatible = "mmio-sram"; 126f126890aSEmmanuel Vadot reg = <0x1ffe0000 0x20000>; 127f126890aSEmmanuel Vadot ranges = <0 0x1ffe0000 0x20000>; 128f126890aSEmmanuel Vadot #address-cells = <1>; 129f126890aSEmmanuel Vadot #size-cells = <1>; 130f126890aSEmmanuel Vadot }; 131f126890aSEmmanuel Vadot 132f126890aSEmmanuel Vadot gpu: gpu@30000000 { 133f126890aSEmmanuel Vadot compatible = "amd,imageon-200.1", "amd,imageon"; 134f126890aSEmmanuel Vadot reg = <0x30000000 0x20000>; 135f126890aSEmmanuel Vadot reg-names = "kgsl_3d0_reg_memory"; 136f126890aSEmmanuel Vadot interrupts = <12>; 137f126890aSEmmanuel Vadot interrupt-names = "kgsl_3d0_irq"; 138f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_GPU3D_GATE>, <&clks IMX5_CLK_GARB_GATE>; 139f126890aSEmmanuel Vadot clock-names = "core_clk", "mem_iface_clk"; 140f126890aSEmmanuel Vadot }; 141f126890aSEmmanuel Vadot 142f126890aSEmmanuel Vadot ipu: ipu@40000000 { 143f126890aSEmmanuel Vadot #address-cells = <1>; 144f126890aSEmmanuel Vadot #size-cells = <0>; 145f126890aSEmmanuel Vadot compatible = "fsl,imx51-ipu"; 146f126890aSEmmanuel Vadot reg = <0x40000000 0x20000000>; 147f126890aSEmmanuel Vadot interrupts = <11 10>; 148f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_IPU_GATE>, 149f126890aSEmmanuel Vadot <&clks IMX5_CLK_IPU_DI0_GATE>, 150f126890aSEmmanuel Vadot <&clks IMX5_CLK_IPU_DI1_GATE>; 151f126890aSEmmanuel Vadot clock-names = "bus", "di0", "di1"; 152f126890aSEmmanuel Vadot resets = <&src 2>; 153f126890aSEmmanuel Vadot 154f126890aSEmmanuel Vadot ipu_csi0: port@0 { 155f126890aSEmmanuel Vadot reg = <0>; 156f126890aSEmmanuel Vadot }; 157f126890aSEmmanuel Vadot 158f126890aSEmmanuel Vadot ipu_csi1: port@1 { 159f126890aSEmmanuel Vadot reg = <1>; 160f126890aSEmmanuel Vadot }; 161f126890aSEmmanuel Vadot 162f126890aSEmmanuel Vadot ipu_di0: port@2 { 163f126890aSEmmanuel Vadot reg = <2>; 164f126890aSEmmanuel Vadot 165f126890aSEmmanuel Vadot ipu_di0_disp1: endpoint { 166f126890aSEmmanuel Vadot }; 167f126890aSEmmanuel Vadot }; 168f126890aSEmmanuel Vadot 169f126890aSEmmanuel Vadot ipu_di1: port@3 { 170f126890aSEmmanuel Vadot reg = <3>; 171f126890aSEmmanuel Vadot 172f126890aSEmmanuel Vadot ipu_di1_disp2: endpoint { 173f126890aSEmmanuel Vadot }; 174f126890aSEmmanuel Vadot }; 175f126890aSEmmanuel Vadot }; 176f126890aSEmmanuel Vadot 177f126890aSEmmanuel Vadot aips1: bus@70000000 { /* AIPS1 */ 178f126890aSEmmanuel Vadot compatible = "fsl,aips-bus", "simple-bus"; 179f126890aSEmmanuel Vadot #address-cells = <1>; 180f126890aSEmmanuel Vadot #size-cells = <1>; 181f126890aSEmmanuel Vadot reg = <0x70000000 0x10000000>; 182f126890aSEmmanuel Vadot ranges; 183f126890aSEmmanuel Vadot 184f126890aSEmmanuel Vadot spba-bus@70000000 { 185f126890aSEmmanuel Vadot compatible = "fsl,spba-bus", "simple-bus"; 186f126890aSEmmanuel Vadot #address-cells = <1>; 187f126890aSEmmanuel Vadot #size-cells = <1>; 188f126890aSEmmanuel Vadot reg = <0x70000000 0x40000>; 189f126890aSEmmanuel Vadot ranges; 190f126890aSEmmanuel Vadot 191f126890aSEmmanuel Vadot esdhc1: mmc@70004000 { 192f126890aSEmmanuel Vadot compatible = "fsl,imx51-esdhc"; 193f126890aSEmmanuel Vadot reg = <0x70004000 0x4000>; 194f126890aSEmmanuel Vadot interrupts = <1>; 195f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_ESDHC1_IPG_GATE>, 196f126890aSEmmanuel Vadot <&clks IMX5_CLK_DUMMY>, 197f126890aSEmmanuel Vadot <&clks IMX5_CLK_ESDHC1_PER_GATE>; 198f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 199f126890aSEmmanuel Vadot status = "disabled"; 200f126890aSEmmanuel Vadot }; 201f126890aSEmmanuel Vadot 202f126890aSEmmanuel Vadot esdhc2: mmc@70008000 { 203f126890aSEmmanuel Vadot compatible = "fsl,imx51-esdhc"; 204f126890aSEmmanuel Vadot reg = <0x70008000 0x4000>; 205f126890aSEmmanuel Vadot interrupts = <2>; 206f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_ESDHC2_IPG_GATE>, 207f126890aSEmmanuel Vadot <&clks IMX5_CLK_DUMMY>, 208f126890aSEmmanuel Vadot <&clks IMX5_CLK_ESDHC2_PER_GATE>; 209f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 210f126890aSEmmanuel Vadot bus-width = <4>; 211f126890aSEmmanuel Vadot status = "disabled"; 212f126890aSEmmanuel Vadot }; 213f126890aSEmmanuel Vadot 214f126890aSEmmanuel Vadot uart3: serial@7000c000 { 215f126890aSEmmanuel Vadot compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 216f126890aSEmmanuel Vadot reg = <0x7000c000 0x4000>; 217f126890aSEmmanuel Vadot interrupts = <33>; 218f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_UART3_IPG_GATE>, 219f126890aSEmmanuel Vadot <&clks IMX5_CLK_UART3_PER_GATE>; 220f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 221f126890aSEmmanuel Vadot dmas = <&sdma 43 5 1>, <&sdma 44 5 2>; 222f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 223f126890aSEmmanuel Vadot status = "disabled"; 224f126890aSEmmanuel Vadot }; 225f126890aSEmmanuel Vadot 226f126890aSEmmanuel Vadot ecspi1: spi@70010000 { 227f126890aSEmmanuel Vadot #address-cells = <1>; 228f126890aSEmmanuel Vadot #size-cells = <0>; 229f126890aSEmmanuel Vadot compatible = "fsl,imx51-ecspi"; 230f126890aSEmmanuel Vadot reg = <0x70010000 0x4000>; 231f126890aSEmmanuel Vadot interrupts = <36>; 232f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_ECSPI1_IPG_GATE>, 233f126890aSEmmanuel Vadot <&clks IMX5_CLK_ECSPI1_PER_GATE>; 234f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 235f126890aSEmmanuel Vadot status = "disabled"; 236f126890aSEmmanuel Vadot }; 237f126890aSEmmanuel Vadot 238f126890aSEmmanuel Vadot ssi2: ssi@70014000 { 239f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 240f126890aSEmmanuel Vadot compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 241f126890aSEmmanuel Vadot reg = <0x70014000 0x4000>; 242f126890aSEmmanuel Vadot interrupts = <30>; 243f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>, 244f126890aSEmmanuel Vadot <&clks IMX5_CLK_SSI2_ROOT_GATE>; 245f126890aSEmmanuel Vadot clock-names = "ipg", "baud"; 246f126890aSEmmanuel Vadot dmas = <&sdma 24 1 0>, 247f126890aSEmmanuel Vadot <&sdma 25 1 0>; 248f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 249f126890aSEmmanuel Vadot fsl,fifo-depth = <15>; 250f126890aSEmmanuel Vadot status = "disabled"; 251f126890aSEmmanuel Vadot }; 252f126890aSEmmanuel Vadot 253f126890aSEmmanuel Vadot esdhc3: mmc@70020000 { 254f126890aSEmmanuel Vadot compatible = "fsl,imx51-esdhc"; 255f126890aSEmmanuel Vadot reg = <0x70020000 0x4000>; 256f126890aSEmmanuel Vadot interrupts = <3>; 257f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_ESDHC3_IPG_GATE>, 258f126890aSEmmanuel Vadot <&clks IMX5_CLK_DUMMY>, 259f126890aSEmmanuel Vadot <&clks IMX5_CLK_ESDHC3_PER_GATE>; 260f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 261f126890aSEmmanuel Vadot bus-width = <4>; 262f126890aSEmmanuel Vadot status = "disabled"; 263f126890aSEmmanuel Vadot }; 264f126890aSEmmanuel Vadot 265f126890aSEmmanuel Vadot esdhc4: mmc@70024000 { 266f126890aSEmmanuel Vadot compatible = "fsl,imx51-esdhc"; 267f126890aSEmmanuel Vadot reg = <0x70024000 0x4000>; 268f126890aSEmmanuel Vadot interrupts = <4>; 269f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_ESDHC4_IPG_GATE>, 270f126890aSEmmanuel Vadot <&clks IMX5_CLK_DUMMY>, 271f126890aSEmmanuel Vadot <&clks IMX5_CLK_ESDHC4_PER_GATE>; 272f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 273f126890aSEmmanuel Vadot bus-width = <4>; 274f126890aSEmmanuel Vadot status = "disabled"; 275f126890aSEmmanuel Vadot }; 276f126890aSEmmanuel Vadot }; 277f126890aSEmmanuel Vadot 278f126890aSEmmanuel Vadot aipstz1: bridge@73f00000 { 279f126890aSEmmanuel Vadot compatible = "fsl,imx51-aipstz"; 280f126890aSEmmanuel Vadot reg = <0x73f00000 0x60>; 281f126890aSEmmanuel Vadot }; 282f126890aSEmmanuel Vadot 283f126890aSEmmanuel Vadot usbotg: usb@73f80000 { 284f126890aSEmmanuel Vadot compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 285f126890aSEmmanuel Vadot reg = <0x73f80000 0x0200>; 286f126890aSEmmanuel Vadot interrupts = <18>; 287f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_USBOH3_GATE>; 288f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 0>; 289f126890aSEmmanuel Vadot fsl,usbphy = <&usbphy0>; 290f126890aSEmmanuel Vadot status = "disabled"; 291f126890aSEmmanuel Vadot }; 292f126890aSEmmanuel Vadot 293f126890aSEmmanuel Vadot usbh1: usb@73f80200 { 294f126890aSEmmanuel Vadot compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 295f126890aSEmmanuel Vadot reg = <0x73f80200 0x0200>; 296f126890aSEmmanuel Vadot interrupts = <14>; 297f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_USBOH3_GATE>; 298f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 1>; 299f126890aSEmmanuel Vadot dr_mode = "host"; 300f126890aSEmmanuel Vadot status = "disabled"; 301f126890aSEmmanuel Vadot }; 302f126890aSEmmanuel Vadot 303f126890aSEmmanuel Vadot usbh2: usb@73f80400 { 304f126890aSEmmanuel Vadot compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 305f126890aSEmmanuel Vadot reg = <0x73f80400 0x0200>; 306f126890aSEmmanuel Vadot interrupts = <16>; 307f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_USBOH3_GATE>; 308f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 2>; 309f126890aSEmmanuel Vadot dr_mode = "host"; 310f126890aSEmmanuel Vadot status = "disabled"; 311f126890aSEmmanuel Vadot }; 312f126890aSEmmanuel Vadot 313f126890aSEmmanuel Vadot usbh3: usb@73f80600 { 314f126890aSEmmanuel Vadot compatible = "fsl,imx51-usb", "fsl,imx27-usb"; 315f126890aSEmmanuel Vadot reg = <0x73f80600 0x0200>; 316f126890aSEmmanuel Vadot interrupts = <17>; 317f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_USBOH3_GATE>; 318f126890aSEmmanuel Vadot fsl,usbmisc = <&usbmisc 3>; 319f126890aSEmmanuel Vadot dr_mode = "host"; 320f126890aSEmmanuel Vadot status = "disabled"; 321f126890aSEmmanuel Vadot }; 322f126890aSEmmanuel Vadot 323f126890aSEmmanuel Vadot usbmisc: usbmisc@73f80800 { 324f126890aSEmmanuel Vadot #index-cells = <1>; 325f126890aSEmmanuel Vadot compatible = "fsl,imx51-usbmisc"; 326f126890aSEmmanuel Vadot reg = <0x73f80800 0x200>; 327f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_USBOH3_GATE>; 328f126890aSEmmanuel Vadot }; 329f126890aSEmmanuel Vadot 330f126890aSEmmanuel Vadot gpio1: gpio@73f84000 { 331f126890aSEmmanuel Vadot compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 332f126890aSEmmanuel Vadot reg = <0x73f84000 0x4000>; 333f126890aSEmmanuel Vadot interrupts = <50 51>; 334f126890aSEmmanuel Vadot gpio-controller; 335f126890aSEmmanuel Vadot #gpio-cells = <2>; 336f126890aSEmmanuel Vadot interrupt-controller; 337f126890aSEmmanuel Vadot #interrupt-cells = <2>; 338f126890aSEmmanuel Vadot }; 339f126890aSEmmanuel Vadot 340f126890aSEmmanuel Vadot gpio2: gpio@73f88000 { 341f126890aSEmmanuel Vadot compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 342f126890aSEmmanuel Vadot reg = <0x73f88000 0x4000>; 343f126890aSEmmanuel Vadot interrupts = <52 53>; 344f126890aSEmmanuel Vadot gpio-controller; 345f126890aSEmmanuel Vadot #gpio-cells = <2>; 346f126890aSEmmanuel Vadot interrupt-controller; 347f126890aSEmmanuel Vadot #interrupt-cells = <2>; 348f126890aSEmmanuel Vadot }; 349f126890aSEmmanuel Vadot 350f126890aSEmmanuel Vadot gpio3: gpio@73f8c000 { 351f126890aSEmmanuel Vadot compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 352f126890aSEmmanuel Vadot reg = <0x73f8c000 0x4000>; 353f126890aSEmmanuel Vadot interrupts = <54 55>; 354f126890aSEmmanuel Vadot gpio-controller; 355f126890aSEmmanuel Vadot #gpio-cells = <2>; 356f126890aSEmmanuel Vadot interrupt-controller; 357f126890aSEmmanuel Vadot #interrupt-cells = <2>; 358f126890aSEmmanuel Vadot }; 359f126890aSEmmanuel Vadot 360f126890aSEmmanuel Vadot gpio4: gpio@73f90000 { 361f126890aSEmmanuel Vadot compatible = "fsl,imx51-gpio", "fsl,imx35-gpio"; 362f126890aSEmmanuel Vadot reg = <0x73f90000 0x4000>; 363f126890aSEmmanuel Vadot interrupts = <56 57>; 364f126890aSEmmanuel Vadot gpio-controller; 365f126890aSEmmanuel Vadot #gpio-cells = <2>; 366f126890aSEmmanuel Vadot interrupt-controller; 367f126890aSEmmanuel Vadot #interrupt-cells = <2>; 368f126890aSEmmanuel Vadot }; 369f126890aSEmmanuel Vadot 370f126890aSEmmanuel Vadot kpp: kpp@73f94000 { 371f126890aSEmmanuel Vadot compatible = "fsl,imx51-kpp", "fsl,imx21-kpp"; 372f126890aSEmmanuel Vadot reg = <0x73f94000 0x4000>; 373f126890aSEmmanuel Vadot interrupts = <60>; 374f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_DUMMY>; 375f126890aSEmmanuel Vadot status = "disabled"; 376f126890aSEmmanuel Vadot }; 377f126890aSEmmanuel Vadot 378f126890aSEmmanuel Vadot wdog1: watchdog@73f98000 { 379f126890aSEmmanuel Vadot compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; 380f126890aSEmmanuel Vadot reg = <0x73f98000 0x4000>; 381f126890aSEmmanuel Vadot interrupts = <58>; 382f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_DUMMY>; 383f126890aSEmmanuel Vadot }; 384f126890aSEmmanuel Vadot 385f126890aSEmmanuel Vadot wdog2: watchdog@73f9c000 { 386f126890aSEmmanuel Vadot compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; 387f126890aSEmmanuel Vadot reg = <0x73f9c000 0x4000>; 388f126890aSEmmanuel Vadot interrupts = <59>; 389f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_DUMMY>; 390f126890aSEmmanuel Vadot status = "disabled"; 391f126890aSEmmanuel Vadot }; 392f126890aSEmmanuel Vadot 393f126890aSEmmanuel Vadot gpt: timer@73fa0000 { 394f126890aSEmmanuel Vadot compatible = "fsl,imx51-gpt", "fsl,imx31-gpt"; 395f126890aSEmmanuel Vadot reg = <0x73fa0000 0x4000>; 396f126890aSEmmanuel Vadot interrupts = <39>; 397f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_GPT_IPG_GATE>, 398f126890aSEmmanuel Vadot <&clks IMX5_CLK_GPT_HF_GATE>; 399f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 400f126890aSEmmanuel Vadot }; 401f126890aSEmmanuel Vadot 402f126890aSEmmanuel Vadot iomuxc: iomuxc@73fa8000 { 403f126890aSEmmanuel Vadot compatible = "fsl,imx51-iomuxc"; 404f126890aSEmmanuel Vadot reg = <0x73fa8000 0x4000>; 405f126890aSEmmanuel Vadot }; 406f126890aSEmmanuel Vadot 407f126890aSEmmanuel Vadot pwm1: pwm@73fb4000 { 408f126890aSEmmanuel Vadot #pwm-cells = <3>; 409f126890aSEmmanuel Vadot compatible = "fsl,imx51-pwm", "fsl,imx27-pwm"; 410f126890aSEmmanuel Vadot reg = <0x73fb4000 0x4000>; 411f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>, 412f126890aSEmmanuel Vadot <&clks IMX5_CLK_PWM1_HF_GATE>; 413f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 414f126890aSEmmanuel Vadot interrupts = <61>; 415f126890aSEmmanuel Vadot }; 416f126890aSEmmanuel Vadot 417f126890aSEmmanuel Vadot pwm2: pwm@73fb8000 { 418f126890aSEmmanuel Vadot #pwm-cells = <3>; 419f126890aSEmmanuel Vadot compatible = "fsl,imx51-pwm", "fsl,imx27-pwm"; 420f126890aSEmmanuel Vadot reg = <0x73fb8000 0x4000>; 421f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_PWM2_IPG_GATE>, 422f126890aSEmmanuel Vadot <&clks IMX5_CLK_PWM2_HF_GATE>; 423f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 424f126890aSEmmanuel Vadot interrupts = <94>; 425f126890aSEmmanuel Vadot }; 426f126890aSEmmanuel Vadot 427f126890aSEmmanuel Vadot uart1: serial@73fbc000 { 428f126890aSEmmanuel Vadot compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 429f126890aSEmmanuel Vadot reg = <0x73fbc000 0x4000>; 430f126890aSEmmanuel Vadot interrupts = <31>; 431f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_UART1_IPG_GATE>, 432f126890aSEmmanuel Vadot <&clks IMX5_CLK_UART1_PER_GATE>; 433f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 434f126890aSEmmanuel Vadot dmas = <&sdma 18 4 1>, <&sdma 19 4 2>; 435f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 436f126890aSEmmanuel Vadot status = "disabled"; 437f126890aSEmmanuel Vadot }; 438f126890aSEmmanuel Vadot 439f126890aSEmmanuel Vadot uart2: serial@73fc0000 { 440f126890aSEmmanuel Vadot compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 441f126890aSEmmanuel Vadot reg = <0x73fc0000 0x4000>; 442f126890aSEmmanuel Vadot interrupts = <32>; 443f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_UART2_IPG_GATE>, 444f126890aSEmmanuel Vadot <&clks IMX5_CLK_UART2_PER_GATE>; 445f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 446f126890aSEmmanuel Vadot dmas = <&sdma 16 4 1>, <&sdma 17 4 2>; 447f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 448f126890aSEmmanuel Vadot status = "disabled"; 449f126890aSEmmanuel Vadot }; 450f126890aSEmmanuel Vadot 451f126890aSEmmanuel Vadot src: reset-controller@73fd0000 { 452f126890aSEmmanuel Vadot compatible = "fsl,imx51-src"; 453f126890aSEmmanuel Vadot reg = <0x73fd0000 0x4000>; 454f126890aSEmmanuel Vadot interrupts = <75>; 455f126890aSEmmanuel Vadot #reset-cells = <1>; 456f126890aSEmmanuel Vadot }; 457f126890aSEmmanuel Vadot 458f126890aSEmmanuel Vadot clks: ccm@73fd4000 { 459f126890aSEmmanuel Vadot compatible = "fsl,imx51-ccm"; 460f126890aSEmmanuel Vadot reg = <0x73fd4000 0x4000>; 461f126890aSEmmanuel Vadot interrupts = <0 71 0x04 0 72 0x04>; 462f126890aSEmmanuel Vadot #clock-cells = <1>; 463f126890aSEmmanuel Vadot }; 464f126890aSEmmanuel Vadot }; 465f126890aSEmmanuel Vadot 466f126890aSEmmanuel Vadot aips2: bus@80000000 { /* AIPS2 */ 467f126890aSEmmanuel Vadot compatible = "fsl,aips-bus", "simple-bus"; 468f126890aSEmmanuel Vadot #address-cells = <1>; 469f126890aSEmmanuel Vadot #size-cells = <1>; 470f126890aSEmmanuel Vadot reg = <0x80000000 0x10000000>; 471f126890aSEmmanuel Vadot ranges; 472f126890aSEmmanuel Vadot 473f126890aSEmmanuel Vadot aipstz2: bridge@83f00000 { 474f126890aSEmmanuel Vadot compatible = "fsl,imx51-aipstz"; 475f126890aSEmmanuel Vadot reg = <0x83f00000 0x60>; 476f126890aSEmmanuel Vadot }; 477f126890aSEmmanuel Vadot 478f126890aSEmmanuel Vadot iim: efuse@83f98000 { 479f126890aSEmmanuel Vadot compatible = "fsl,imx51-iim", "fsl,imx27-iim", "syscon"; 480f126890aSEmmanuel Vadot reg = <0x83f98000 0x4000>; 481f126890aSEmmanuel Vadot interrupts = <69>; 482f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_IIM_GATE>; 483f126890aSEmmanuel Vadot }; 484f126890aSEmmanuel Vadot 485f126890aSEmmanuel Vadot tigerp: tigerp@83fa0000 { 486f126890aSEmmanuel Vadot compatible = "fsl,imx51-tigerp"; 487f126890aSEmmanuel Vadot reg = <0x83fa0000 0x28>; 488f126890aSEmmanuel Vadot }; 489f126890aSEmmanuel Vadot 490f126890aSEmmanuel Vadot owire: owire@83fa4000 { 491f126890aSEmmanuel Vadot compatible = "fsl,imx51-owire", "fsl,imx21-owire"; 492f126890aSEmmanuel Vadot reg = <0x83fa4000 0x4000>; 493f126890aSEmmanuel Vadot interrupts = <88>; 494f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_OWIRE_GATE>; 495f126890aSEmmanuel Vadot status = "disabled"; 496f126890aSEmmanuel Vadot }; 497f126890aSEmmanuel Vadot 498f126890aSEmmanuel Vadot ecspi2: spi@83fac000 { 499f126890aSEmmanuel Vadot #address-cells = <1>; 500f126890aSEmmanuel Vadot #size-cells = <0>; 501f126890aSEmmanuel Vadot compatible = "fsl,imx51-ecspi"; 502f126890aSEmmanuel Vadot reg = <0x83fac000 0x4000>; 503f126890aSEmmanuel Vadot interrupts = <37>; 504f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_ECSPI2_IPG_GATE>, 505f126890aSEmmanuel Vadot <&clks IMX5_CLK_ECSPI2_PER_GATE>; 506f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 507f126890aSEmmanuel Vadot status = "disabled"; 508f126890aSEmmanuel Vadot }; 509f126890aSEmmanuel Vadot 510f126890aSEmmanuel Vadot sdma: dma-controller@83fb0000 { 511f126890aSEmmanuel Vadot compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; 512f126890aSEmmanuel Vadot reg = <0x83fb0000 0x4000>; 513f126890aSEmmanuel Vadot interrupts = <6>; 514f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_SDMA_GATE>, 515f126890aSEmmanuel Vadot <&clks IMX5_CLK_AHB>; 516f126890aSEmmanuel Vadot clock-names = "ipg", "ahb"; 517f126890aSEmmanuel Vadot #dma-cells = <3>; 518f126890aSEmmanuel Vadot fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin"; 519f126890aSEmmanuel Vadot }; 520f126890aSEmmanuel Vadot 521f126890aSEmmanuel Vadot cspi: spi@83fc0000 { 522f126890aSEmmanuel Vadot #address-cells = <1>; 523f126890aSEmmanuel Vadot #size-cells = <0>; 524f126890aSEmmanuel Vadot compatible = "fsl,imx51-cspi", "fsl,imx35-cspi"; 525f126890aSEmmanuel Vadot reg = <0x83fc0000 0x4000>; 526f126890aSEmmanuel Vadot interrupts = <38>; 527f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_CSPI_IPG_GATE>, 528f126890aSEmmanuel Vadot <&clks IMX5_CLK_CSPI_IPG_GATE>; 529f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 530f126890aSEmmanuel Vadot status = "disabled"; 531f126890aSEmmanuel Vadot }; 532f126890aSEmmanuel Vadot 533f126890aSEmmanuel Vadot i2c2: i2c@83fc4000 { 534f126890aSEmmanuel Vadot #address-cells = <1>; 535f126890aSEmmanuel Vadot #size-cells = <0>; 536f126890aSEmmanuel Vadot compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; 537f126890aSEmmanuel Vadot reg = <0x83fc4000 0x4000>; 538f126890aSEmmanuel Vadot interrupts = <63>; 539f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_I2C2_GATE>; 540f126890aSEmmanuel Vadot status = "disabled"; 541f126890aSEmmanuel Vadot }; 542f126890aSEmmanuel Vadot 543f126890aSEmmanuel Vadot i2c1: i2c@83fc8000 { 544f126890aSEmmanuel Vadot #address-cells = <1>; 545f126890aSEmmanuel Vadot #size-cells = <0>; 546f126890aSEmmanuel Vadot compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; 547f126890aSEmmanuel Vadot reg = <0x83fc8000 0x4000>; 548f126890aSEmmanuel Vadot interrupts = <62>; 549f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_I2C1_GATE>; 550f126890aSEmmanuel Vadot status = "disabled"; 551f126890aSEmmanuel Vadot }; 552f126890aSEmmanuel Vadot 553f126890aSEmmanuel Vadot ssi1: ssi@83fcc000 { 554f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 555f126890aSEmmanuel Vadot compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 556f126890aSEmmanuel Vadot reg = <0x83fcc000 0x4000>; 557f126890aSEmmanuel Vadot interrupts = <29>; 558f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>, 559f126890aSEmmanuel Vadot <&clks IMX5_CLK_SSI1_ROOT_GATE>; 560f126890aSEmmanuel Vadot clock-names = "ipg", "baud"; 561f126890aSEmmanuel Vadot dmas = <&sdma 28 0 0>, 562f126890aSEmmanuel Vadot <&sdma 29 0 0>; 563f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 564f126890aSEmmanuel Vadot fsl,fifo-depth = <15>; 565f126890aSEmmanuel Vadot status = "disabled"; 566f126890aSEmmanuel Vadot }; 567f126890aSEmmanuel Vadot 568f126890aSEmmanuel Vadot audmux: audmux@83fd0000 { 569f126890aSEmmanuel Vadot compatible = "fsl,imx51-audmux", "fsl,imx31-audmux"; 570f126890aSEmmanuel Vadot reg = <0x83fd0000 0x4000>; 571f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_DUMMY>; 572f126890aSEmmanuel Vadot clock-names = "audmux"; 573f126890aSEmmanuel Vadot status = "disabled"; 574f126890aSEmmanuel Vadot }; 575f126890aSEmmanuel Vadot 576f126890aSEmmanuel Vadot m4if: m4if@83fd8000 { 577f126890aSEmmanuel Vadot compatible = "fsl,imx51-m4if"; 578f126890aSEmmanuel Vadot reg = <0x83fd8000 0x1000>; 579f126890aSEmmanuel Vadot }; 580f126890aSEmmanuel Vadot 581*01950c46SEmmanuel Vadot weim: memory-controller@83fda000 { 582f126890aSEmmanuel Vadot #address-cells = <2>; 583f126890aSEmmanuel Vadot #size-cells = <1>; 584f126890aSEmmanuel Vadot compatible = "fsl,imx51-weim"; 585f126890aSEmmanuel Vadot reg = <0x83fda000 0x1000>; 586f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_EMI_SLOW_GATE>; 587f126890aSEmmanuel Vadot ranges = < 588f126890aSEmmanuel Vadot 0 0 0xb0000000 0x08000000 589f126890aSEmmanuel Vadot 1 0 0xb8000000 0x08000000 590f126890aSEmmanuel Vadot 2 0 0xc0000000 0x08000000 591f126890aSEmmanuel Vadot 3 0 0xc8000000 0x04000000 592f126890aSEmmanuel Vadot 4 0 0xcc000000 0x02000000 593f126890aSEmmanuel Vadot 5 0 0xce000000 0x02000000 594f126890aSEmmanuel Vadot >; 595f126890aSEmmanuel Vadot status = "disabled"; 596f126890aSEmmanuel Vadot }; 597f126890aSEmmanuel Vadot 598f126890aSEmmanuel Vadot nfc: nand@83fdb000 { 599f126890aSEmmanuel Vadot #address-cells = <1>; 600f126890aSEmmanuel Vadot #size-cells = <1>; 601f126890aSEmmanuel Vadot compatible = "fsl,imx51-nand"; 602f126890aSEmmanuel Vadot reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>; 603f126890aSEmmanuel Vadot interrupts = <8>; 604f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_NFC_GATE>; 605f126890aSEmmanuel Vadot status = "disabled"; 606f126890aSEmmanuel Vadot }; 607f126890aSEmmanuel Vadot 608f126890aSEmmanuel Vadot pata: pata@83fe0000 { 609f126890aSEmmanuel Vadot compatible = "fsl,imx51-pata", "fsl,imx27-pata"; 610f126890aSEmmanuel Vadot reg = <0x83fe0000 0x4000>; 611f126890aSEmmanuel Vadot interrupts = <70>; 612f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_PATA_GATE>; 613f126890aSEmmanuel Vadot status = "disabled"; 614f126890aSEmmanuel Vadot }; 615f126890aSEmmanuel Vadot 616f126890aSEmmanuel Vadot ssi3: ssi@83fe8000 { 617f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 618f126890aSEmmanuel Vadot compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; 619f126890aSEmmanuel Vadot reg = <0x83fe8000 0x4000>; 620f126890aSEmmanuel Vadot interrupts = <96>; 621f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>, 622f126890aSEmmanuel Vadot <&clks IMX5_CLK_SSI3_ROOT_GATE>; 623f126890aSEmmanuel Vadot clock-names = "ipg", "baud"; 624f126890aSEmmanuel Vadot dmas = <&sdma 46 0 0>, 625f126890aSEmmanuel Vadot <&sdma 47 0 0>; 626f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 627f126890aSEmmanuel Vadot fsl,fifo-depth = <15>; 628f126890aSEmmanuel Vadot status = "disabled"; 629f126890aSEmmanuel Vadot }; 630f126890aSEmmanuel Vadot 631f126890aSEmmanuel Vadot fec: ethernet@83fec000 { 632f126890aSEmmanuel Vadot compatible = "fsl,imx51-fec", "fsl,imx27-fec"; 633f126890aSEmmanuel Vadot reg = <0x83fec000 0x4000>; 634f126890aSEmmanuel Vadot interrupts = <87>; 635f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_FEC_GATE>, 636f126890aSEmmanuel Vadot <&clks IMX5_CLK_FEC_GATE>, 637f126890aSEmmanuel Vadot <&clks IMX5_CLK_FEC_GATE>; 638f126890aSEmmanuel Vadot clock-names = "ipg", "ahb", "ptp"; 639f126890aSEmmanuel Vadot status = "disabled"; 640f126890aSEmmanuel Vadot }; 641f126890aSEmmanuel Vadot 642f126890aSEmmanuel Vadot vpu: vpu@83ff4000 { 643f126890aSEmmanuel Vadot compatible = "fsl,imx51-vpu", "cnm,codahx4"; 644f126890aSEmmanuel Vadot reg = <0x83ff4000 0x1000>; 645f126890aSEmmanuel Vadot interrupts = <9>; 646f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_VPU_REFERENCE_GATE>, 647f126890aSEmmanuel Vadot <&clks IMX5_CLK_VPU_GATE>; 648f126890aSEmmanuel Vadot clock-names = "per", "ahb"; 649f126890aSEmmanuel Vadot resets = <&src 1>; 650f126890aSEmmanuel Vadot iram = <&iram>; 651f126890aSEmmanuel Vadot }; 652f126890aSEmmanuel Vadot 653f126890aSEmmanuel Vadot sahara: crypto@83ff8000 { 65484943d6fSEmmanuel Vadot compatible = "fsl,imx53-sahara"; 655f126890aSEmmanuel Vadot reg = <0x83ff8000 0x4000>; 656f126890aSEmmanuel Vadot interrupts = <19 20>; 657f126890aSEmmanuel Vadot clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>, 658f126890aSEmmanuel Vadot <&clks IMX5_CLK_SAHARA_IPG_GATE>; 659f126890aSEmmanuel Vadot clock-names = "ipg", "ahb"; 660f126890aSEmmanuel Vadot }; 661f126890aSEmmanuel Vadot }; 662f126890aSEmmanuel Vadot }; 663f126890aSEmmanuel Vadot}; 664