Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 1 | /* |
| 2 | * SAMSUNG EXYNOS5440 SoC device tree source |
| 3 | * |
| 4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. |
| 5 | * http://www.samsung.com |
| 6 | * |
| 7 | * This program is free software; you can redistribute it and/or modify |
| 8 | * it under the terms of the GNU General Public License version 2 as |
| 9 | * published by the Free Software Foundation. |
| 10 | */ |
| 11 | |
Padmavathi Venna | 3799279 | 2013-06-18 00:02:08 +0900 | [diff] [blame] | 12 | #include "skeleton.dtsi" |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 13 | |
| 14 | / { |
| 15 | compatible = "samsung,exynos5440"; |
| 16 | |
| 17 | interrupt-parent = <&gic>; |
| 18 | |
Girish K S | dabd3f9 | 2013-06-18 06:35:14 +0900 | [diff] [blame] | 19 | aliases { |
| 20 | spi0 = &spi_0; |
Amit Daniel Kachhap | 5c7311b | 2013-07-24 14:27:16 +0900 | [diff] [blame] | 21 | tmuctrl0 = &tmuctrl_0; |
| 22 | tmuctrl1 = &tmuctrl_1; |
| 23 | tmuctrl2 = &tmuctrl_2; |
Girish K S | dabd3f9 | 2013-06-18 06:35:14 +0900 | [diff] [blame] | 24 | }; |
| 25 | |
Lee Jones | 644a79a | 2013-08-06 03:05:02 +0900 | [diff] [blame] | 26 | clock: clock-controller@160000 { |
Thomas Abraham | d8bafc8 | 2013-03-09 17:11:33 +0900 | [diff] [blame] | 27 | compatible = "samsung,exynos5440-clock"; |
| 28 | reg = <0x160000 0x1000>; |
| 29 | #clock-cells = <1>; |
| 30 | }; |
| 31 | |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 32 | gic:interrupt-controller@2E0000 { |
| 33 | compatible = "arm,cortex-a15-gic"; |
| 34 | #interrupt-cells = <3>; |
| 35 | interrupt-controller; |
Giridhar Maruthy | 3279dd3 | 2013-04-04 15:25:00 +0900 | [diff] [blame] | 36 | reg = <0x2E1000 0x1000>, |
| 37 | <0x2E2000 0x1000>, |
| 38 | <0x2E4000 0x2000>, |
| 39 | <0x2E6000 0x2000>; |
| 40 | interrupts = <1 9 0xf04>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 41 | }; |
| 42 | |
| 43 | cpus { |
Kukjin Kim | f5108e1 | 2012-12-06 16:54:10 +0900 | [diff] [blame] | 44 | #address-cells = <1>; |
| 45 | #size-cells = <0>; |
| 46 | |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 47 | cpu@0 { |
Lorenzo Pieralisi | 88e4184 | 2013-04-18 18:32:40 +0100 | [diff] [blame] | 48 | device_type = "cpu"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 49 | compatible = "arm,cortex-a15"; |
Kukjin Kim | f5108e1 | 2012-12-06 16:54:10 +0900 | [diff] [blame] | 50 | reg = <0>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 51 | }; |
| 52 | cpu@1 { |
Lorenzo Pieralisi | 88e4184 | 2013-04-18 18:32:40 +0100 | [diff] [blame] | 53 | device_type = "cpu"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 54 | compatible = "arm,cortex-a15"; |
Kukjin Kim | f5108e1 | 2012-12-06 16:54:10 +0900 | [diff] [blame] | 55 | reg = <1>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 56 | }; |
| 57 | cpu@2 { |
Lorenzo Pieralisi | 88e4184 | 2013-04-18 18:32:40 +0100 | [diff] [blame] | 58 | device_type = "cpu"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 59 | compatible = "arm,cortex-a15"; |
Kukjin Kim | f5108e1 | 2012-12-06 16:54:10 +0900 | [diff] [blame] | 60 | reg = <2>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 61 | }; |
| 62 | cpu@3 { |
Lorenzo Pieralisi | 88e4184 | 2013-04-18 18:32:40 +0100 | [diff] [blame] | 63 | device_type = "cpu"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 64 | compatible = "arm,cortex-a15"; |
Kukjin Kim | f5108e1 | 2012-12-06 16:54:10 +0900 | [diff] [blame] | 65 | reg = <3>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 66 | }; |
| 67 | }; |
| 68 | |
Subash Patel | 4c46f51 | 2013-04-05 15:22:59 +0900 | [diff] [blame] | 69 | arm-pmu { |
| 70 | compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu"; |
| 71 | interrupts = <0 52 4>, |
| 72 | <0 53 4>, |
| 73 | <0 54 4>, |
| 74 | <0 55 4>; |
| 75 | }; |
| 76 | |
Kukjin Kim | f5108e1 | 2012-12-06 16:54:10 +0900 | [diff] [blame] | 77 | timer { |
| 78 | compatible = "arm,cortex-a15-timer", |
| 79 | "arm,armv7-timer"; |
| 80 | interrupts = <1 13 0xf08>, |
| 81 | <1 14 0xf08>, |
| 82 | <1 11 0xf08>, |
| 83 | <1 10 0xf08>; |
| 84 | clock-frequency = <50000000>; |
| 85 | }; |
| 86 | |
Amit Daniel Kachhap | 7f7b8ed | 2013-04-08 21:48:17 +0900 | [diff] [blame] | 87 | cpufreq@160000 { |
| 88 | compatible = "samsung,exynos5440-cpufreq"; |
| 89 | reg = <0x160000 0x1000>; |
| 90 | interrupts = <0 57 0>; |
| 91 | operating-points = < |
| 92 | /* KHz uV */ |
Amit Daniel Kachhap | afbbf92 | 2013-06-18 06:39:41 +0900 | [diff] [blame] | 93 | 1500000 1100000 |
| 94 | 1400000 1075000 |
| 95 | 1300000 1050000 |
Amit Daniel Kachhap | 7f7b8ed | 2013-04-08 21:48:17 +0900 | [diff] [blame] | 96 | 1200000 1025000 |
Amit Daniel Kachhap | afbbf92 | 2013-06-18 06:39:41 +0900 | [diff] [blame] | 97 | 1100000 1000000 |
Amit Daniel Kachhap | 7f7b8ed | 2013-04-08 21:48:17 +0900 | [diff] [blame] | 98 | 1000000 975000 |
Amit Daniel Kachhap | afbbf92 | 2013-06-18 06:39:41 +0900 | [diff] [blame] | 99 | 900000 950000 |
Amit Daniel Kachhap | 7f7b8ed | 2013-04-08 21:48:17 +0900 | [diff] [blame] | 100 | 800000 925000 |
| 101 | >; |
| 102 | }; |
| 103 | |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 104 | serial@B0000 { |
| 105 | compatible = "samsung,exynos4210-uart"; |
| 106 | reg = <0xB0000 0x1000>; |
| 107 | interrupts = <0 2 0>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 108 | clocks = <&clock 21>, <&clock 21>; |
| 109 | clock-names = "uart", "clk_uart_baud0"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 110 | }; |
| 111 | |
| 112 | serial@C0000 { |
| 113 | compatible = "samsung,exynos4210-uart"; |
| 114 | reg = <0xC0000 0x1000>; |
| 115 | interrupts = <0 3 0>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 116 | clocks = <&clock 21>, <&clock 21>; |
| 117 | clock-names = "uart", "clk_uart_baud0"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 118 | }; |
| 119 | |
Girish K S | dabd3f9 | 2013-06-18 06:35:14 +0900 | [diff] [blame] | 120 | spi_0: spi@D0000 { |
| 121 | compatible = "samsung,exynos5440-spi"; |
| 122 | reg = <0xD0000 0x100>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 123 | interrupts = <0 4 0>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 124 | #address-cells = <1>; |
| 125 | #size-cells = <0>; |
Girish K S | dabd3f9 | 2013-06-18 06:35:14 +0900 | [diff] [blame] | 126 | samsung,spi-src-clk = <0>; |
| 127 | num-cs = <1>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 128 | clocks = <&clock 21>, <&clock 16>; |
| 129 | clock-names = "spi", "spi_busclk0"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 130 | }; |
| 131 | |
Jingoo Han | b342e64 | 2013-06-21 16:26:14 +0900 | [diff] [blame] | 132 | pin_ctrl: pinctrl { |
Thomas Abraham | f692543 | 2012-12-27 13:25:02 -0800 | [diff] [blame] | 133 | compatible = "samsung,exynos5440-pinctrl"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 134 | reg = <0xE0000 0x1000>; |
Thomas Abraham | 71d87da | 2013-04-05 15:20:03 +0900 | [diff] [blame] | 135 | interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, |
| 136 | <0 41 0>, <0 42 0>, <0 43 0>, <0 44 0>; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 137 | interrupt-controller; |
| 138 | #interrupt-cells = <2>; |
Thomas Abraham | b1ce101 | 2012-10-24 17:18:52 +0900 | [diff] [blame] | 139 | #gpio-cells = <2>; |
| 140 | |
| 141 | fan: fan { |
| 142 | samsung,exynos5440-pin-function = <1>; |
| 143 | }; |
| 144 | |
| 145 | hdd_led0: hdd_led0 { |
| 146 | samsung,exynos5440-pin-function = <2>; |
| 147 | }; |
| 148 | |
| 149 | hdd_led1: hdd_led1 { |
| 150 | samsung,exynos5440-pin-function = <3>; |
| 151 | }; |
| 152 | |
| 153 | uart1: uart1 { |
| 154 | samsung,exynos5440-pin-function = <4>; |
| 155 | }; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 156 | }; |
| 157 | |
| 158 | i2c@F0000 { |
Giridhar Maruthy | 49498c5 | 2012-12-28 09:33:58 -0800 | [diff] [blame] | 159 | compatible = "samsung,exynos5440-i2c"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 160 | reg = <0xF0000 0x1000>; |
| 161 | interrupts = <0 5 0>; |
| 162 | #address-cells = <1>; |
| 163 | #size-cells = <0>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 164 | clocks = <&clock 21>; |
| 165 | clock-names = "i2c"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 166 | }; |
| 167 | |
| 168 | i2c@100000 { |
Giridhar Maruthy | 49498c5 | 2012-12-28 09:33:58 -0800 | [diff] [blame] | 169 | compatible = "samsung,exynos5440-i2c"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 170 | reg = <0x100000 0x1000>; |
| 171 | interrupts = <0 6 0>; |
| 172 | #address-cells = <1>; |
| 173 | #size-cells = <0>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 174 | clocks = <&clock 21>; |
| 175 | clock-names = "i2c"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 176 | }; |
| 177 | |
| 178 | watchdog { |
| 179 | compatible = "samsung,s3c2410-wdt"; |
| 180 | reg = <0x110000 0x1000>; |
| 181 | interrupts = <0 1 0>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 182 | clocks = <&clock 21>; |
| 183 | clock-names = "watchdog"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 184 | }; |
| 185 | |
Byungho An | c038c4d | 2013-04-05 15:22:58 +0900 | [diff] [blame] | 186 | gmac: ethernet@00230000 { |
| 187 | compatible = "snps,dwmac-3.70a"; |
| 188 | reg = <0x00230000 0x8000>; |
| 189 | interrupt-parent = <&gic>; |
| 190 | interrupts = <0 31 4>; |
| 191 | interrupt-names = "macirq"; |
| 192 | phy-mode = "sgmii"; |
Thomas Abraham | dce3b8e | 2013-04-08 21:47:02 +0900 | [diff] [blame] | 193 | clocks = <&clock 25>; |
Byungho An | c038c4d | 2013-04-05 15:22:58 +0900 | [diff] [blame] | 194 | clock-names = "stmmaceth"; |
| 195 | }; |
| 196 | |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 197 | amba { |
| 198 | #address-cells = <1>; |
| 199 | #size-cells = <1>; |
| 200 | compatible = "arm,amba-bus"; |
| 201 | interrupt-parent = <&gic>; |
| 202 | ranges; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 203 | }; |
| 204 | |
| 205 | rtc { |
| 206 | compatible = "samsung,s3c6410-rtc"; |
| 207 | reg = <0x130000 0x1000>; |
Giridhar Maruthy | e877a5a | 2012-12-27 18:02:58 -0800 | [diff] [blame] | 208 | interrupts = <0 17 0>, <0 16 0>; |
Thomas Abraham | 6a0338c | 2013-03-09 17:19:17 +0900 | [diff] [blame] | 209 | clocks = <&clock 21>; |
| 210 | clock-names = "rtc"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 211 | }; |
Girish K S | 1a12f52 | 2013-06-10 17:29:34 +0900 | [diff] [blame] | 212 | |
Amit Daniel Kachhap | 5c7311b | 2013-07-24 14:27:16 +0900 | [diff] [blame] | 213 | tmuctrl_0: tmuctrl@160118 { |
| 214 | compatible = "samsung,exynos5440-tmu"; |
| 215 | reg = <0x160118 0x230>, <0x160368 0x10>; |
| 216 | interrupts = <0 58 0>; |
| 217 | clocks = <&clock 21>; |
| 218 | clock-names = "tmu_apbif"; |
| 219 | }; |
| 220 | |
| 221 | tmuctrl_1: tmuctrl@16011C { |
| 222 | compatible = "samsung,exynos5440-tmu"; |
| 223 | reg = <0x16011C 0x230>, <0x160368 0x10>; |
| 224 | interrupts = <0 58 0>; |
| 225 | clocks = <&clock 21>; |
| 226 | clock-names = "tmu_apbif"; |
| 227 | }; |
| 228 | |
| 229 | tmuctrl_2: tmuctrl@160120 { |
| 230 | compatible = "samsung,exynos5440-tmu"; |
| 231 | reg = <0x160120 0x230>, <0x160368 0x10>; |
| 232 | interrupts = <0 58 0>; |
| 233 | clocks = <&clock 21>; |
| 234 | clock-names = "tmu_apbif"; |
| 235 | }; |
| 236 | |
Girish K S | 1a12f52 | 2013-06-10 17:29:34 +0900 | [diff] [blame] | 237 | sata@210000 { |
| 238 | compatible = "snps,exynos5440-ahci"; |
| 239 | reg = <0x210000 0x10000>; |
| 240 | interrupts = <0 30 0>; |
| 241 | clocks = <&clock 23>; |
| 242 | clock-names = "sata"; |
| 243 | }; |
| 244 | |
Thomas Abraham | a380890 | 2013-06-12 04:58:34 +0900 | [diff] [blame] | 245 | ohci@220000 { |
| 246 | compatible = "samsung,exynos5440-ohci"; |
| 247 | reg = <0x220000 0x1000>; |
| 248 | interrupts = <0 29 0>; |
| 249 | clocks = <&clock 24>; |
| 250 | clock-names = "usbhost"; |
| 251 | }; |
| 252 | |
| 253 | ehci@221000 { |
| 254 | compatible = "samsung,exynos5440-ehci"; |
| 255 | reg = <0x221000 0x1000>; |
| 256 | interrupts = <0 29 0>; |
| 257 | clocks = <&clock 24>; |
| 258 | clock-names = "usbhost"; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 259 | }; |
Jingoo Han | 406a932 | 2013-06-21 16:25:51 +0900 | [diff] [blame] | 260 | |
| 261 | pcie@290000 { |
| 262 | compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; |
| 263 | reg = <0x290000 0x1000 |
| 264 | 0x270000 0x1000 |
| 265 | 0x271000 0x40>; |
| 266 | interrupts = <0 20 0>, <0 21 0>, <0 22 0>; |
| 267 | clocks = <&clock 28>, <&clock 27>; |
| 268 | clock-names = "pcie", "pcie_bus"; |
| 269 | #address-cells = <3>; |
| 270 | #size-cells = <2>; |
| 271 | device_type = "pci"; |
| 272 | ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */ |
| 273 | 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */ |
| 274 | 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */ |
| 275 | #interrupt-cells = <1>; |
| 276 | interrupt-map-mask = <0 0 0 0>; |
| 277 | interrupt-map = <0x0 0 &gic 53>; |
Jingoo Han | 4b1ced8 | 2013-07-31 17:14:10 +0900 | [diff] [blame] | 278 | num-lanes = <4>; |
Jingoo Han | 406a932 | 2013-06-21 16:25:51 +0900 | [diff] [blame] | 279 | }; |
| 280 | |
| 281 | pcie@2a0000 { |
| 282 | compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; |
| 283 | reg = <0x2a0000 0x1000 |
| 284 | 0x272000 0x1000 |
| 285 | 0x271040 0x40>; |
| 286 | interrupts = <0 23 0>, <0 24 0>, <0 25 0>; |
| 287 | clocks = <&clock 29>, <&clock 27>; |
| 288 | clock-names = "pcie", "pcie_bus"; |
| 289 | #address-cells = <3>; |
| 290 | #size-cells = <2>; |
| 291 | device_type = "pci"; |
| 292 | ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */ |
| 293 | 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */ |
| 294 | 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */ |
| 295 | #interrupt-cells = <1>; |
| 296 | interrupt-map-mask = <0 0 0 0>; |
| 297 | interrupt-map = <0x0 0 &gic 56>; |
Jingoo Han | 4b1ced8 | 2013-07-31 17:14:10 +0900 | [diff] [blame] | 298 | num-lanes = <4>; |
Jingoo Han | 406a932 | 2013-06-21 16:25:51 +0900 | [diff] [blame] | 299 | }; |
Kukjin Kim | 1355bbc | 2012-10-24 13:41:15 +0900 | [diff] [blame] | 300 | }; |