1/*- 2 * Copyright (c) 2013-2014 Ruslan Bukin <br@bsdpad.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * $FreeBSD$ 27 */ 28 29/ { 30 compatible = "samsung,exynos5"; 31 #address-cells = <1>; 32 #size-cells = <1>; 33 interrupt-parent = <&GIC>; 34 35 aliases { 36 soc = &SOC; 37 serial0 = &serial0; 38 serial1 = &serial1; 39 serial2 = &serial2; 40 serial3 = &serial3; 41 clk0 = &clk0; 42 dp0 = &dp0; 43 fimd0 = &fimd0; 44 }; 45 46 SOC: Exynos5@0 { 47 #address-cells = <1>; 48 #size-cells = <1>; 49 compatible = "simple-bus"; 50 ranges; 51 bus-frequency = <0>; 52 53 pmu_system_controller: system-controller@10040000 { 54 reg = <0x10040000 0x5000>; 55 status = "disabled"; 56 }; 57 58 GIC: interrupt-controller@10481000 { 59 compatible = "arm,gic"; 60 reg = < 0x10481000 0x1000 >, /* Distributor Registers */ 61 < 0x10482000 0x2000 >; /* CPU Interface Registers */ 62 interrupt-controller; 63 #address-cells = <0>; 64 #interrupt-cells = <1>; 65 }; 66 67 combiner: interrupt-controller@10440000 { 68 compatible = "exynos,combiner"; 69 reg = <0x10440000 0x1000>; 70 interrupts = < 32 33 34 35 36 37 38 39 71 40 41 42 43 44 45 46 47 72 48 49 50 51 52 53 54 55 73 56 57 58 59 60 61 62 63 >; 74 interrupt-parent = <&GIC>; 75 }; 76 77 clk0: clk@10010000 { 78 compatible = "exynos,clk"; 79 reg = < 0x10020000 0x20000 >; 80 }; 81 82 mct { 83 compatible = "exynos,mct"; 84 reg = < 0x101C0000 0x1000 >; 85 clock-frequency = <24000000>; 86 }; 87 88 generic_timer { 89 compatible = "arm,armv7-timer"; 90 clock-frequency = <24000000>; 91 interrupts = < 29 30 27 26 >; 92 interrupt-parent = <&GIC>; 93 }; 94 95 pwm { 96 compatible = "samsung,s3c24x0-timer"; 97 reg = <0x12DD0000 0x1000>; 98 interrupts = < 71 >; 99 interrupt-parent = <&GIC>; 100 clock-frequency = <24000000>; 101 }; 102 103 pad0: pad@11400000 { 104 status = "disabled"; 105 }; 106 107 usbdrd_phy0: phy@12100000 { 108 compatible = "samsung,exynos5420-usbdrd-phy"; 109 status = "disabled"; 110 reg = <0x12100000 0x100>; 111 samsung,pmu-syscon = <&pmu_system_controller>; 112 }; 113 114 usbdrd_phy1: phy@12500000 { 115 compatible = "samsung,exynos5420-usbdrd-phy"; 116 status = "disabled"; 117 reg = <0x12500000 0x100>; 118 samsung,pmu-syscon = <&pmu_system_controller>; 119 }; 120 121 xhci@12000000 { 122 compatible = "samsung,exynos5250-dwusb3"; 123 status = "disabled"; 124 reg = <0x12000000 0x1000>, 125 <0x1200c100 0x1000>; 126 interrupts = < 104 >; 127 interrupt-parent = <&GIC>; 128 }; 129 130 xhci@12400000 { 131 compatible = "samsung,exynos5250-dwusb3"; 132 status = "disabled"; 133 reg = <0x12400000 0x1000>, 134 <0x1240c100 0x1000>; 135 interrupts = < 105 >; 136 interrupt-parent = <&GIC>; 137 }; 138 139 usb@12110000 { 140 compatible = "exynos,usb-ehci", "usb-ehci"; 141 status = "disabled"; 142 reg = <0x12110000 0x1000>, /* EHCI */ 143 <0x12130000 0x1000>, /* EHCI host ctrl */ 144 <0x10050230 0x10>; /* Sysreg */ 145 interrupts = < 103 >; 146 interrupt-parent = <&GIC>; 147 }; 148 149 usb@12120000 { 150 compatible = "exynos,usb-ohci", "usb-ohci"; 151 status = "disabled"; 152 reg = <0x12120000 0x10000>; 153 interrupts = < 103 >; 154 interrupt-parent = <&GIC>; 155 }; 156 157 sdhci@12200000 { 158 compatible = "sdhci_generic"; 159 status = "disabled"; 160 reg = <0x12200000 0x1000>; 161 interrupts = <107>; 162 interrupt-parent = <&GIC>; 163 max-frequency = <24000000>; /* TODO: verify freq */ 164 }; 165 166 sdhci@12210000 { 167 compatible = "sdhci_generic"; 168 status = "disabled"; 169 reg = <0x12210000 0x1000>; 170 interrupts = <108>; 171 interrupt-parent = <&GIC>; 172 max-frequency = <24000000>; 173 }; 174 175 sdhci@12220000 { 176 compatible = "sdhci_generic"; 177 status = "disabled"; 178 reg = <0x12220000 0x1000>; 179 interrupts = <109>; 180 interrupt-parent = <&GIC>; 181 max-frequency = <24000000>; 182 }; 183 184 sdhci@12230000 { 185 compatible = "sdhci_generic"; 186 status = "disabled"; 187 reg = <0x12230000 0x1000>; 188 interrupts = <110>; 189 interrupt-parent = <&GIC>; 190 max-frequency = <24000000>; 191 }; 192 193 serial0: serial@12C00000 { 194 compatible = "exynos"; 195 status = "disabled"; 196 reg = <0x12C00000 0x100>; 197 interrupts = < 83 >; 198 interrupt-parent = <&GIC>; 199 clock-frequency = < 100000000 >; 200 current-speed = <115200>; 201 }; 202 203 serial1: serial@12C10000 { 204 compatible = "exynos"; 205 status = "disabled"; 206 reg = <0x12C10000 0x100>; 207 interrupts = < 84 >; 208 interrupt-parent = <&GIC>; 209 clock-frequency = < 100000000 >; 210 current-speed = <115200>; 211 }; 212 213 serial2: serial@12C20000 { 214 compatible = "exynos"; 215 status = "disabled"; 216 reg = <0x12C20000 0x100>; 217 interrupts = < 85 >; 218 interrupt-parent = <&GIC>; 219 clock-frequency = < 100000000 >; 220 current-speed = <115200>; 221 }; 222 223 serial3: serial@12C30000 { 224 compatible = "exynos"; 225 status = "disabled"; 226 reg = <0x12C30000 0x100>; 227 interrupts = < 86 >; 228 interrupt-parent = <&GIC>; 229 clock-frequency = < 100000000 >; 230 current-speed = <115200>; 231 }; 232 233 spi0: spi@12d20000 { 234 compatible = "samsung,exynos5-spi"; 235 status = "disabled"; 236 reg = <0x12d20000 0x100>; 237 interrupts = < 100 >; 238 interrupt-parent = <&GIC>; 239 }; 240 241 spi1: spi@12d30000 { 242 compatible = "samsung,exynos5-spi"; 243 status = "disabled"; 244 reg = <0x12d30000 0x100>; 245 interrupts = < 101 >; 246 interrupt-parent = <&GIC>; 247 }; 248 249 spi2: spi@12d40000 { 250 compatible = "samsung,exynos5-spi"; 251 status = "disabled"; 252 reg = <0x12d40000 0x100>; 253 interrupts = < 102 >; 254 interrupt-parent = <&GIC>; 255 }; 256 257 i2c0: i2c@12C60000 { 258 compatible = "exynos,i2c"; 259 status = "disabled"; 260 reg = <0x12C60000 0x10000>; 261 interrupts = < 88 >; 262 interrupt-parent = <&GIC>; 263 }; 264 265 i2c1: i2c@12C70000 { 266 compatible = "exynos,i2c"; 267 status = "disabled"; 268 reg = <0x12C70000 0x10000>; 269 interrupts = < 89 >; 270 interrupt-parent = <&GIC>; 271 }; 272 273 i2c2: i2c@12C80000 { 274 compatible = "exynos,i2c"; 275 status = "disabled"; 276 reg = <0x12C80000 0x10000>; 277 interrupts = < 90 >; 278 interrupt-parent = <&GIC>; 279 }; 280 281 i2c3: i2c@12C90000 { 282 compatible = "exynos,i2c"; 283 status = "disabled"; 284 reg = <0x12C90000 0x10000>; 285 interrupts = < 91 >; 286 interrupt-parent = <&GIC>; 287 }; 288 289 i2c4: i2c@12CA0000 { 290 compatible = "exynos,i2c"; 291 status = "disabled"; 292 reg = <0x12CA0000 0x10000>; 293 interrupts = < 92 >; 294 interrupt-parent = <&GIC>; 295 }; 296 297 i2c5: i2c@12CB0000 { 298 compatible = "exynos,i2c"; 299 status = "disabled"; 300 reg = <0x12CB0000 0x10000>; 301 interrupts = < 93 >; 302 interrupt-parent = <&GIC>; 303 }; 304 305 i2c6: i2c@12CC0000 { 306 compatible = "exynos,i2c"; 307 status = "disabled"; 308 reg = <0x12CC0000 0x10000>; 309 interrupts = < 94 >; 310 interrupt-parent = <&GIC>; 311 }; 312 313 i2c7: i2c@12CD0000 { 314 compatible = "exynos,i2c"; 315 status = "disabled"; 316 reg = <0x12CD0000 0x10000>; 317 interrupts = < 95 >; 318 interrupt-parent = <&GIC>; 319 }; 320 321 fimd0: fimd@14400000 { 322 compatible = "exynos,fimd"; 323 status = "disabled"; 324 reg = < 0x14400000 0x10000 >, /* fimd */ 325 < 0x14420000 0x10000 >, /* disp */ 326 < 0x10050000 0x220 >; /* sysreg */ 327 interrupt-parent = <&GIC>; 328 }; 329 330 dp0: dp@145B0000 { 331 compatible = "exynos,dp"; 332 status = "disabled"; 333 reg = < 0x145B0000 0x10000 >; 334 interrupt-parent = <&GIC>; 335 }; 336 }; 337}; 338