.. | .. |
---|
1 | | -/* |
---|
2 | | - * Copyright (C) 2016 ARM Ltd. |
---|
3 | | - * based on the Allwinner H3 dtsi: |
---|
4 | | - * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> |
---|
5 | | - * |
---|
6 | | - * This file is dual-licensed: you can use it either under the terms |
---|
7 | | - * of the GPL or the X11 license, at your option. Note that this dual |
---|
8 | | - * licensing only applies to this file, and not this project as a |
---|
9 | | - * whole. |
---|
10 | | - * |
---|
11 | | - * a) This file is free software; you can redistribute it and/or |
---|
12 | | - * modify it under the terms of the GNU General Public License as |
---|
13 | | - * published by the Free Software Foundation; either version 2 of the |
---|
14 | | - * License, or (at your option) any later version. |
---|
15 | | - * |
---|
16 | | - * This file is distributed in the hope that it will be useful, |
---|
17 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
18 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
19 | | - * GNU General Public License for more details. |
---|
20 | | - * |
---|
21 | | - * Or, alternatively, |
---|
22 | | - * |
---|
23 | | - * b) Permission is hereby granted, free of charge, to any person |
---|
24 | | - * obtaining a copy of this software and associated documentation |
---|
25 | | - * files (the "Software"), to deal in the Software without |
---|
26 | | - * restriction, including without limitation the rights to use, |
---|
27 | | - * copy, modify, merge, publish, distribute, sublicense, and/or |
---|
28 | | - * sell copies of the Software, and to permit persons to whom the |
---|
29 | | - * Software is furnished to do so, subject to the following |
---|
30 | | - * conditions: |
---|
31 | | - * |
---|
32 | | - * The above copyright notice and this permission notice shall be |
---|
33 | | - * included in all copies or substantial portions of the Software. |
---|
34 | | - * |
---|
35 | | - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
---|
36 | | - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
---|
37 | | - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
---|
38 | | - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
---|
39 | | - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
---|
40 | | - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
---|
41 | | - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
---|
42 | | - * OTHER DEALINGS IN THE SOFTWARE. |
---|
43 | | - */ |
---|
| 1 | +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
---|
| 2 | +// Copyright (C) 2016 ARM Ltd. |
---|
| 3 | +// based on the Allwinner H3 dtsi: |
---|
| 4 | +// Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> |
---|
44 | 5 | |
---|
45 | 6 | #include <dt-bindings/clock/sun50i-a64-ccu.h> |
---|
46 | 7 | #include <dt-bindings/clock/sun8i-de2.h> |
---|
.. | .. |
---|
49 | 10 | #include <dt-bindings/reset/sun50i-a64-ccu.h> |
---|
50 | 11 | #include <dt-bindings/reset/sun8i-de2.h> |
---|
51 | 12 | #include <dt-bindings/reset/sun8i-r-ccu.h> |
---|
| 13 | +#include <dt-bindings/thermal/thermal.h> |
---|
52 | 14 | |
---|
53 | 15 | / { |
---|
54 | 16 | interrupt-parent = <&gic>; |
---|
.. | .. |
---|
84 | 46 | #size-cells = <0>; |
---|
85 | 47 | |
---|
86 | 48 | cpu0: cpu@0 { |
---|
87 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 49 | + compatible = "arm,cortex-a53"; |
---|
88 | 50 | device_type = "cpu"; |
---|
89 | 51 | reg = <0>; |
---|
90 | 52 | enable-method = "psci"; |
---|
| 53 | + next-level-cache = <&L2>; |
---|
| 54 | + clocks = <&ccu CLK_CPUX>; |
---|
| 55 | + clock-names = "cpu"; |
---|
| 56 | + #cooling-cells = <2>; |
---|
91 | 57 | }; |
---|
92 | 58 | |
---|
93 | 59 | cpu1: cpu@1 { |
---|
94 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 60 | + compatible = "arm,cortex-a53"; |
---|
95 | 61 | device_type = "cpu"; |
---|
96 | 62 | reg = <1>; |
---|
97 | 63 | enable-method = "psci"; |
---|
| 64 | + next-level-cache = <&L2>; |
---|
| 65 | + clocks = <&ccu CLK_CPUX>; |
---|
| 66 | + clock-names = "cpu"; |
---|
| 67 | + #cooling-cells = <2>; |
---|
98 | 68 | }; |
---|
99 | 69 | |
---|
100 | 70 | cpu2: cpu@2 { |
---|
101 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 71 | + compatible = "arm,cortex-a53"; |
---|
102 | 72 | device_type = "cpu"; |
---|
103 | 73 | reg = <2>; |
---|
104 | 74 | enable-method = "psci"; |
---|
| 75 | + next-level-cache = <&L2>; |
---|
| 76 | + clocks = <&ccu CLK_CPUX>; |
---|
| 77 | + clock-names = "cpu"; |
---|
| 78 | + #cooling-cells = <2>; |
---|
105 | 79 | }; |
---|
106 | 80 | |
---|
107 | 81 | cpu3: cpu@3 { |
---|
108 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 82 | + compatible = "arm,cortex-a53"; |
---|
109 | 83 | device_type = "cpu"; |
---|
110 | 84 | reg = <3>; |
---|
111 | 85 | enable-method = "psci"; |
---|
| 86 | + next-level-cache = <&L2>; |
---|
| 87 | + clocks = <&ccu CLK_CPUX>; |
---|
| 88 | + clock-names = "cpu"; |
---|
| 89 | + #cooling-cells = <2>; |
---|
112 | 90 | }; |
---|
| 91 | + |
---|
| 92 | + L2: l2-cache { |
---|
| 93 | + compatible = "cache"; |
---|
| 94 | + cache-level = <2>; |
---|
| 95 | + }; |
---|
| 96 | + }; |
---|
| 97 | + |
---|
| 98 | + de: display-engine { |
---|
| 99 | + compatible = "allwinner,sun50i-a64-display-engine"; |
---|
| 100 | + allwinner,pipelines = <&mixer0>, |
---|
| 101 | + <&mixer1>; |
---|
| 102 | + status = "disabled"; |
---|
113 | 103 | }; |
---|
114 | 104 | |
---|
115 | 105 | osc24M: osc24M_clk { |
---|
.. | .. |
---|
123 | 113 | #clock-cells = <0>; |
---|
124 | 114 | compatible = "fixed-clock"; |
---|
125 | 115 | clock-frequency = <32768>; |
---|
126 | | - clock-output-names = "osc32k"; |
---|
| 116 | + clock-output-names = "ext-osc32k"; |
---|
127 | 117 | }; |
---|
128 | 118 | |
---|
129 | | - iosc: internal-osc-clk { |
---|
130 | | - #clock-cells = <0>; |
---|
131 | | - compatible = "fixed-clock"; |
---|
132 | | - clock-frequency = <16000000>; |
---|
133 | | - clock-accuracy = <300000000>; |
---|
134 | | - clock-output-names = "iosc"; |
---|
| 119 | + pmu { |
---|
| 120 | + compatible = "arm,cortex-a53-pmu"; |
---|
| 121 | + interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 122 | + <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 123 | + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 124 | + <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 125 | + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; |
---|
135 | 126 | }; |
---|
136 | 127 | |
---|
137 | 128 | psci { |
---|
.. | .. |
---|
139 | 130 | method = "smc"; |
---|
140 | 131 | }; |
---|
141 | 132 | |
---|
142 | | - sound_spdif { |
---|
| 133 | + sound: sound { |
---|
143 | 134 | compatible = "simple-audio-card"; |
---|
144 | | - simple-audio-card,name = "On-board SPDIF"; |
---|
| 135 | + simple-audio-card,name = "sun50i-a64-audio"; |
---|
| 136 | + simple-audio-card,format = "i2s"; |
---|
| 137 | + simple-audio-card,frame-master = <&cpudai>; |
---|
| 138 | + simple-audio-card,bitclock-master = <&cpudai>; |
---|
| 139 | + simple-audio-card,mclk-fs = <128>; |
---|
| 140 | + simple-audio-card,aux-devs = <&codec_analog>; |
---|
| 141 | + simple-audio-card,routing = |
---|
| 142 | + "Left DAC", "DACL", |
---|
| 143 | + "Right DAC", "DACR", |
---|
| 144 | + "ADCL", "Left ADC", |
---|
| 145 | + "ADCR", "Right ADC"; |
---|
| 146 | + status = "disabled"; |
---|
145 | 147 | |
---|
146 | | - simple-audio-card,cpu { |
---|
147 | | - sound-dai = <&spdif>; |
---|
| 148 | + cpudai: simple-audio-card,cpu { |
---|
| 149 | + sound-dai = <&dai>; |
---|
148 | 150 | }; |
---|
149 | 151 | |
---|
150 | | - simple-audio-card,codec { |
---|
151 | | - sound-dai = <&spdif_out>; |
---|
| 152 | + link_codec: simple-audio-card,codec { |
---|
| 153 | + sound-dai = <&codec>; |
---|
152 | 154 | }; |
---|
153 | | - }; |
---|
154 | | - |
---|
155 | | - spdif_out: spdif-out { |
---|
156 | | - #sound-dai-cells = <0>; |
---|
157 | | - compatible = "linux,spdif-dit"; |
---|
158 | 155 | }; |
---|
159 | 156 | |
---|
160 | 157 | timer { |
---|
161 | 158 | compatible = "arm,armv8-timer"; |
---|
| 159 | + allwinner,erratum-unknown1; |
---|
| 160 | + arm,no-tick-in-suspend; |
---|
162 | 161 | interrupts = <GIC_PPI 13 |
---|
163 | 162 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
---|
164 | 163 | <GIC_PPI 14 |
---|
.. | .. |
---|
169 | 168 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
---|
170 | 169 | }; |
---|
171 | 170 | |
---|
| 171 | + thermal-zones { |
---|
| 172 | + cpu_thermal: cpu0-thermal { |
---|
| 173 | + /* milliseconds */ |
---|
| 174 | + polling-delay-passive = <0>; |
---|
| 175 | + polling-delay = <0>; |
---|
| 176 | + thermal-sensors = <&ths 0>; |
---|
| 177 | + |
---|
| 178 | + cooling-maps { |
---|
| 179 | + map0 { |
---|
| 180 | + trip = <&cpu_alert0>; |
---|
| 181 | + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
---|
| 182 | + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
---|
| 183 | + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
---|
| 184 | + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
---|
| 185 | + }; |
---|
| 186 | + map1 { |
---|
| 187 | + trip = <&cpu_alert1>; |
---|
| 188 | + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
---|
| 189 | + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
---|
| 190 | + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, |
---|
| 191 | + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
---|
| 192 | + }; |
---|
| 193 | + }; |
---|
| 194 | + |
---|
| 195 | + trips { |
---|
| 196 | + cpu_alert0: cpu_alert0 { |
---|
| 197 | + /* milliCelsius */ |
---|
| 198 | + temperature = <75000>; |
---|
| 199 | + hysteresis = <2000>; |
---|
| 200 | + type = "passive"; |
---|
| 201 | + }; |
---|
| 202 | + |
---|
| 203 | + cpu_alert1: cpu_alert1 { |
---|
| 204 | + /* milliCelsius */ |
---|
| 205 | + temperature = <90000>; |
---|
| 206 | + hysteresis = <2000>; |
---|
| 207 | + type = "hot"; |
---|
| 208 | + }; |
---|
| 209 | + |
---|
| 210 | + cpu_crit: cpu_crit { |
---|
| 211 | + /* milliCelsius */ |
---|
| 212 | + temperature = <110000>; |
---|
| 213 | + hysteresis = <2000>; |
---|
| 214 | + type = "critical"; |
---|
| 215 | + }; |
---|
| 216 | + }; |
---|
| 217 | + }; |
---|
| 218 | + |
---|
| 219 | + gpu0_thermal: gpu0-thermal { |
---|
| 220 | + /* milliseconds */ |
---|
| 221 | + polling-delay-passive = <0>; |
---|
| 222 | + polling-delay = <0>; |
---|
| 223 | + thermal-sensors = <&ths 1>; |
---|
| 224 | + }; |
---|
| 225 | + |
---|
| 226 | + gpu1_thermal: gpu1-thermal { |
---|
| 227 | + /* milliseconds */ |
---|
| 228 | + polling-delay-passive = <0>; |
---|
| 229 | + polling-delay = <0>; |
---|
| 230 | + thermal-sensors = <&ths 2>; |
---|
| 231 | + }; |
---|
| 232 | + }; |
---|
| 233 | + |
---|
172 | 234 | soc { |
---|
173 | 235 | compatible = "simple-bus"; |
---|
174 | 236 | #address-cells = <1>; |
---|
175 | 237 | #size-cells = <1>; |
---|
176 | 238 | ranges; |
---|
177 | 239 | |
---|
178 | | - de2@1000000 { |
---|
| 240 | + bus@1000000 { |
---|
179 | 241 | compatible = "allwinner,sun50i-a64-de2"; |
---|
180 | 242 | reg = <0x1000000 0x400000>; |
---|
181 | 243 | allwinner,sram = <&de2_sram 1>; |
---|
.. | .. |
---|
185 | 247 | |
---|
186 | 248 | display_clocks: clock@0 { |
---|
187 | 249 | compatible = "allwinner,sun50i-a64-de2-clk"; |
---|
188 | | - reg = <0x0 0x100000>; |
---|
189 | | - clocks = <&ccu CLK_DE>, |
---|
190 | | - <&ccu CLK_BUS_DE>; |
---|
191 | | - clock-names = "mod", |
---|
192 | | - "bus"; |
---|
| 250 | + reg = <0x0 0x10000>; |
---|
| 251 | + clocks = <&ccu CLK_BUS_DE>, |
---|
| 252 | + <&ccu CLK_DE>; |
---|
| 253 | + clock-names = "bus", |
---|
| 254 | + "mod"; |
---|
193 | 255 | resets = <&ccu RST_BUS_DE>; |
---|
194 | 256 | #clock-cells = <1>; |
---|
195 | 257 | #reset-cells = <1>; |
---|
| 258 | + }; |
---|
| 259 | + |
---|
| 260 | + rotate: rotate@20000 { |
---|
| 261 | + compatible = "allwinner,sun50i-a64-de2-rotate", |
---|
| 262 | + "allwinner,sun8i-a83t-de2-rotate"; |
---|
| 263 | + reg = <0x20000 0x10000>; |
---|
| 264 | + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 265 | + clocks = <&display_clocks CLK_BUS_ROT>, |
---|
| 266 | + <&display_clocks CLK_ROT>; |
---|
| 267 | + clock-names = "bus", |
---|
| 268 | + "mod"; |
---|
| 269 | + resets = <&display_clocks RST_ROT>; |
---|
| 270 | + }; |
---|
| 271 | + |
---|
| 272 | + mixer0: mixer@100000 { |
---|
| 273 | + compatible = "allwinner,sun50i-a64-de2-mixer-0"; |
---|
| 274 | + reg = <0x100000 0x100000>; |
---|
| 275 | + clocks = <&display_clocks CLK_BUS_MIXER0>, |
---|
| 276 | + <&display_clocks CLK_MIXER0>; |
---|
| 277 | + clock-names = "bus", |
---|
| 278 | + "mod"; |
---|
| 279 | + resets = <&display_clocks RST_MIXER0>; |
---|
| 280 | + |
---|
| 281 | + ports { |
---|
| 282 | + #address-cells = <1>; |
---|
| 283 | + #size-cells = <0>; |
---|
| 284 | + |
---|
| 285 | + mixer0_out: port@1 { |
---|
| 286 | + #address-cells = <1>; |
---|
| 287 | + #size-cells = <0>; |
---|
| 288 | + reg = <1>; |
---|
| 289 | + |
---|
| 290 | + mixer0_out_tcon0: endpoint@0 { |
---|
| 291 | + reg = <0>; |
---|
| 292 | + remote-endpoint = <&tcon0_in_mixer0>; |
---|
| 293 | + }; |
---|
| 294 | + |
---|
| 295 | + mixer0_out_tcon1: endpoint@1 { |
---|
| 296 | + reg = <1>; |
---|
| 297 | + remote-endpoint = <&tcon1_in_mixer0>; |
---|
| 298 | + }; |
---|
| 299 | + }; |
---|
| 300 | + }; |
---|
| 301 | + }; |
---|
| 302 | + |
---|
| 303 | + mixer1: mixer@200000 { |
---|
| 304 | + compatible = "allwinner,sun50i-a64-de2-mixer-1"; |
---|
| 305 | + reg = <0x200000 0x100000>; |
---|
| 306 | + clocks = <&display_clocks CLK_BUS_MIXER1>, |
---|
| 307 | + <&display_clocks CLK_MIXER1>; |
---|
| 308 | + clock-names = "bus", |
---|
| 309 | + "mod"; |
---|
| 310 | + resets = <&display_clocks RST_MIXER1>; |
---|
| 311 | + |
---|
| 312 | + ports { |
---|
| 313 | + #address-cells = <1>; |
---|
| 314 | + #size-cells = <0>; |
---|
| 315 | + |
---|
| 316 | + mixer1_out: port@1 { |
---|
| 317 | + #address-cells = <1>; |
---|
| 318 | + #size-cells = <0>; |
---|
| 319 | + reg = <1>; |
---|
| 320 | + |
---|
| 321 | + mixer1_out_tcon0: endpoint@0 { |
---|
| 322 | + reg = <0>; |
---|
| 323 | + remote-endpoint = <&tcon0_in_mixer1>; |
---|
| 324 | + }; |
---|
| 325 | + |
---|
| 326 | + mixer1_out_tcon1: endpoint@1 { |
---|
| 327 | + reg = <1>; |
---|
| 328 | + remote-endpoint = <&tcon1_in_mixer1>; |
---|
| 329 | + }; |
---|
| 330 | + }; |
---|
| 331 | + }; |
---|
196 | 332 | }; |
---|
197 | 333 | }; |
---|
198 | 334 | |
---|
.. | .. |
---|
215 | 351 | reg = <0x0000 0x28000>; |
---|
216 | 352 | }; |
---|
217 | 353 | }; |
---|
| 354 | + |
---|
| 355 | + sram_c1: sram@1d00000 { |
---|
| 356 | + compatible = "mmio-sram"; |
---|
| 357 | + reg = <0x01d00000 0x40000>; |
---|
| 358 | + #address-cells = <1>; |
---|
| 359 | + #size-cells = <1>; |
---|
| 360 | + ranges = <0 0x01d00000 0x40000>; |
---|
| 361 | + |
---|
| 362 | + ve_sram: sram-section@0 { |
---|
| 363 | + compatible = "allwinner,sun50i-a64-sram-c1", |
---|
| 364 | + "allwinner,sun4i-a10-sram-c1"; |
---|
| 365 | + reg = <0x000000 0x40000>; |
---|
| 366 | + }; |
---|
| 367 | + }; |
---|
218 | 368 | }; |
---|
219 | 369 | |
---|
220 | 370 | dma: dma-controller@1c02000 { |
---|
.. | .. |
---|
226 | 376 | dma-requests = <27>; |
---|
227 | 377 | resets = <&ccu RST_BUS_DMA>; |
---|
228 | 378 | #dma-cells = <1>; |
---|
| 379 | + }; |
---|
| 380 | + |
---|
| 381 | + tcon0: lcd-controller@1c0c000 { |
---|
| 382 | + compatible = "allwinner,sun50i-a64-tcon-lcd", |
---|
| 383 | + "allwinner,sun8i-a83t-tcon-lcd"; |
---|
| 384 | + reg = <0x01c0c000 0x1000>; |
---|
| 385 | + interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 386 | + clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>; |
---|
| 387 | + clock-names = "ahb", "tcon-ch0"; |
---|
| 388 | + clock-output-names = "tcon-pixel-clock"; |
---|
| 389 | + #clock-cells = <0>; |
---|
| 390 | + resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>; |
---|
| 391 | + reset-names = "lcd", "lvds"; |
---|
| 392 | + |
---|
| 393 | + ports { |
---|
| 394 | + #address-cells = <1>; |
---|
| 395 | + #size-cells = <0>; |
---|
| 396 | + |
---|
| 397 | + tcon0_in: port@0 { |
---|
| 398 | + #address-cells = <1>; |
---|
| 399 | + #size-cells = <0>; |
---|
| 400 | + reg = <0>; |
---|
| 401 | + |
---|
| 402 | + tcon0_in_mixer0: endpoint@0 { |
---|
| 403 | + reg = <0>; |
---|
| 404 | + remote-endpoint = <&mixer0_out_tcon0>; |
---|
| 405 | + }; |
---|
| 406 | + |
---|
| 407 | + tcon0_in_mixer1: endpoint@1 { |
---|
| 408 | + reg = <1>; |
---|
| 409 | + remote-endpoint = <&mixer1_out_tcon0>; |
---|
| 410 | + }; |
---|
| 411 | + }; |
---|
| 412 | + |
---|
| 413 | + tcon0_out: port@1 { |
---|
| 414 | + #address-cells = <1>; |
---|
| 415 | + #size-cells = <0>; |
---|
| 416 | + reg = <1>; |
---|
| 417 | + |
---|
| 418 | + tcon0_out_dsi: endpoint@1 { |
---|
| 419 | + reg = <1>; |
---|
| 420 | + remote-endpoint = <&dsi_in_tcon0>; |
---|
| 421 | + allwinner,tcon-channel = <1>; |
---|
| 422 | + }; |
---|
| 423 | + }; |
---|
| 424 | + }; |
---|
| 425 | + }; |
---|
| 426 | + |
---|
| 427 | + tcon1: lcd-controller@1c0d000 { |
---|
| 428 | + compatible = "allwinner,sun50i-a64-tcon-tv", |
---|
| 429 | + "allwinner,sun8i-a83t-tcon-tv"; |
---|
| 430 | + reg = <0x01c0d000 0x1000>; |
---|
| 431 | + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 432 | + clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>; |
---|
| 433 | + clock-names = "ahb", "tcon-ch1"; |
---|
| 434 | + resets = <&ccu RST_BUS_TCON1>; |
---|
| 435 | + reset-names = "lcd"; |
---|
| 436 | + |
---|
| 437 | + ports { |
---|
| 438 | + #address-cells = <1>; |
---|
| 439 | + #size-cells = <0>; |
---|
| 440 | + |
---|
| 441 | + tcon1_in: port@0 { |
---|
| 442 | + #address-cells = <1>; |
---|
| 443 | + #size-cells = <0>; |
---|
| 444 | + reg = <0>; |
---|
| 445 | + |
---|
| 446 | + tcon1_in_mixer0: endpoint@0 { |
---|
| 447 | + reg = <0>; |
---|
| 448 | + remote-endpoint = <&mixer0_out_tcon1>; |
---|
| 449 | + }; |
---|
| 450 | + |
---|
| 451 | + tcon1_in_mixer1: endpoint@1 { |
---|
| 452 | + reg = <1>; |
---|
| 453 | + remote-endpoint = <&mixer1_out_tcon1>; |
---|
| 454 | + }; |
---|
| 455 | + }; |
---|
| 456 | + |
---|
| 457 | + tcon1_out: port@1 { |
---|
| 458 | + #address-cells = <1>; |
---|
| 459 | + #size-cells = <0>; |
---|
| 460 | + reg = <1>; |
---|
| 461 | + |
---|
| 462 | + tcon1_out_hdmi: endpoint@1 { |
---|
| 463 | + reg = <1>; |
---|
| 464 | + remote-endpoint = <&hdmi_in_tcon1>; |
---|
| 465 | + }; |
---|
| 466 | + }; |
---|
| 467 | + }; |
---|
| 468 | + }; |
---|
| 469 | + |
---|
| 470 | + video-codec@1c0e000 { |
---|
| 471 | + compatible = "allwinner,sun50i-a64-video-engine"; |
---|
| 472 | + reg = <0x01c0e000 0x1000>; |
---|
| 473 | + clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, |
---|
| 474 | + <&ccu CLK_DRAM_VE>; |
---|
| 475 | + clock-names = "ahb", "mod", "ram"; |
---|
| 476 | + resets = <&ccu RST_BUS_VE>; |
---|
| 477 | + interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 478 | + allwinner,sram = <&ve_sram 1>; |
---|
229 | 479 | }; |
---|
230 | 480 | |
---|
231 | 481 | mmc0: mmc@1c0f000 { |
---|
.. | .. |
---|
270 | 520 | #size-cells = <0>; |
---|
271 | 521 | }; |
---|
272 | 522 | |
---|
| 523 | + sid: eeprom@1c14000 { |
---|
| 524 | + compatible = "allwinner,sun50i-a64-sid"; |
---|
| 525 | + reg = <0x1c14000 0x400>; |
---|
| 526 | + #address-cells = <1>; |
---|
| 527 | + #size-cells = <1>; |
---|
| 528 | + |
---|
| 529 | + ths_calibration: thermal-sensor-calibration@34 { |
---|
| 530 | + reg = <0x34 0x8>; |
---|
| 531 | + }; |
---|
| 532 | + }; |
---|
| 533 | + |
---|
| 534 | + crypto: crypto@1c15000 { |
---|
| 535 | + compatible = "allwinner,sun50i-a64-crypto"; |
---|
| 536 | + reg = <0x01c15000 0x1000>; |
---|
| 537 | + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 538 | + clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>; |
---|
| 539 | + clock-names = "bus", "mod"; |
---|
| 540 | + resets = <&ccu RST_BUS_CE>; |
---|
| 541 | + }; |
---|
| 542 | + |
---|
| 543 | + msgbox: mailbox@1c17000 { |
---|
| 544 | + compatible = "allwinner,sun50i-a64-msgbox", |
---|
| 545 | + "allwinner,sun6i-a31-msgbox"; |
---|
| 546 | + reg = <0x01c17000 0x1000>; |
---|
| 547 | + clocks = <&ccu CLK_BUS_MSGBOX>; |
---|
| 548 | + resets = <&ccu RST_BUS_MSGBOX>; |
---|
| 549 | + interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 550 | + #mbox-cells = <1>; |
---|
| 551 | + }; |
---|
| 552 | + |
---|
273 | 553 | usb_otg: usb@1c19000 { |
---|
274 | 554 | compatible = "allwinner,sun8i-a33-musb"; |
---|
275 | 555 | reg = <0x01c19000 0x0400>; |
---|
.. | .. |
---|
280 | 560 | phys = <&usbphy 0>; |
---|
281 | 561 | phy-names = "usb"; |
---|
282 | 562 | extcon = <&usbphy 0>; |
---|
| 563 | + dr_mode = "otg"; |
---|
283 | 564 | status = "disabled"; |
---|
284 | 565 | }; |
---|
285 | 566 | |
---|
.. | .. |
---|
358 | 639 | ccu: clock@1c20000 { |
---|
359 | 640 | compatible = "allwinner,sun50i-a64-ccu"; |
---|
360 | 641 | reg = <0x01c20000 0x400>; |
---|
361 | | - clocks = <&osc24M>, <&osc32k>; |
---|
| 642 | + clocks = <&osc24M>, <&rtc 0>; |
---|
362 | 643 | clock-names = "hosc", "losc"; |
---|
363 | 644 | #clock-cells = <1>; |
---|
364 | 645 | #reset-cells = <1>; |
---|
.. | .. |
---|
370 | 651 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |
---|
371 | 652 | <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, |
---|
372 | 653 | <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; |
---|
373 | | - clocks = <&ccu 58>, <&osc24M>, <&rtc 0>; |
---|
| 654 | + clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>; |
---|
374 | 655 | clock-names = "apb", "hosc", "losc"; |
---|
375 | 656 | gpio-controller; |
---|
376 | 657 | #gpio-cells = <3>; |
---|
377 | 658 | interrupt-controller; |
---|
378 | 659 | #interrupt-cells = <3>; |
---|
379 | 660 | |
---|
380 | | - i2c0_pins: i2c0_pins { |
---|
| 661 | + csi_pins: csi-pins { |
---|
| 662 | + pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", |
---|
| 663 | + "PE7", "PE8", "PE9", "PE10", "PE11"; |
---|
| 664 | + function = "csi"; |
---|
| 665 | + }; |
---|
| 666 | + |
---|
| 667 | + /omit-if-no-ref/ |
---|
| 668 | + csi_mclk_pin: csi-mclk-pin { |
---|
| 669 | + pins = "PE1"; |
---|
| 670 | + function = "csi"; |
---|
| 671 | + }; |
---|
| 672 | + |
---|
| 673 | + i2c0_pins: i2c0-pins { |
---|
381 | 674 | pins = "PH0", "PH1"; |
---|
382 | 675 | function = "i2c0"; |
---|
383 | 676 | }; |
---|
384 | 677 | |
---|
385 | | - i2c1_pins: i2c1_pins { |
---|
| 678 | + i2c1_pins: i2c1-pins { |
---|
386 | 679 | pins = "PH2", "PH3"; |
---|
387 | 680 | function = "i2c1"; |
---|
| 681 | + }; |
---|
| 682 | + |
---|
| 683 | + i2c2_pins: i2c2-pins { |
---|
| 684 | + pins = "PE14", "PE15"; |
---|
| 685 | + function = "i2c2"; |
---|
| 686 | + }; |
---|
| 687 | + |
---|
| 688 | + /omit-if-no-ref/ |
---|
| 689 | + lcd_rgb666_pins: lcd-rgb666-pins { |
---|
| 690 | + pins = "PD0", "PD1", "PD2", "PD3", "PD4", |
---|
| 691 | + "PD5", "PD6", "PD7", "PD8", "PD9", |
---|
| 692 | + "PD10", "PD11", "PD12", "PD13", |
---|
| 693 | + "PD14", "PD15", "PD16", "PD17", |
---|
| 694 | + "PD18", "PD19", "PD20", "PD21"; |
---|
| 695 | + function = "lcd0"; |
---|
388 | 696 | }; |
---|
389 | 697 | |
---|
390 | 698 | mmc0_pins: mmc0-pins { |
---|
.. | .. |
---|
404 | 712 | }; |
---|
405 | 713 | |
---|
406 | 714 | mmc2_pins: mmc2-pins { |
---|
407 | | - pins = "PC1", "PC5", "PC6", "PC8", "PC9", |
---|
| 715 | + pins = "PC5", "PC6", "PC8", "PC9", |
---|
408 | 716 | "PC10","PC11", "PC12", "PC13", |
---|
409 | 717 | "PC14", "PC15", "PC16"; |
---|
410 | 718 | function = "mmc2"; |
---|
.. | .. |
---|
412 | 720 | bias-pull-up; |
---|
413 | 721 | }; |
---|
414 | 722 | |
---|
415 | | - pwm_pin: pwm_pin { |
---|
| 723 | + mmc2_ds_pin: mmc2-ds-pin { |
---|
| 724 | + pins = "PC1"; |
---|
| 725 | + function = "mmc2"; |
---|
| 726 | + drive-strength = <30>; |
---|
| 727 | + bias-pull-up; |
---|
| 728 | + }; |
---|
| 729 | + |
---|
| 730 | + pwm_pin: pwm-pin { |
---|
416 | 731 | pins = "PD22"; |
---|
417 | 732 | function = "pwm"; |
---|
418 | 733 | }; |
---|
419 | 734 | |
---|
420 | | - rmii_pins: rmii_pins { |
---|
| 735 | + rmii_pins: rmii-pins { |
---|
421 | 736 | pins = "PD10", "PD11", "PD13", "PD14", "PD17", |
---|
422 | 737 | "PD18", "PD19", "PD20", "PD22", "PD23"; |
---|
423 | 738 | function = "emac"; |
---|
424 | 739 | drive-strength = <40>; |
---|
425 | 740 | }; |
---|
426 | 741 | |
---|
427 | | - rgmii_pins: rgmii_pins { |
---|
| 742 | + rgmii_pins: rgmii-pins { |
---|
428 | 743 | pins = "PD8", "PD9", "PD10", "PD11", "PD12", |
---|
429 | 744 | "PD13", "PD15", "PD16", "PD17", "PD18", |
---|
430 | 745 | "PD19", "PD20", "PD21", "PD22", "PD23"; |
---|
.. | .. |
---|
432 | 747 | drive-strength = <40>; |
---|
433 | 748 | }; |
---|
434 | 749 | |
---|
435 | | - spdif_tx_pin: spdif { |
---|
| 750 | + spdif_tx_pin: spdif-tx-pin { |
---|
436 | 751 | pins = "PH8"; |
---|
437 | 752 | function = "spdif"; |
---|
438 | 753 | }; |
---|
439 | 754 | |
---|
440 | | - spi0_pins: spi0 { |
---|
| 755 | + spi0_pins: spi0-pins { |
---|
441 | 756 | pins = "PC0", "PC1", "PC2", "PC3"; |
---|
442 | 757 | function = "spi0"; |
---|
443 | 758 | }; |
---|
444 | 759 | |
---|
445 | | - spi1_pins: spi1 { |
---|
| 760 | + spi1_pins: spi1-pins { |
---|
446 | 761 | pins = "PD0", "PD1", "PD2", "PD3"; |
---|
447 | 762 | function = "spi1"; |
---|
448 | 763 | }; |
---|
449 | 764 | |
---|
450 | | - uart0_pins_a: uart0 { |
---|
| 765 | + uart0_pb_pins: uart0-pb-pins { |
---|
451 | 766 | pins = "PB8", "PB9"; |
---|
452 | 767 | function = "uart0"; |
---|
453 | 768 | }; |
---|
454 | 769 | |
---|
455 | | - uart1_pins: uart1_pins { |
---|
| 770 | + uart1_pins: uart1-pins { |
---|
456 | 771 | pins = "PG6", "PG7"; |
---|
457 | 772 | function = "uart1"; |
---|
458 | 773 | }; |
---|
459 | 774 | |
---|
460 | | - uart1_rts_cts_pins: uart1_rts_cts_pins { |
---|
| 775 | + uart1_rts_cts_pins: uart1-rts-cts-pins { |
---|
461 | 776 | pins = "PG8", "PG9"; |
---|
462 | 777 | function = "uart1"; |
---|
463 | 778 | }; |
---|
.. | .. |
---|
499 | 814 | status = "disabled"; |
---|
500 | 815 | }; |
---|
501 | 816 | |
---|
| 817 | + lradc: lradc@1c21800 { |
---|
| 818 | + compatible = "allwinner,sun50i-a64-lradc", |
---|
| 819 | + "allwinner,sun8i-a83t-r-lradc"; |
---|
| 820 | + reg = <0x01c21800 0x400>; |
---|
| 821 | + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 822 | + status = "disabled"; |
---|
| 823 | + }; |
---|
| 824 | + |
---|
502 | 825 | i2s0: i2s@1c22000 { |
---|
503 | 826 | #sound-dai-cells = <0>; |
---|
504 | 827 | compatible = "allwinner,sun50i-a64-i2s", |
---|
.. | .. |
---|
525 | 848 | dma-names = "rx", "tx"; |
---|
526 | 849 | dmas = <&dma 4>, <&dma 4>; |
---|
527 | 850 | status = "disabled"; |
---|
| 851 | + }; |
---|
| 852 | + |
---|
| 853 | + dai: dai@1c22c00 { |
---|
| 854 | + #sound-dai-cells = <0>; |
---|
| 855 | + compatible = "allwinner,sun50i-a64-codec-i2s"; |
---|
| 856 | + reg = <0x01c22c00 0x200>; |
---|
| 857 | + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 858 | + clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; |
---|
| 859 | + clock-names = "apb", "mod"; |
---|
| 860 | + resets = <&ccu RST_BUS_CODEC>; |
---|
| 861 | + dmas = <&dma 15>, <&dma 15>; |
---|
| 862 | + dma-names = "rx", "tx"; |
---|
| 863 | + status = "disabled"; |
---|
| 864 | + }; |
---|
| 865 | + |
---|
| 866 | + codec: codec@1c22e00 { |
---|
| 867 | + #sound-dai-cells = <0>; |
---|
| 868 | + compatible = "allwinner,sun50i-a64-codec", |
---|
| 869 | + "allwinner,sun8i-a33-codec"; |
---|
| 870 | + reg = <0x01c22e00 0x600>; |
---|
| 871 | + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 872 | + clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; |
---|
| 873 | + clock-names = "bus", "mod"; |
---|
| 874 | + status = "disabled"; |
---|
| 875 | + }; |
---|
| 876 | + |
---|
| 877 | + ths: thermal-sensor@1c25000 { |
---|
| 878 | + compatible = "allwinner,sun50i-a64-ths"; |
---|
| 879 | + reg = <0x01c25000 0x100>; |
---|
| 880 | + clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; |
---|
| 881 | + clock-names = "bus", "mod"; |
---|
| 882 | + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 883 | + resets = <&ccu RST_BUS_THS>; |
---|
| 884 | + nvmem-cells = <&ths_calibration>; |
---|
| 885 | + nvmem-cell-names = "calibration"; |
---|
| 886 | + #thermal-sensor-cells = <1>; |
---|
528 | 887 | }; |
---|
529 | 888 | |
---|
530 | 889 | uart0: serial@1c28000 { |
---|
.. | .. |
---|
588 | 947 | interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; |
---|
589 | 948 | clocks = <&ccu CLK_BUS_I2C0>; |
---|
590 | 949 | resets = <&ccu RST_BUS_I2C0>; |
---|
| 950 | + pinctrl-names = "default"; |
---|
| 951 | + pinctrl-0 = <&i2c0_pins>; |
---|
591 | 952 | status = "disabled"; |
---|
592 | 953 | #address-cells = <1>; |
---|
593 | 954 | #size-cells = <0>; |
---|
.. | .. |
---|
599 | 960 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
---|
600 | 961 | clocks = <&ccu CLK_BUS_I2C1>; |
---|
601 | 962 | resets = <&ccu RST_BUS_I2C1>; |
---|
| 963 | + pinctrl-names = "default"; |
---|
| 964 | + pinctrl-0 = <&i2c1_pins>; |
---|
602 | 965 | status = "disabled"; |
---|
603 | 966 | #address-cells = <1>; |
---|
604 | 967 | #size-cells = <0>; |
---|
.. | .. |
---|
610 | 973 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; |
---|
611 | 974 | clocks = <&ccu CLK_BUS_I2C2>; |
---|
612 | 975 | resets = <&ccu RST_BUS_I2C2>; |
---|
| 976 | + pinctrl-names = "default"; |
---|
| 977 | + pinctrl-0 = <&i2c2_pins>; |
---|
613 | 978 | status = "disabled"; |
---|
614 | 979 | #address-cells = <1>; |
---|
615 | 980 | #size-cells = <0>; |
---|
616 | 981 | }; |
---|
617 | | - |
---|
618 | 982 | |
---|
619 | 983 | spi0: spi@1c68000 { |
---|
620 | 984 | compatible = "allwinner,sun8i-h3-spi"; |
---|
.. | .. |
---|
669 | 1033 | }; |
---|
670 | 1034 | }; |
---|
671 | 1035 | |
---|
| 1036 | + mali: gpu@1c40000 { |
---|
| 1037 | + compatible = "allwinner,sun50i-a64-mali", "arm,mali-400"; |
---|
| 1038 | + reg = <0x01c40000 0x10000>; |
---|
| 1039 | + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 1040 | + <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 1041 | + <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 1042 | + <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 1043 | + <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 1044 | + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 1045 | + <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1046 | + interrupt-names = "gp", |
---|
| 1047 | + "gpmmu", |
---|
| 1048 | + "pp0", |
---|
| 1049 | + "ppmmu0", |
---|
| 1050 | + "pp1", |
---|
| 1051 | + "ppmmu1", |
---|
| 1052 | + "pmu"; |
---|
| 1053 | + clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; |
---|
| 1054 | + clock-names = "bus", "core"; |
---|
| 1055 | + resets = <&ccu RST_BUS_GPU>; |
---|
| 1056 | + }; |
---|
| 1057 | + |
---|
672 | 1058 | gic: interrupt-controller@1c81000 { |
---|
673 | 1059 | compatible = "arm,gic-400"; |
---|
674 | 1060 | reg = <0x01c81000 0x1000>, |
---|
.. | .. |
---|
691 | 1077 | status = "disabled"; |
---|
692 | 1078 | }; |
---|
693 | 1079 | |
---|
| 1080 | + mbus: dram-controller@1c62000 { |
---|
| 1081 | + compatible = "allwinner,sun50i-a64-mbus"; |
---|
| 1082 | + reg = <0x01c62000 0x1000>; |
---|
| 1083 | + clocks = <&ccu 112>; |
---|
| 1084 | + #address-cells = <1>; |
---|
| 1085 | + #size-cells = <1>; |
---|
| 1086 | + dma-ranges = <0x00000000 0x40000000 0xc0000000>; |
---|
| 1087 | + #interconnect-cells = <1>; |
---|
| 1088 | + }; |
---|
| 1089 | + |
---|
| 1090 | + csi: csi@1cb0000 { |
---|
| 1091 | + compatible = "allwinner,sun50i-a64-csi"; |
---|
| 1092 | + reg = <0x01cb0000 0x1000>; |
---|
| 1093 | + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1094 | + clocks = <&ccu CLK_BUS_CSI>, |
---|
| 1095 | + <&ccu CLK_CSI_SCLK>, |
---|
| 1096 | + <&ccu CLK_DRAM_CSI>; |
---|
| 1097 | + clock-names = "bus", "mod", "ram"; |
---|
| 1098 | + resets = <&ccu RST_BUS_CSI>; |
---|
| 1099 | + pinctrl-names = "default"; |
---|
| 1100 | + pinctrl-0 = <&csi_pins>; |
---|
| 1101 | + status = "disabled"; |
---|
| 1102 | + }; |
---|
| 1103 | + |
---|
| 1104 | + dsi: dsi@1ca0000 { |
---|
| 1105 | + compatible = "allwinner,sun50i-a64-mipi-dsi"; |
---|
| 1106 | + reg = <0x01ca0000 0x1000>; |
---|
| 1107 | + interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1108 | + clocks = <&ccu CLK_BUS_MIPI_DSI>; |
---|
| 1109 | + resets = <&ccu RST_BUS_MIPI_DSI>; |
---|
| 1110 | + phys = <&dphy>; |
---|
| 1111 | + phy-names = "dphy"; |
---|
| 1112 | + status = "disabled"; |
---|
| 1113 | + #address-cells = <1>; |
---|
| 1114 | + #size-cells = <0>; |
---|
| 1115 | + |
---|
| 1116 | + port { |
---|
| 1117 | + dsi_in_tcon0: endpoint { |
---|
| 1118 | + remote-endpoint = <&tcon0_out_dsi>; |
---|
| 1119 | + }; |
---|
| 1120 | + }; |
---|
| 1121 | + }; |
---|
| 1122 | + |
---|
| 1123 | + dphy: d-phy@1ca1000 { |
---|
| 1124 | + compatible = "allwinner,sun50i-a64-mipi-dphy", |
---|
| 1125 | + "allwinner,sun6i-a31-mipi-dphy"; |
---|
| 1126 | + reg = <0x01ca1000 0x1000>; |
---|
| 1127 | + clocks = <&ccu CLK_BUS_MIPI_DSI>, |
---|
| 1128 | + <&ccu CLK_DSI_DPHY>; |
---|
| 1129 | + clock-names = "bus", "mod"; |
---|
| 1130 | + resets = <&ccu RST_BUS_MIPI_DSI>; |
---|
| 1131 | + status = "disabled"; |
---|
| 1132 | + #phy-cells = <0>; |
---|
| 1133 | + }; |
---|
| 1134 | + |
---|
| 1135 | + deinterlace: deinterlace@1e00000 { |
---|
| 1136 | + compatible = "allwinner,sun50i-a64-deinterlace", |
---|
| 1137 | + "allwinner,sun8i-h3-deinterlace"; |
---|
| 1138 | + reg = <0x01e00000 0x20000>; |
---|
| 1139 | + clocks = <&ccu CLK_BUS_DEINTERLACE>, |
---|
| 1140 | + <&ccu CLK_DEINTERLACE>, |
---|
| 1141 | + <&ccu CLK_DRAM_DEINTERLACE>; |
---|
| 1142 | + clock-names = "bus", "mod", "ram"; |
---|
| 1143 | + resets = <&ccu RST_BUS_DEINTERLACE>; |
---|
| 1144 | + interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1145 | + interconnects = <&mbus 9>; |
---|
| 1146 | + interconnect-names = "dma-mem"; |
---|
| 1147 | + }; |
---|
| 1148 | + |
---|
| 1149 | + hdmi: hdmi@1ee0000 { |
---|
| 1150 | + compatible = "allwinner,sun50i-a64-dw-hdmi", |
---|
| 1151 | + "allwinner,sun8i-a83t-dw-hdmi"; |
---|
| 1152 | + reg = <0x01ee0000 0x10000>; |
---|
| 1153 | + reg-io-width = <1>; |
---|
| 1154 | + interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1155 | + clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>, |
---|
| 1156 | + <&ccu CLK_HDMI>; |
---|
| 1157 | + clock-names = "iahb", "isfr", "tmds"; |
---|
| 1158 | + resets = <&ccu RST_BUS_HDMI1>; |
---|
| 1159 | + reset-names = "ctrl"; |
---|
| 1160 | + phys = <&hdmi_phy>; |
---|
| 1161 | + phy-names = "phy"; |
---|
| 1162 | + status = "disabled"; |
---|
| 1163 | + |
---|
| 1164 | + ports { |
---|
| 1165 | + #address-cells = <1>; |
---|
| 1166 | + #size-cells = <0>; |
---|
| 1167 | + |
---|
| 1168 | + hdmi_in: port@0 { |
---|
| 1169 | + reg = <0>; |
---|
| 1170 | + |
---|
| 1171 | + hdmi_in_tcon1: endpoint { |
---|
| 1172 | + remote-endpoint = <&tcon1_out_hdmi>; |
---|
| 1173 | + }; |
---|
| 1174 | + }; |
---|
| 1175 | + |
---|
| 1176 | + hdmi_out: port@1 { |
---|
| 1177 | + reg = <1>; |
---|
| 1178 | + }; |
---|
| 1179 | + }; |
---|
| 1180 | + }; |
---|
| 1181 | + |
---|
| 1182 | + hdmi_phy: hdmi-phy@1ef0000 { |
---|
| 1183 | + compatible = "allwinner,sun50i-a64-hdmi-phy"; |
---|
| 1184 | + reg = <0x01ef0000 0x10000>; |
---|
| 1185 | + clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>, |
---|
| 1186 | + <&ccu CLK_PLL_VIDEO0>; |
---|
| 1187 | + clock-names = "bus", "mod", "pll-0"; |
---|
| 1188 | + resets = <&ccu RST_BUS_HDMI0>; |
---|
| 1189 | + reset-names = "phy"; |
---|
| 1190 | + #phy-cells = <0>; |
---|
| 1191 | + }; |
---|
| 1192 | + |
---|
694 | 1193 | rtc: rtc@1f00000 { |
---|
695 | | - compatible = "allwinner,sun6i-a31-rtc"; |
---|
696 | | - reg = <0x01f00000 0x54>; |
---|
| 1194 | + compatible = "allwinner,sun50i-a64-rtc", |
---|
| 1195 | + "allwinner,sun8i-h3-rtc"; |
---|
| 1196 | + reg = <0x01f00000 0x400>; |
---|
697 | 1197 | interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, |
---|
698 | 1198 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; |
---|
699 | | - clock-output-names = "rtc-osc32k", "rtc-osc32k-out"; |
---|
| 1199 | + clock-output-names = "osc32k", "osc32k-out", "iosc"; |
---|
700 | 1200 | clocks = <&osc32k>; |
---|
701 | 1201 | #clock-cells = <1>; |
---|
702 | 1202 | }; |
---|
.. | .. |
---|
713 | 1213 | r_ccu: clock@1f01400 { |
---|
714 | 1214 | compatible = "allwinner,sun50i-a64-r-ccu"; |
---|
715 | 1215 | reg = <0x01f01400 0x100>; |
---|
716 | | - clocks = <&osc24M>, <&osc32k>, <&iosc>, |
---|
717 | | - <&ccu 11>; |
---|
| 1216 | + clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, |
---|
| 1217 | + <&ccu CLK_PLL_PERIPH0>; |
---|
718 | 1218 | clock-names = "hosc", "losc", "iosc", "pll-periph"; |
---|
719 | 1219 | #clock-cells = <1>; |
---|
720 | 1220 | #reset-cells = <1>; |
---|
| 1221 | + }; |
---|
| 1222 | + |
---|
| 1223 | + codec_analog: codec-analog@1f015c0 { |
---|
| 1224 | + compatible = "allwinner,sun50i-a64-codec-analog"; |
---|
| 1225 | + reg = <0x01f015c0 0x4>; |
---|
| 1226 | + status = "disabled"; |
---|
721 | 1227 | }; |
---|
722 | 1228 | |
---|
723 | 1229 | r_i2c: i2c@1f02400 { |
---|
.. | .. |
---|
730 | 1236 | status = "disabled"; |
---|
731 | 1237 | #address-cells = <1>; |
---|
732 | 1238 | #size-cells = <0>; |
---|
| 1239 | + }; |
---|
| 1240 | + |
---|
| 1241 | + r_ir: ir@1f02000 { |
---|
| 1242 | + compatible = "allwinner,sun50i-a64-ir", |
---|
| 1243 | + "allwinner,sun6i-a31-ir"; |
---|
| 1244 | + reg = <0x01f02000 0x400>; |
---|
| 1245 | + clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>; |
---|
| 1246 | + clock-names = "apb", "ir"; |
---|
| 1247 | + resets = <&r_ccu RST_APB0_IR>; |
---|
| 1248 | + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1249 | + pinctrl-names = "default"; |
---|
| 1250 | + pinctrl-0 = <&r_ir_rx_pin>; |
---|
| 1251 | + status = "disabled"; |
---|
733 | 1252 | }; |
---|
734 | 1253 | |
---|
735 | 1254 | r_pwm: pwm@1f03800 { |
---|
.. | .. |
---|
754 | 1273 | interrupt-controller; |
---|
755 | 1274 | #interrupt-cells = <3>; |
---|
756 | 1275 | |
---|
757 | | - r_i2c_pins_a: i2c-a { |
---|
| 1276 | + r_i2c_pl89_pins: r-i2c-pl89-pins { |
---|
758 | 1277 | pins = "PL8", "PL9"; |
---|
759 | 1278 | function = "s_i2c"; |
---|
760 | 1279 | }; |
---|
761 | 1280 | |
---|
762 | | - r_pwm_pin: pwm { |
---|
| 1281 | + r_ir_rx_pin: r-ir-rx-pin { |
---|
| 1282 | + pins = "PL11"; |
---|
| 1283 | + function = "s_cir_rx"; |
---|
| 1284 | + }; |
---|
| 1285 | + |
---|
| 1286 | + r_pwm_pin: r-pwm-pin { |
---|
763 | 1287 | pins = "PL10"; |
---|
764 | 1288 | function = "s_pwm"; |
---|
765 | 1289 | }; |
---|
766 | 1290 | |
---|
767 | | - r_rsb_pins: rsb { |
---|
| 1291 | + r_rsb_pins: r-rsb-pins { |
---|
768 | 1292 | pins = "PL0", "PL1"; |
---|
769 | 1293 | function = "s_rsb"; |
---|
770 | 1294 | }; |
---|
.. | .. |
---|
789 | 1313 | "allwinner,sun6i-a31-wdt"; |
---|
790 | 1314 | reg = <0x01c20ca0 0x20>; |
---|
791 | 1315 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 1316 | + clocks = <&osc24M>; |
---|
792 | 1317 | }; |
---|
793 | 1318 | }; |
---|
794 | 1319 | }; |
---|