1 1.1.1.4 jmcneill // SPDX-License-Identifier: GPL-2.0+ 2 1.1.1.4 jmcneill // 3 1.1.1.4 jmcneill // Copyright (C) 2014 Alexander Shiyan <shc_work (a] mail.ru> 4 1.1 jmcneill 5 1.1 jmcneill #include "imx1-pinfunc.h" 6 1.1 jmcneill 7 1.1 jmcneill #include <dt-bindings/clock/imx1-clock.h> 8 1.1 jmcneill #include <dt-bindings/gpio/gpio.h> 9 1.1 jmcneill #include <dt-bindings/interrupt-controller/irq.h> 10 1.1 jmcneill 11 1.1 jmcneill / { 12 1.1 jmcneill #address-cells = <1>; 13 1.1 jmcneill #size-cells = <1>; 14 1.1 jmcneill /* 15 1.1 jmcneill * The decompressor and also some bootloaders rely on a 16 1.1 jmcneill * pre-existing /chosen node to be available to insert the 17 1.1 jmcneill * command line and merge other ATAGS info. 18 1.1 jmcneill */ 19 1.1 jmcneill chosen {}; 20 1.1 jmcneill 21 1.1 jmcneill aliases { 22 1.1 jmcneill gpio0 = &gpio1; 23 1.1 jmcneill gpio1 = &gpio2; 24 1.1 jmcneill gpio2 = &gpio3; 25 1.1 jmcneill gpio3 = &gpio4; 26 1.1 jmcneill i2c0 = &i2c; 27 1.1 jmcneill serial0 = &uart1; 28 1.1 jmcneill serial1 = &uart2; 29 1.1 jmcneill serial2 = &uart3; 30 1.1 jmcneill spi0 = &cspi1; 31 1.1 jmcneill spi1 = &cspi2; 32 1.1 jmcneill }; 33 1.1 jmcneill 34 1.1.1.2 jmcneill aitc: aitc-interrupt-controller@223000 { 35 1.1 jmcneill compatible = "fsl,imx1-aitc", "fsl,avic"; 36 1.1 jmcneill interrupt-controller; 37 1.1 jmcneill #interrupt-cells = <1>; 38 1.1 jmcneill reg = <0x00223000 0x1000>; 39 1.1 jmcneill }; 40 1.1 jmcneill 41 1.1 jmcneill cpus { 42 1.1 jmcneill #size-cells = <0>; 43 1.1 jmcneill #address-cells = <1>; 44 1.1 jmcneill 45 1.1 jmcneill cpu@0 { 46 1.1 jmcneill device_type = "cpu"; 47 1.1 jmcneill reg = <0>; 48 1.1 jmcneill compatible = "arm,arm920t"; 49 1.1 jmcneill operating-points = <200000 1900000>; 50 1.1 jmcneill clock-latency = <62500>; 51 1.1 jmcneill clocks = <&clks IMX1_CLK_MCU>; 52 1.1 jmcneill voltage-tolerance = <5>; 53 1.1 jmcneill }; 54 1.1 jmcneill }; 55 1.1 jmcneill 56 1.1.1.4 jmcneill clocks { 57 1.1.1.4 jmcneill clk32 { 58 1.1.1.4 jmcneill compatible = "fsl,imx-clk32", "fixed-clock"; 59 1.1.1.4 jmcneill #clock-cells = <0>; 60 1.1.1.4 jmcneill clock-frequency = <32000>; 61 1.1.1.4 jmcneill }; 62 1.1.1.4 jmcneill }; 63 1.1.1.4 jmcneill 64 1.1 jmcneill soc { 65 1.1 jmcneill #address-cells = <1>; 66 1.1 jmcneill #size-cells = <1>; 67 1.1 jmcneill compatible = "simple-bus"; 68 1.1 jmcneill interrupt-parent = <&aitc>; 69 1.1 jmcneill ranges; 70 1.1 jmcneill 71 1.1.1.2 jmcneill aipi@200000 { 72 1.1 jmcneill compatible = "fsl,aipi-bus", "simple-bus"; 73 1.1 jmcneill #address-cells = <1>; 74 1.1 jmcneill #size-cells = <1>; 75 1.1 jmcneill reg = <0x00200000 0x10000>; 76 1.1 jmcneill ranges; 77 1.1 jmcneill 78 1.1.1.2 jmcneill gpt1: timer@202000 { 79 1.1 jmcneill compatible = "fsl,imx1-gpt"; 80 1.1 jmcneill reg = <0x00202000 0x1000>; 81 1.1 jmcneill interrupts = <59>; 82 1.1 jmcneill clocks = <&clks IMX1_CLK_HCLK>, 83 1.1 jmcneill <&clks IMX1_CLK_PER1>; 84 1.1 jmcneill clock-names = "ipg", "per"; 85 1.1 jmcneill }; 86 1.1 jmcneill 87 1.1.1.2 jmcneill gpt2: timer@203000 { 88 1.1 jmcneill compatible = "fsl,imx1-gpt"; 89 1.1 jmcneill reg = <0x00203000 0x1000>; 90 1.1 jmcneill interrupts = <58>; 91 1.1 jmcneill clocks = <&clks IMX1_CLK_HCLK>, 92 1.1 jmcneill <&clks IMX1_CLK_PER1>; 93 1.1 jmcneill clock-names = "ipg", "per"; 94 1.1 jmcneill }; 95 1.1 jmcneill 96 1.1.1.2 jmcneill fb: fb@205000 { 97 1.1 jmcneill compatible = "fsl,imx1-fb"; 98 1.1 jmcneill reg = <0x00205000 0x1000>; 99 1.1 jmcneill interrupts = <14>; 100 1.1 jmcneill clocks = <&clks IMX1_CLK_DUMMY>, 101 1.1 jmcneill <&clks IMX1_CLK_DUMMY>, 102 1.1 jmcneill <&clks IMX1_CLK_PER2>; 103 1.1 jmcneill clock-names = "ipg", "ahb", "per"; 104 1.1 jmcneill status = "disabled"; 105 1.1 jmcneill }; 106 1.1 jmcneill 107 1.1.1.2 jmcneill uart1: serial@206000 { 108 1.1 jmcneill compatible = "fsl,imx1-uart"; 109 1.1 jmcneill reg = <0x00206000 0x1000>; 110 1.1 jmcneill interrupts = <30 29 26>; 111 1.1 jmcneill clocks = <&clks IMX1_CLK_HCLK>, 112 1.1 jmcneill <&clks IMX1_CLK_PER1>; 113 1.1 jmcneill clock-names = "ipg", "per"; 114 1.1 jmcneill status = "disabled"; 115 1.1 jmcneill }; 116 1.1 jmcneill 117 1.1.1.2 jmcneill uart2: serial@207000 { 118 1.1 jmcneill compatible = "fsl,imx1-uart"; 119 1.1 jmcneill reg = <0x00207000 0x1000>; 120 1.1 jmcneill interrupts = <24 23 20>; 121 1.1 jmcneill clocks = <&clks IMX1_CLK_HCLK>, 122 1.1 jmcneill <&clks IMX1_CLK_PER1>; 123 1.1 jmcneill clock-names = "ipg", "per"; 124 1.1 jmcneill status = "disabled"; 125 1.1 jmcneill }; 126 1.1 jmcneill 127 1.1.1.2 jmcneill pwm: pwm@208000 { 128 1.1.1.7 jmcneill #pwm-cells = <3>; 129 1.1 jmcneill compatible = "fsl,imx1-pwm"; 130 1.1 jmcneill reg = <0x00208000 0x1000>; 131 1.1 jmcneill interrupts = <34>; 132 1.1 jmcneill clocks = <&clks IMX1_CLK_DUMMY>, 133 1.1 jmcneill <&clks IMX1_CLK_PER1>; 134 1.1 jmcneill clock-names = "ipg", "per"; 135 1.1 jmcneill }; 136 1.1 jmcneill 137 1.1.1.2 jmcneill dma: dma@209000 { 138 1.1 jmcneill compatible = "fsl,imx1-dma"; 139 1.1 jmcneill reg = <0x00209000 0x1000>; 140 1.1 jmcneill interrupts = <61 60>; 141 1.1 jmcneill clocks = <&clks IMX1_CLK_HCLK>, 142 1.1 jmcneill <&clks IMX1_CLK_DMA_GATE>; 143 1.1 jmcneill clock-names = "ipg", "ahb"; 144 1.1 jmcneill #dma-cells = <1>; 145 1.1 jmcneill }; 146 1.1 jmcneill 147 1.1.1.2 jmcneill uart3: serial@20a000 { 148 1.1 jmcneill compatible = "fsl,imx1-uart"; 149 1.1 jmcneill reg = <0x0020a000 0x1000>; 150 1.1 jmcneill interrupts = <54 4 1>; 151 1.1 jmcneill clocks = <&clks IMX1_CLK_UART3_GATE>, 152 1.1 jmcneill <&clks IMX1_CLK_PER1>; 153 1.1 jmcneill clock-names = "ipg", "per"; 154 1.1 jmcneill status = "disabled"; 155 1.1 jmcneill }; 156 1.1 jmcneill }; 157 1.1 jmcneill 158 1.1.1.2 jmcneill aipi@210000 { 159 1.1 jmcneill compatible = "fsl,aipi-bus", "simple-bus"; 160 1.1 jmcneill #address-cells = <1>; 161 1.1 jmcneill #size-cells = <1>; 162 1.1 jmcneill reg = <0x00210000 0x10000>; 163 1.1 jmcneill ranges; 164 1.1 jmcneill 165 1.1.1.5 jmcneill cspi1: spi@213000 { 166 1.1 jmcneill #address-cells = <1>; 167 1.1 jmcneill #size-cells = <0>; 168 1.1 jmcneill compatible = "fsl,imx1-cspi"; 169 1.1 jmcneill reg = <0x00213000 0x1000>; 170 1.1 jmcneill interrupts = <41>; 171 1.1 jmcneill clocks = <&clks IMX1_CLK_DUMMY>, 172 1.1 jmcneill <&clks IMX1_CLK_PER1>; 173 1.1 jmcneill clock-names = "ipg", "per"; 174 1.1 jmcneill status = "disabled"; 175 1.1 jmcneill }; 176 1.1 jmcneill 177 1.1.1.2 jmcneill i2c: i2c@217000 { 178 1.1 jmcneill #address-cells = <1>; 179 1.1 jmcneill #size-cells = <0>; 180 1.1 jmcneill compatible = "fsl,imx1-i2c"; 181 1.1 jmcneill reg = <0x00217000 0x1000>; 182 1.1 jmcneill interrupts = <39>; 183 1.1 jmcneill clocks = <&clks IMX1_CLK_HCLK>; 184 1.1 jmcneill status = "disabled"; 185 1.1 jmcneill }; 186 1.1 jmcneill 187 1.1.1.5 jmcneill cspi2: spi@219000 { 188 1.1 jmcneill #address-cells = <1>; 189 1.1 jmcneill #size-cells = <0>; 190 1.1 jmcneill compatible = "fsl,imx1-cspi"; 191 1.1 jmcneill reg = <0x00219000 0x1000>; 192 1.1 jmcneill interrupts = <40>; 193 1.1 jmcneill clocks = <&clks IMX1_CLK_DUMMY>, 194 1.1 jmcneill <&clks IMX1_CLK_PER1>; 195 1.1 jmcneill clock-names = "ipg", "per"; 196 1.1 jmcneill status = "disabled"; 197 1.1 jmcneill }; 198 1.1 jmcneill 199 1.1.1.2 jmcneill clks: ccm@21b000 { 200 1.1 jmcneill compatible = "fsl,imx1-ccm"; 201 1.1 jmcneill reg = <0x0021b000 0x1000>; 202 1.1 jmcneill #clock-cells = <1>; 203 1.1 jmcneill }; 204 1.1 jmcneill 205 1.1.1.2 jmcneill iomuxc: iomuxc@21c000 { 206 1.1 jmcneill compatible = "fsl,imx1-iomuxc"; 207 1.1 jmcneill reg = <0x0021c000 0x1000>; 208 1.1 jmcneill #address-cells = <1>; 209 1.1 jmcneill #size-cells = <1>; 210 1.1 jmcneill ranges; 211 1.1 jmcneill 212 1.1.1.2 jmcneill gpio1: gpio@21c000 { 213 1.1 jmcneill compatible = "fsl,imx1-gpio"; 214 1.1 jmcneill reg = <0x0021c000 0x100>; 215 1.1 jmcneill interrupts = <11>; 216 1.1 jmcneill gpio-controller; 217 1.1 jmcneill #gpio-cells = <2>; 218 1.1 jmcneill interrupt-controller; 219 1.1 jmcneill #interrupt-cells = <2>; 220 1.1 jmcneill }; 221 1.1 jmcneill 222 1.1.1.2 jmcneill gpio2: gpio@21c100 { 223 1.1 jmcneill compatible = "fsl,imx1-gpio"; 224 1.1 jmcneill reg = <0x0021c100 0x100>; 225 1.1 jmcneill interrupts = <12>; 226 1.1 jmcneill gpio-controller; 227 1.1 jmcneill #gpio-cells = <2>; 228 1.1 jmcneill interrupt-controller; 229 1.1 jmcneill #interrupt-cells = <2>; 230 1.1 jmcneill }; 231 1.1 jmcneill 232 1.1.1.2 jmcneill gpio3: gpio@21c200 { 233 1.1 jmcneill compatible = "fsl,imx1-gpio"; 234 1.1 jmcneill reg = <0x0021c200 0x100>; 235 1.1 jmcneill interrupts = <13>; 236 1.1 jmcneill gpio-controller; 237 1.1 jmcneill #gpio-cells = <2>; 238 1.1 jmcneill interrupt-controller; 239 1.1 jmcneill #interrupt-cells = <2>; 240 1.1 jmcneill }; 241 1.1 jmcneill 242 1.1.1.2 jmcneill gpio4: gpio@21c300 { 243 1.1 jmcneill compatible = "fsl,imx1-gpio"; 244 1.1 jmcneill reg = <0x0021c300 0x100>; 245 1.1 jmcneill interrupts = <62>; 246 1.1 jmcneill gpio-controller; 247 1.1 jmcneill #gpio-cells = <2>; 248 1.1 jmcneill interrupt-controller; 249 1.1 jmcneill #interrupt-cells = <2>; 250 1.1 jmcneill }; 251 1.1 jmcneill }; 252 1.1 jmcneill }; 253 1.1 jmcneill 254 1.1.1.2 jmcneill weim: weim@220000 { 255 1.1 jmcneill #address-cells = <2>; 256 1.1 jmcneill #size-cells = <1>; 257 1.1 jmcneill compatible = "fsl,imx1-weim"; 258 1.1 jmcneill reg = <0x00220000 0x1000>; 259 1.1 jmcneill clocks = <&clks IMX1_CLK_DUMMY>; 260 1.1 jmcneill ranges = < 261 1.1 jmcneill 0 0 0x10000000 0x02000000 262 1.1 jmcneill 1 0 0x12000000 0x01000000 263 1.1 jmcneill 2 0 0x13000000 0x01000000 264 1.1 jmcneill 3 0 0x14000000 0x01000000 265 1.1 jmcneill 4 0 0x15000000 0x01000000 266 1.1 jmcneill 5 0 0x16000000 0x01000000 267 1.1 jmcneill >; 268 1.1 jmcneill status = "disabled"; 269 1.1 jmcneill }; 270 1.1 jmcneill 271 1.1.1.2 jmcneill esram: esram@300000 { 272 1.1 jmcneill compatible = "mmio-sram"; 273 1.1 jmcneill reg = <0x00300000 0x20000>; 274 1.1 jmcneill }; 275 1.1 jmcneill }; 276 1.1 jmcneill }; 277