blob: 9e6514fa6ccc8c78590d6419885a238c2b8a5ae4
1 | /* |
2 | * arch/arm/boot/dts/amlogic/mesong12b_a.dtsi |
3 | * |
4 | * Copyright (C) 2017 Amlogic, Inc. All rights reserved. |
5 | * |
6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation; either version 2 of the License, or |
9 | * (at your option) any later version. |
10 | * |
11 | * This program is distributed in the hope that it will be useful, but WITHOUT |
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
14 | * more details. |
15 | * |
16 | */ |
17 | |
18 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
19 | #include <dt-bindings/clock/amlogic,g12a-clkc.h> |
20 | #include <dt-bindings/clock/amlogic,g12a-audio-clk.h> |
21 | #include <dt-bindings/iio/adc/amlogic-saradc.h> |
22 | #include <dt-bindings/gpio/meson-g12a-gpio.h> |
23 | #include <dt-bindings/pwm/pwm.h> |
24 | #include <dt-bindings/pwm/meson.h> |
25 | #include <dt-bindings/gpio/gpio.h> |
26 | #include <dt-bindings/input/input.h> |
27 | #include <dt-bindings/input/meson_rc.h> |
28 | #include <dt-bindings/phy/phy-amlogic-pcie.h> |
29 | #include "mesong12a-bifrost.dtsi" |
30 | #include "g12b-sched-energy-a.dtsi" |
31 | |
32 | / { |
33 | cpus:cpus { |
34 | #address-cells = <1>; |
35 | #size-cells = <0>; |
36 | |
37 | cpu-map { |
38 | cluster0:cluster0 { |
39 | core0 { |
40 | cpu = <&CPU0>; |
41 | }; |
42 | core1 { |
43 | cpu = <&CPU1>; |
44 | }; |
45 | }; |
46 | cluster1:cluster1 { |
47 | core0 { |
48 | cpu = <&CPU2>; |
49 | }; |
50 | core1 { |
51 | cpu = <&CPU3>; |
52 | }; |
53 | core2 { |
54 | cpu = <&CPU4>; |
55 | }; |
56 | core3 { |
57 | cpu = <&CPU5>; |
58 | }; |
59 | }; |
60 | }; |
61 | |
62 | CPU0:cpu@0 { |
63 | device_type = "cpu"; |
64 | compatible = "arm,cortex-a53","arm,armv8"; |
65 | reg = <0x0>; |
66 | enable-method = "psci"; |
67 | //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
68 | sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>; |
69 | clocks = <&clkc CLKID_CPU_CLK>, |
70 | <&clkc CLKID_CPU_FCLK_P>, |
71 | <&clkc CLKID_SYS1_PLL>; |
72 | clock-names = "core_clk", |
73 | "low_freq_clk_parent", |
74 | "high_freq_clk_parent"; |
75 | operating-points-v2 = <&cpu_opp_table0>; |
76 | cpu-supply = <&vddcpu0>; |
77 | voltage-tolerance = <0>; |
78 | clock-latency = <50000>; |
79 | }; |
80 | |
81 | CPU1:cpu@1 { |
82 | device_type = "cpu"; |
83 | compatible = "arm,cortex-a53","arm,armv8"; |
84 | reg = <0x1>; |
85 | enable-method = "psci"; |
86 | sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>; |
87 | clocks = <&clkc CLKID_CPU_CLK>, |
88 | <&clkc CLKID_CPU_FCLK_P>, |
89 | <&clkc CLKID_SYS1_PLL>; |
90 | clock-names = "core_clk", |
91 | "low_freq_clk_parent", |
92 | "high_freq_clk_parent"; |
93 | operating-points-v2 = <&cpu_opp_table0>; |
94 | cpu-supply = <&vddcpu0>; |
95 | voltage-tolerance = <0>; |
96 | clock-latency = <50000>; |
97 | }; |
98 | |
99 | CPU2:cpu@100 { |
100 | device_type = "cpu"; |
101 | compatible = "arm,cortex-a73","arm,armv8"; |
102 | reg = <0x100>; |
103 | enable-method = "psci"; |
104 | //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
105 | sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; |
106 | clocks = <&clkc CLKID_CPUB_CLK>, |
107 | <&clkc CLKID_CPUB_FCLK_P>, |
108 | <&clkc CLKID_SYS_PLL>; |
109 | clock-names = "core_clk", |
110 | "low_freq_clk_parent", |
111 | "high_freq_clk_parent"; |
112 | operating-points-v2 = <&cpu_opp_table1>; |
113 | cpu-supply = <&vddcpu1>; |
114 | voltage-tolerance = <0>; |
115 | clock-latency = <50000>; |
116 | }; |
117 | |
118 | CPU3:cpu@101 { |
119 | device_type = "cpu"; |
120 | compatible = "arm,cortex-a73","arm,armv8"; |
121 | reg = <0x101>; |
122 | enable-method = "psci"; |
123 | //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
124 | sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; |
125 | clocks = <&clkc CLKID_CPUB_CLK>, |
126 | <&clkc CLKID_CPUB_FCLK_P>, |
127 | <&clkc CLKID_SYS_PLL>; |
128 | clock-names = "core_clk", |
129 | "low_freq_clk_parent", |
130 | "high_freq_clk_parent"; |
131 | operating-points-v2 = <&cpu_opp_table1>; |
132 | cpu-supply = <&vddcpu1>; |
133 | voltage-tolerance = <0>; |
134 | clock-latency = <50000>; |
135 | }; |
136 | |
137 | CPU4:cpu@102 { |
138 | device_type = "cpu"; |
139 | compatible = "arm,cortex-a73","arm,armv8"; |
140 | reg = <0x102>; |
141 | enable-method = "psci"; |
142 | //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
143 | sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; |
144 | clocks = <&clkc CLKID_CPUB_CLK>, |
145 | <&clkc CLKID_CPUB_FCLK_P>, |
146 | <&clkc CLKID_SYS_PLL>; |
147 | clock-names = "core_clk", |
148 | "low_freq_clk_parent", |
149 | "high_freq_clk_parent"; |
150 | operating-points-v2 = <&cpu_opp_table1>; |
151 | cpu-supply = <&vddcpu1>; |
152 | voltage-tolerance = <0>; |
153 | clock-latency = <50000>; |
154 | }; |
155 | |
156 | CPU5:cpu@103 { |
157 | device_type = "cpu"; |
158 | compatible = "arm,cortex-a73","arm,armv8"; |
159 | reg = <0x103>; |
160 | enable-method = "psci"; |
161 | //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; |
162 | sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; |
163 | clocks = <&clkc CLKID_CPUB_CLK>, |
164 | <&clkc CLKID_CPUB_FCLK_P>, |
165 | <&clkc CLKID_SYS_PLL>; |
166 | clock-names = "core_clk", |
167 | "low_freq_clk_parent", |
168 | "high_freq_clk_parent"; |
169 | operating-points-v2 = <&cpu_opp_table1>; |
170 | cpu-supply = <&vddcpu1>; |
171 | voltage-tolerance = <0>; |
172 | clock-latency = <50000>; |
173 | }; |
174 | |
175 | idle-states { |
176 | entry-method = "arm,psci"; |
177 | |
178 | CPU_SLEEP_0: cpu-sleep-0 { |
179 | compatible = "arm,idle-state"; |
180 | arm,psci-suspend-param = <0x0010000>; |
181 | local-timer-stop; |
182 | entry-latency-us = <8000>; |
183 | exit-latency-us = <8000>; |
184 | min-residency-us = <20000>; |
185 | }; |
186 | |
187 | CLUSTER_SLEEP_0: cluster-sleep-0 { |
188 | compatible = "arm,idle-state"; |
189 | arm,psci-suspend-param = <0x1010000>; |
190 | local-timer-stop; |
191 | entry-latency-us = <9000>; |
192 | exit-latency-us = <9000>; |
193 | min-residency-us = <25000>; |
194 | }; |
195 | }; |
196 | }; |
197 | |
198 | timer { |
199 | compatible = "arm,armv7-timer"; |
200 | interrupts = <GIC_PPI 13 0xff08>, |
201 | <GIC_PPI 14 0xff08>, |
202 | <GIC_PPI 11 0xff08>, |
203 | <GIC_PPI 10 0xff08>; |
204 | }; |
205 | |
206 | timer_bc { |
207 | compatible = "arm, meson-bc-timer"; |
208 | reg= <0xffd0f190 0x4 0xffd0f194 0x4>; |
209 | timer_name = "Meson TimerF"; |
210 | clockevent-rating=<300>; |
211 | clockevent-shift=<20>; |
212 | clockevent-features=<0x23>; |
213 | interrupts = <0 60 1>; |
214 | bit_enable=<16>; |
215 | bit_mode=<12>; |
216 | bit_resolution=<0>; |
217 | }; |
218 | |
219 | arm_pmu { |
220 | compatible = "arm,cortex-a15-pmu"; |
221 | clusterb-enabled; |
222 | interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, |
223 | <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; |
224 | reg = <0xff634680 0x4>, |
225 | <0xff6347c0 0x04>; |
226 | cpumasks = <0x3 0x3C>; |
227 | /* default 10ms */ |
228 | relax-timer-ns = <10000000>; |
229 | /* default 10000us */ |
230 | max-wait-cnt = <10000>; |
231 | }; |
232 | |
233 | gic: interrupt-controller@2c001000 { |
234 | compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; |
235 | #interrupt-cells = <3>; |
236 | #address-cells = <0>; |
237 | interrupt-controller; |
238 | reg = <0xffc01000 0x1000>, |
239 | <0xffc02000 0x0100>; |
240 | interrupts = <GIC_PPI 9 0xf04>; |
241 | }; |
242 | |
243 | psci { |
244 | compatible = "arm,psci-0.2"; |
245 | method = "smc"; |
246 | }; |
247 | |
248 | meson_suspend:pm { |
249 | compatible = "amlogic, pm"; |
250 | status = "okay"; |
251 | device_name = "aml_pm"; |
252 | reg = <0xff8000a8 0x4>, |
253 | <0xff80023c 0x4>; |
254 | }; |
255 | |
256 | secmon { |
257 | compatible = "amlogic, secmon"; |
258 | memory-region = <&secmon_reserved>; |
259 | in_base_func = <0x82000020>; |
260 | out_base_func = <0x82000021>; |
261 | reserve_mem_size = <0x00300000>; |
262 | clear_range = <0x05100000 0x200000>; |
263 | }; |
264 | |
265 | securitykey { |
266 | compatible = "aml, securitykey"; |
267 | storage_query = <0x82000060>; |
268 | storage_read = <0x82000061>; |
269 | storage_write = <0x82000062>; |
270 | storage_tell = <0x82000063>; |
271 | storage_verify = <0x82000064>; |
272 | storage_status = <0x82000065>; |
273 | storage_list = <0x82000067>; |
274 | storage_remove = <0x82000068>; |
275 | storage_in_func = <0x82000023>; |
276 | storage_out_func = <0x82000024>; |
277 | storage_block_func = <0x82000025>; |
278 | storage_size_func = <0x82000027>; |
279 | storage_set_enctype = <0x8200006A>; |
280 | storage_get_enctype = <0x8200006B>; |
281 | storage_version = <0x8200006C>; |
282 | }; |
283 | |
284 | mailbox: mhu@c883c400 { |
285 | compatible = "amlogic, meson_mhu"; |
286 | reg = <0xff63c400 0x4c>, /* MHU registers */ |
287 | <0xfffe7000 0x800>; /* Payload area */ |
288 | interrupts = <0 209 1>, /* low priority interrupt */ |
289 | <0 210 1>; /* high priority interrupt */ |
290 | #mbox-cells = <1>; |
291 | mbox-names = "cpu_to_scp_low", "cpu_to_scp_high"; |
292 | mboxes = <&mailbox 0 &mailbox 1>; |
293 | }; |
294 | |
295 | cpu_iomap { |
296 | compatible = "amlogic, iomap"; |
297 | #address-cells=<1>; |
298 | #size-cells=<1>; |
299 | ranges; |
300 | io_cbus_base { |
301 | reg = <0xffd00000 0x26000>; |
302 | }; |
303 | io_apb_base { |
304 | reg = <0xffe01000 0x7f000>; |
305 | }; |
306 | io_aobus_base { |
307 | reg = <0xff800000 0xb000>; |
308 | }; |
309 | io_vapb_base { |
310 | reg = <0xff900000 0x50000>; |
311 | }; |
312 | io_hiu_base { |
313 | reg = <0xff63c000 0x2000>; |
314 | }; |
315 | }; |
316 | |
317 | xtal: xtal-clk { |
318 | compatible = "fixed-clock"; |
319 | clock-frequency = <24000000>; |
320 | clock-output-names = "xtal"; |
321 | #clock-cells = <0>; |
322 | }; |
323 | |
324 | cpu_info { |
325 | compatible = "amlogic, cpuinfo"; |
326 | status = "okay"; |
327 | cpuinfo_cmd = <0x82000044>; |
328 | }; |
329 | |
330 | aml_reboot{ |
331 | compatible = "aml, reboot"; |
332 | sys_reset = <0x84000009>; |
333 | sys_poweroff = <0x84000008>; |
334 | }; |
335 | |
336 | vpu { |
337 | compatible = "amlogic, vpu-g12b"; |
338 | dev_name = "vpu"; |
339 | status = "okay"; |
340 | clocks = <&clkc CLKID_VAPB_MUX>, |
341 | <&clkc CLKID_VPU_INTR>, |
342 | <&clkc CLKID_VPU_P0_COMP>, |
343 | <&clkc CLKID_VPU_P1_COMP>, |
344 | <&clkc CLKID_VPU_MUX>; |
345 | clock-names = "vapb_clk", |
346 | "vpu_intr_gate", |
347 | "vpu_clk0", |
348 | "vpu_clk1", |
349 | "vpu_clk"; |
350 | clk_level = <7>; |
351 | /* 0: 100.0M 1: 166.7M 2: 200.0M 3: 250.0M */ |
352 | /* 4: 333.3M 5: 400.0M 6: 500.0M 7: 666.7M */ |
353 | }; |
354 | |
355 | ethmac: ethernet@ff3f0000 { |
356 | compatible = "amlogic, g12a-eth-dwmac","snps,dwmac"; |
357 | reg = <0xff3f0000 0x10000 |
358 | 0xff634540 0x8 |
359 | 0xff64c000 0xa0>; |
360 | reg-names = "eth_base", "eth_cfg", "eth_pll"; |
361 | interrupts = <0 8 1>; |
362 | interrupt-names = "macirq"; |
363 | status = "disabled"; |
364 | clocks = <&clkc CLKID_ETH_CORE>; |
365 | clock-names = "ethclk81"; |
366 | pll_val = <0x9c0040a 0x927e0000 0xac5f49e5>; |
367 | analog_val = <0x20200000 0x0000c000 0x00000023>; |
368 | }; |
369 | |
370 | pinctrl_aobus: pinctrl@ff800014{ |
371 | compatible = "amlogic,meson-g12a-aobus-pinctrl"; |
372 | #address-cells = <1>; |
373 | #size-cells = <1>; |
374 | ranges; |
375 | |
376 | gpio_ao: ao-bank@ff800014{ |
377 | reg = <0xff800014 0x8>, |
378 | <0xff800024 0x14>, |
379 | <0xff80001c 0x8>; |
380 | reg-names = "mux","gpio", "drive-strength"; |
381 | gpio-controller; |
382 | #gpio-cells = <2>; |
383 | }; |
384 | }; |
385 | |
386 | pinctrl_periphs: pinctrl@ff634480{ |
387 | compatible = "amlogic,meson-g12a-periphs-pinctrl"; |
388 | #address-cells = <1>; |
389 | #size-cells = <1>; |
390 | ranges; |
391 | |
392 | gpio: banks@ff6346c0{ |
393 | reg = <0xff6346c0 0x40>, |
394 | <0xff6344e8 0x18>, |
395 | <0xff634520 0x18>, |
396 | <0xff634440 0x4c>, |
397 | <0xff634740 0x1c>; |
398 | reg-names = "mux", |
399 | "pull", |
400 | "pull-enable", |
401 | "gpio", |
402 | "drive-strength"; |
403 | gpio-controller; |
404 | #gpio-cells = <2>; |
405 | }; |
406 | }; |
407 | |
408 | audio_data: audio_data { |
409 | compatible = "amlogic, audio_data"; |
410 | query_licence_cmd = <0x82000050>; |
411 | status = "disabled"; |
412 | }; |
413 | |
414 | dwc3: dwc3@ff500000 { |
415 | compatible = "synopsys, dwc3"; |
416 | status = "disabled"; |
417 | reg = <0xff500000 0x100000>; |
418 | interrupts = <0 30 4>; |
419 | usb-phy = <&usb2_phy_v2>, <&usb3_phy_v2>; |
420 | cpu-type = "gxl"; |
421 | clock-src = "usb3.0"; |
422 | clocks = <&clkc CLKID_USB_GENERAL>; |
423 | clock-names = "dwc_general"; |
424 | }; |
425 | |
426 | usb2_phy_v2: usb2phy@ffe09000 { |
427 | compatible = "amlogic, amlogic-new-usb2-v2"; |
428 | status = "disabled"; |
429 | reg = <0xffe09000 0x80 |
430 | 0xffd01008 0x100 |
431 | 0xff636000 0x2000 |
432 | 0xff63a000 0x2000>; |
433 | pll-setting-1 = <0x09400414>; |
434 | pll-setting-2 = <0x927E0000>; |
435 | pll-setting-3 = <0xac5f69e5>; |
436 | pll-setting-4 = <0xfe18>; |
437 | pll-setting-5 = <0x8000fff>; |
438 | pll-setting-6 = <0x78000>; |
439 | pll-setting-7 = <0xe0004>; |
440 | pll-setting-8 = <0xe000c>; |
441 | }; |
442 | |
443 | usb3_phy_v2: usb3phy@ffe09080 { |
444 | compatible = "amlogic, amlogic-new-usb3-v2"; |
445 | status = "disabled"; |
446 | reg = <0xffe09080 0x20>; |
447 | phy-reg = <0xff646000>; |
448 | phy-reg-size = <0x2000>; |
449 | usb2-phy-reg = <0xffe09000>; |
450 | usb2-phy-reg-size = <0x80>; |
451 | interrupts = <0 16 4>; |
452 | clocks = <&clkc CLKID_PCIE_PLL>; |
453 | clock-names = "pcie_refpll"; |
454 | }; |
455 | |
456 | dwc2_a: dwc2_a@ff400000 { |
457 | compatible = "amlogic, dwc2"; |
458 | status = "disabled"; |
459 | device_name = "dwc2_a"; |
460 | reg = <0xff400000 0x40000>; |
461 | interrupts = <0 31 4>; |
462 | pl-periph-id = <0>; /** lm name */ |
463 | clock-src = "usb0"; /** clock src */ |
464 | port-id = <0>; /** ref to mach/usb.h */ |
465 | port-type = <2>; /** 0: otg, 1: host, 2: slave */ |
466 | port-speed = <0>; /** 0: default, high, 1: full */ |
467 | port-config = <0>; /** 0: default */ |
468 | /*0:default,1:single,2:incr,3:incr4,4:incr8,5:incr16,6:disable*/ |
469 | port-dma = <0>; |
470 | port-id-mode = <0>; /** 0: hardware, 1: sw_host, 2: sw_slave*/ |
471 | usb-fifo = <728>; |
472 | cpu-type = "v2"; |
473 | phy-reg = <0xffe09000>; |
474 | phy-reg-size = <0xa0>; |
475 | /** phy-interface: 0x0: amlogic phy, 0x1: synopsys phy **/ |
476 | phy-interface = <0x0>; |
477 | clocks = <&clkc CLKID_USB_GENERAL |
478 | &clkc CLKID_USB1_TO_DDR>; |
479 | clock-names = "usb_general", |
480 | "usb1"; |
481 | }; |
482 | |
483 | wdt: watchdog@0xffd0f0d0 { |
484 | compatible = "amlogic, meson-wdt"; |
485 | status = "okay"; |
486 | default_timeout=<10>; |
487 | reset_watchdog_method=<1>; /* 0:sysfs,1:kernel */ |
488 | reset_watchdog_time=<2>; |
489 | shutdown_timeout=<10>; |
490 | firmware_timeout=<6>; |
491 | suspend_timeout=<6>; |
492 | reg = <0xffd0f0d0 0x10>; |
493 | clock-names = "xtal"; |
494 | clocks = <&xtal>; |
495 | }; |
496 | |
497 | jtag { |
498 | compatible = "amlogic, jtag"; |
499 | status = "okay"; |
500 | select = "disable"; /* disable/apao/apee */ |
501 | pinctrl-names="jtag_apao_pins", "jtag_apee_pins"; |
502 | pinctrl-0=<&jtag_apao_pins>; |
503 | pinctrl-1=<&jtag_apee_pins>; |
504 | }; |
505 | |
506 | saradc:saradc { |
507 | compatible = "amlogic,meson-g12a-saradc"; |
508 | status = "disabled"; |
509 | #io-channel-cells = <1>; |
510 | clocks = <&xtal>, <&clkc CLKID_SARADC_GATE>; |
511 | clock-names = "xtal", "saradc_clk"; |
512 | interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>; |
513 | reg = <0xff809000 0x48>; |
514 | }; |
515 | |
516 | p_tsensor: p_tsensor@ff634594 { |
517 | compatible = "amlogic, r1p1-tsensor"; |
518 | device_name = "meson-pthermal"; |
519 | status = "okay"; |
520 | reg = <0xff634800 0x50>, |
521 | <0xff800268 0x4>; |
522 | cal_type = <0x1>; |
523 | cal_a = <324>; |
524 | cal_b = <424>; |
525 | cal_c = <3159>; |
526 | cal_d = <9411>; |
527 | rtemp = <115000>; |
528 | interrupts = <0 35 0>; |
529 | clocks = <&clkc CLKID_TS_COMP>; /* CLKID_TS_COMP>;*/ |
530 | clock-names = "ts_comp"; |
531 | #thermal-sensor-cells = <1>; |
532 | }; |
533 | |
534 | d_tsensor: d_tsensor@ff800228 { |
535 | compatible = "amlogic, r1p1-tsensor"; |
536 | device_name = "meson-dthermal"; |
537 | status = "okay"; |
538 | reg = <0xff634c00 0x50>, |
539 | <0xff800230 0x4>; |
540 | cal_type = <0x1>; |
541 | cal_a = <324>; |
542 | cal_b = <424>; |
543 | cal_c = <3159>; |
544 | cal_d = <9411>; |
545 | rtemp = <115000>; |
546 | interrupts = <0 36 0>; |
547 | clocks = <&clkc CLKID_TS_COMP>; /* CLKID_TS_COMP>;*/ |
548 | clock-names = "ts_comp"; |
549 | #thermal-sensor-cells = <1>; |
550 | }; |
551 | |
552 | soc { |
553 | compatible = "simple-bus"; |
554 | #address-cells = <1>; |
555 | #size-cells = <1>; |
556 | ranges; |
557 | |
558 | cbus: cbus@ffd00000 { |
559 | compatible = "simple-bus"; |
560 | reg = <0xffd00000 0x26000>; |
561 | #address-cells = <1>; |
562 | #size-cells = <1>; |
563 | ranges = <0x0 0xffd00000 0x26000>; |
564 | |
565 | gpio_intc: interrupt-controller@f080 { |
566 | compatible = "amlogic,meson-gpio-intc", |
567 | "amlogic,meson-g12a-gpio-intc"; |
568 | reg = <0xf080 0x10>; |
569 | interrupt-controller; |
570 | #interrupt-cells = <2>; |
571 | amlogic,channel-interrupts = |
572 | <64 65 66 67 68 69 70 71>; |
573 | status = "okay"; |
574 | }; |
575 | |
576 | meson_clk_msr { |
577 | compatible = "amlogic, gxl_measure"; |
578 | reg = <0x18004 0x4 |
579 | 0x1800c 0x4>; |
580 | }; |
581 | |
582 | pwm_ab: pwm@1b000 { |
583 | compatible = "amlogic,g12b-ee-pwm"; |
584 | reg = <0x1b000 0x20>; |
585 | #pwm-cells = <3>; |
586 | clocks = <&xtal>, |
587 | <&xtal>, |
588 | <&xtal>, |
589 | <&xtal>; |
590 | clock-names = "clkin0", |
591 | "clkin1", |
592 | "clkin2", |
593 | "clkin3"; |
594 | /* default xtal 24m clkin0-clkin2 and |
595 | * clkin1-clkin3 should be set the same |
596 | */ |
597 | status = "disabled"; |
598 | }; |
599 | |
600 | pwm_cd: pwm@1a000 { |
601 | compatible = "amlogic,g12b-ee-pwm"; |
602 | reg = <0x1a000 0x20>; |
603 | #pwm-cells = <3>; |
604 | clocks = <&xtal>, |
605 | <&xtal>, |
606 | <&xtal>, |
607 | <&xtal>; |
608 | clock-names = "clkin0", |
609 | "clkin1", |
610 | "clkin2", |
611 | "clkin3"; |
612 | status = "disabled"; |
613 | }; |
614 | |
615 | pwm_ef: pwm@19000 { |
616 | compatible = "amlogic,g12b-ee-pwm"; |
617 | reg = <0x19000 0x20>; |
618 | #pwm-cells = <3>; |
619 | clocks = <&xtal>, |
620 | <&xtal>, |
621 | <&xtal>, |
622 | <&xtal>; |
623 | clock-names = "clkin0", |
624 | "clkin1", |
625 | "clkin2", |
626 | "clkin3"; |
627 | status = "disabled"; |
628 | }; |
629 | |
630 | i2c0: i2c@1f000 { |
631 | compatible = "amlogic,meson-g12b-i2c"; |
632 | status = "disabled"; |
633 | reg = <0x1f000 0x20>; |
634 | interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>, |
635 | <GIC_SPI 91 IRQ_TYPE_EDGE_RISING>; |
636 | #address-cells = <1>; |
637 | #size-cells = <0>; |
638 | clocks = <&clkc CLKID_I2C>; |
639 | clock-names = "clk_i2c"; |
640 | }; |
641 | |
642 | i2c1: i2c@1e000 { |
643 | compatible = "amlogic,meson-g12b-i2c"; |
644 | status = "disabled"; |
645 | reg = <0x1e000 0x20>; |
646 | interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>, |
647 | <GIC_SPI 92 IRQ_TYPE_EDGE_RISING>; |
648 | #address-cells = <1>; |
649 | #size-cells = <0>; |
650 | clocks = <&clkc CLKID_I2C>; |
651 | clock-names = "clk_i2c"; |
652 | }; |
653 | |
654 | i2c2: i2c@1d000 { |
655 | compatible = "amlogic,meson-g12b-i2c"; |
656 | status = "disabled"; |
657 | reg = <0x1d000 0x20>; |
658 | interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>, |
659 | <GIC_SPI 94 IRQ_TYPE_EDGE_RISING>; |
660 | #address-cells = <1>; |
661 | #size-cells = <0>; |
662 | clocks = <&clkc CLKID_I2C>; |
663 | clock-names = "clk_i2c"; |
664 | }; |
665 | |
666 | i2c3: i2c@1c000 { |
667 | compatible = "amlogic,meson-g12b-i2c"; |
668 | status = "disabled"; |
669 | reg = <0x1c000 0x20>; |
670 | interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>, |
671 | <GIC_SPI 95 IRQ_TYPE_EDGE_RISING>; |
672 | #address-cells = <1>; |
673 | #size-cells = <0>; |
674 | clocks = <&clkc CLKID_I2C>; |
675 | clock-names = "clk_i2c"; |
676 | }; |
677 | |
678 | spicc0: spi@13000 { |
679 | compatible = "amlogic,meson-g12b-spicc", |
680 | "amlogic,meson-g12a-spicc"; |
681 | reg = <0x13000 0x44>; |
682 | interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; |
683 | clocks = <&clkc CLKID_SPICC0>, |
684 | <&clkc CLKID_SPICC0_COMP>; |
685 | clock-names = "core", "comp"; |
686 | #address-cells = <1>; |
687 | #size-cells = <0>; |
688 | status = "disabled"; |
689 | }; |
690 | |
691 | spicc1: spi@15000 { |
692 | compatible = "amlogic,meson-g12b-spicc", |
693 | "amlogic,meson-g12a-spicc"; |
694 | reg = <0x15000 0x44>; |
695 | interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; |
696 | clocks = <&clkc CLKID_SPICC1>, |
697 | <&clkc CLKID_SPICC1_COMP>; |
698 | clock-names = "core", "comp"; |
699 | #address-cells = <1>; |
700 | #size-cells = <0>; |
701 | status = "disabled"; |
702 | }; |
703 | }; /* end of cbus */ |
704 | |
705 | aobus: aobus@ff800000 { |
706 | compatible = "simple-bus"; |
707 | reg = <0xff800000 0xb000>; |
708 | #address-cells = <1>; |
709 | #size-cells = <1>; |
710 | ranges = <0x0 0xff800000 0xb000>; |
711 | |
712 | cpu_version { |
713 | reg=<0x220 0x4>; |
714 | }; |
715 | |
716 | aoclkc: clock-controller@0 { |
717 | compatible = "amlogic,g12b-aoclkc"; |
718 | #clock-cells = <1>; |
719 | reg = <0x0 0x320>; |
720 | }; |
721 | |
722 | pwm_AO_ab: pwm@7000 { |
723 | compatible = "amlogic,g12b-ao-pwm"; |
724 | reg = <0x7000 0x20>; |
725 | #pwm-cells = <3>; |
726 | clocks = <&xtal>, |
727 | <&xtal>, |
728 | <&xtal>, |
729 | <&xtal>; |
730 | clock-names = "clkin0", |
731 | "clkin1", |
732 | "clkin2", |
733 | "clkin3"; |
734 | status = "disabled"; |
735 | }; |
736 | |
737 | pwm_AO_cd: pwm@2000 { |
738 | compatible = "amlogic,g12b-ao-pwm"; |
739 | reg = <0x2000 0x20>; |
740 | #pwm-cells = <3>; |
741 | clocks = <&xtal>, |
742 | <&xtal>, |
743 | <&xtal>, |
744 | <&xtal>; |
745 | clock-names = "clkin0", |
746 | "clkin1", |
747 | "clkin2", |
748 | "clkin3"; |
749 | status = "disabled"; |
750 | }; |
751 | |
752 | i2c_AO: i2c@5000 { |
753 | compatible = "amlogic,meson-g12b-i2c"; |
754 | status = "disabled"; |
755 | reg = <0x05000 0x20>; |
756 | interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>, |
757 | <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>; |
758 | #address-cells = <1>; |
759 | #size-cells = <0>; |
760 | clocks = <&clkc CLKID_I2C>; |
761 | clock-names = "clk_i2c"; |
762 | }; |
763 | |
764 | i2c_AO_slave:i2c_slave@6000 { |
765 | compatible = "amlogic, meson-i2c-slave"; |
766 | status = "disabled"; |
767 | reg = <0x6000 0x20>; |
768 | interrupts = <0 194 1>; |
769 | pinctrl-names="default"; |
770 | pinctrl-0=<&ao_i2c_slave_pins>; |
771 | }; |
772 | |
773 | uart_AO: serial@3000 { |
774 | compatible = "amlogic, meson-uart"; |
775 | reg = <0x3000 0x18>; |
776 | interrupts = <0 193 1>; |
777 | status = "okay"; |
778 | clocks = <&xtal>; |
779 | clock-names = "clk_uart"; |
780 | xtal_tick_en = <2>; |
781 | fifosize = < 64 >; |
782 | pinctrl-names = "default"; |
783 | /*pinctrl-0 = <&ao_uart_pins>;*/ |
784 | support-sysrq = <0>; /* 0 not support*/ |
785 | }; |
786 | |
787 | uart_AO_B: serial@4000 { |
788 | compatible = "amlogic, meson-uart"; |
789 | reg = <0x4000 0x18>; |
790 | interrupts = <0 197 1>; |
791 | status = "disabled"; |
792 | clocks = <&xtal>; |
793 | clock-names = "clk_uart"; |
794 | fifosize = < 64 >; |
795 | pinctrl-names = "default"; |
796 | pinctrl-0 = <&ao_b_uart_pins>; |
797 | }; |
798 | };/* end of aobus */ |
799 | |
800 | periphs: periphs@ff634400 { |
801 | compatible = "simple-bus"; |
802 | reg = <0xff634400 0x400>; |
803 | #address-cells = <1>; |
804 | #size-cells = <1>; |
805 | ranges = <0x0 0xff634400 0x400>; |
806 | |
807 | };/* end of periphs */ |
808 | |
809 | hiubus: hiubus@ff63c000 { |
810 | compatible = "simple-bus"; |
811 | reg = <0xff63c000 0x2000>; |
812 | #address-cells = <1>; |
813 | #size-cells = <1>; |
814 | ranges = <0x0 0xff63c000 0x2000>; |
815 | |
816 | clkc: clock-controller@0 { |
817 | compatible = "amlogic,g12b-clkc-1"; |
818 | #clock-cells = <1>; |
819 | reg = <0x0 0x3dc>; |
820 | }; |
821 | clkc_b: clock-controller@1 { |
822 | compatible = "amlogic,g12b-clkc-2"; |
823 | #clock-cells = <1>; |
824 | reg = <0x0 0x3dc>; |
825 | }; |
826 | };/* end of hiubus*/ |
827 | |
828 | ion_dev { |
829 | compatible = "amlogic, ion_dev"; |
830 | memory-region = <&ion_cma_reserved>; |
831 | };/* end of ion_dev*/ |
832 | |
833 | audiobus: audiobus@0xff642000 { |
834 | compatible = "amlogic, audio-controller", "simple-bus"; |
835 | reg = <0xff642000 0x2000>; |
836 | #address-cells = <1>; |
837 | #size-cells = <1>; |
838 | ranges = <0x0 0xff642000 0x2000>; |
839 | clkaudio: audio_clocks { |
840 | compatible = "amlogic, g12a-audio-clocks"; |
841 | #clock-cells = <1>; |
842 | reg = <0x0 0xb0>; |
843 | }; |
844 | ddr_manager { |
845 | compatible = "amlogic, g12a-audio-ddr-manager"; |
846 | interrupts = < |
847 | GIC_SPI 148 IRQ_TYPE_EDGE_RISING |
848 | GIC_SPI 149 IRQ_TYPE_EDGE_RISING |
849 | GIC_SPI 150 IRQ_TYPE_EDGE_RISING |
850 | GIC_SPI 152 IRQ_TYPE_EDGE_RISING |
851 | GIC_SPI 153 IRQ_TYPE_EDGE_RISING |
852 | GIC_SPI 154 IRQ_TYPE_EDGE_RISING |
853 | >; |
854 | interrupt-names = |
855 | "toddr_a", "toddr_b", "toddr_c", |
856 | "frddr_a", "frddr_b", "frddr_c"; |
857 | }; |
858 | };/* end of audiobus*/ |
859 | |
860 | }; /* end of soc*/ |
861 | |
862 | remote:rc@0xff808040 { |
863 | compatible = "amlogic, aml_remote"; |
864 | dev_name = "meson-remote"; |
865 | reg = <0xff808040 0x44>, /*Multi-format IR controller*/ |
866 | <0xff808000 0x20>; /*Legacy IR controller*/ |
867 | status = "okay"; |
868 | protocol = <REMOTE_TYPE_NEC>; |
869 | interrupts = <0 196 1>; |
870 | pinctrl-names = "default"; |
871 | pinctrl-0 = <&remote_pins>; |
872 | map = <&custom_maps>; |
873 | max_frame_time = <200>; /*set software decoder max frame time*/ |
874 | }; |
875 | |
876 | custom_maps:custom_maps { |
877 | mapnum = <3>; |
878 | map0 = <&map_0>; |
879 | map1 = <&map_1>; |
880 | map2 = <&map_2>; |
881 | map_0: map_0{ |
882 | mapname = "amlogic-remote-1"; |
883 | customcode = <0xfb04>; |
884 | release_delay = <80>; |
885 | size = <50>; /*keymap size*/ |
886 | keymap = <REMOTE_KEY(0x47, KEY_0) |
887 | REMOTE_KEY(0x13, KEY_1) |
888 | REMOTE_KEY(0x10, KEY_2) |
889 | REMOTE_KEY(0x11, KEY_3) |
890 | REMOTE_KEY(0x0F, KEY_4) |
891 | REMOTE_KEY(0x0C, KEY_5) |
892 | REMOTE_KEY(0x0D, KEY_6) |
893 | REMOTE_KEY(0x0B, KEY_7) |
894 | REMOTE_KEY(0x08, KEY_8) |
895 | REMOTE_KEY(0x09, KEY_9) |
896 | REMOTE_KEY(0x5C, KEY_RIGHTCTRL) |
897 | REMOTE_KEY(0x51, KEY_F3) |
898 | REMOTE_KEY(0x50, KEY_F4) |
899 | REMOTE_KEY(0x40, KEY_F5) |
900 | REMOTE_KEY(0x4d, KEY_F6) |
901 | REMOTE_KEY(0x43, KEY_F7) |
902 | REMOTE_KEY(0x17, KEY_F8) |
903 | REMOTE_KEY(0x00, KEY_F9) |
904 | REMOTE_KEY(0x01, KEY_F10) |
905 | REMOTE_KEY(0x16, KEY_F11) |
906 | REMOTE_KEY(0x49, KEY_BACKSPACE) |
907 | REMOTE_KEY(0x06, KEY_PROPS) |
908 | REMOTE_KEY(0x14, KEY_UNDO) |
909 | REMOTE_KEY(0x44, KEY_UP) |
910 | REMOTE_KEY(0x1D, KEY_DOWN) |
911 | REMOTE_KEY(0x1C, KEY_LEFT) |
912 | REMOTE_KEY(0x48, KEY_RIGHT) |
913 | REMOTE_KEY(0x53, KEY_LEFTMETA) |
914 | REMOTE_KEY(0x45, KEY_PAGEUP) |
915 | REMOTE_KEY(0x19, KEY_PAGEDOWN) |
916 | REMOTE_KEY(0x52, KEY_PAUSE) |
917 | REMOTE_KEY(0x05, KEY_HANGEUL) |
918 | REMOTE_KEY(0x59, KEY_HANJA) |
919 | REMOTE_KEY(0x1b, KEY_SCALE) |
920 | REMOTE_KEY(0x04, KEY_KPCOMMA) |
921 | REMOTE_KEY(0x1A, KEY_POWER) |
922 | REMOTE_KEY(0x0A, KEY_TAB) |
923 | REMOTE_KEY(0x0e, KEY_MUTE) |
924 | REMOTE_KEY(0x1F, KEY_HOME) |
925 | REMOTE_KEY(0x1e, KEY_FRONT) |
926 | REMOTE_KEY(0x07, KEY_COPY) |
927 | REMOTE_KEY(0x12, KEY_OPEN) |
928 | REMOTE_KEY(0x54, KEY_PASTE) |
929 | REMOTE_KEY(0x02, KEY_FIND) |
930 | REMOTE_KEY(0x4f, KEY_A) |
931 | REMOTE_KEY(0x42, KEY_B) |
932 | REMOTE_KEY(0x5d, KEY_C) |
933 | REMOTE_KEY(0x4c, KEY_D) |
934 | REMOTE_KEY(0x58, KEY_CUT) |
935 | REMOTE_KEY(0x55, KEY_CALC)>; |
936 | }; |
937 | map_1: map_1{ |
938 | mapname = "amlogic-remote-2"; |
939 | customcode = <0xfe01>; |
940 | release_delay = <80>; |
941 | size = <53>; |
942 | keymap = <REMOTE_KEY(0x01, KEY_1) |
943 | REMOTE_KEY(0x02, KEY_2) |
944 | REMOTE_KEY(0x03, KEY_3) |
945 | REMOTE_KEY(0x04, KEY_4) |
946 | REMOTE_KEY(0x05, KEY_5) |
947 | REMOTE_KEY(0x06, KEY_6) |
948 | REMOTE_KEY(0x07, KEY_7) |
949 | REMOTE_KEY(0x08, KEY_8) |
950 | REMOTE_KEY(0x09, KEY_9) |
951 | REMOTE_KEY(0x0a, KEY_0) |
952 | REMOTE_KEY(0x1F, KEY_FN_F1) |
953 | REMOTE_KEY(0x15, KEY_MENU) |
954 | REMOTE_KEY(0x16, KEY_TAB) |
955 | REMOTE_KEY(0x0c, KEY_CHANNELUP) |
956 | REMOTE_KEY(0x0d, KEY_CHANNELDOWN) |
957 | REMOTE_KEY(0x0e, KEY_VOLUMEUP) |
958 | REMOTE_KEY(0x0f, KEY_VOLUMEDOWN) |
959 | REMOTE_KEY(0x11, KEY_HOME) |
960 | REMOTE_KEY(0x1c, KEY_RIGHT) |
961 | REMOTE_KEY(0x1b, KEY_LEFT) |
962 | REMOTE_KEY(0x19, KEY_UP) |
963 | REMOTE_KEY(0x1a, KEY_DOWN) |
964 | REMOTE_KEY(0x1d, KEY_ENTER) |
965 | REMOTE_KEY(0x17, KEY_MUTE) |
966 | REMOTE_KEY(0x49, KEY_FINANCE) |
967 | REMOTE_KEY(0x43, KEY_BACK) |
968 | REMOTE_KEY(0x12, KEY_FN_F4) |
969 | REMOTE_KEY(0x14, KEY_FN_F5) |
970 | REMOTE_KEY(0x18, KEY_FN_F6) |
971 | REMOTE_KEY(0x59, KEY_INFO) |
972 | REMOTE_KEY(0x5a, KEY_STOPCD) |
973 | REMOTE_KEY(0x10, KEY_POWER) |
974 | REMOTE_KEY(0x42, KEY_PREVIOUSSONG) |
975 | REMOTE_KEY(0x44, KEY_NEXTSONG) |
976 | REMOTE_KEY(0x1e, KEY_REWIND) |
977 | REMOTE_KEY(0x4b, KEY_FASTFORWARD) |
978 | REMOTE_KEY(0x58, KEY_PLAYPAUSE) |
979 | REMOTE_KEY(0x46, KEY_PROPS) |
980 | REMOTE_KEY(0x40, KEY_UNDO) |
981 | REMOTE_KEY(0x38, KEY_SCROLLLOCK) |
982 | REMOTE_KEY(0x57, KEY_FN) |
983 | REMOTE_KEY(0x5b, KEY_FN_ESC) |
984 | REMOTE_KEY(0x54, KEY_RED) |
985 | REMOTE_KEY(0x4c, KEY_GREEN) |
986 | REMOTE_KEY(0x4e, KEY_YELLOW) |
987 | REMOTE_KEY(0x55, KEY_BLUE) |
988 | REMOTE_KEY(0x53, KEY_BLUETOOTH) |
989 | REMOTE_KEY(0x52, KEY_WLAN) |
990 | REMOTE_KEY(0x39, KEY_CAMERA) |
991 | REMOTE_KEY(0x41, KEY_SOUND) |
992 | REMOTE_KEY(0x0b, KEY_QUESTION) |
993 | REMOTE_KEY(0x00, KEY_CHAT) |
994 | REMOTE_KEY(0x13, KEY_SEARCH)>; |
995 | }; |
996 | map_2: map_2{ |
997 | mapname = "amlogic-remote-3"; |
998 | customcode = <0xbd02>; |
999 | release_delay = <80>; |
1000 | size = <17>; |
1001 | keymap = <REMOTE_KEY(0xca,103) |
1002 | REMOTE_KEY(0xd2,108) |
1003 | REMOTE_KEY(0x99,105) |
1004 | REMOTE_KEY(0xc1,106) |
1005 | REMOTE_KEY(0xce,97) |
1006 | REMOTE_KEY(0x45,116) |
1007 | REMOTE_KEY(0xc5,133) |
1008 | REMOTE_KEY(0x80,113) |
1009 | REMOTE_KEY(0xd0,15) |
1010 | REMOTE_KEY(0xd6,125) |
1011 | REMOTE_KEY(0x95,102) |
1012 | REMOTE_KEY(0xdd,104) |
1013 | REMOTE_KEY(0x8c,109) |
1014 | REMOTE_KEY(0x89,131) |
1015 | REMOTE_KEY(0x9c,130) |
1016 | REMOTE_KEY(0x9a,120) |
1017 | REMOTE_KEY(0xcd,121)>; |
1018 | }; |
1019 | }; |
1020 | |
1021 | uart_A: serial@ffd24000 { |
1022 | compatible = "amlogic, meson-uart"; |
1023 | reg = <0xffd24000 0x18>; |
1024 | interrupts = <0 26 1>; |
1025 | status = "disabled"; |
1026 | clocks = <&xtal |
1027 | &clkc CLKID_UART0>; |
1028 | clock-names = "clk_uart", |
1029 | "clk_gate"; |
1030 | fifosize = < 128 >; |
1031 | pinctrl-names = "default"; |
1032 | pinctrl-0 = <&a_uart_pins>; |
1033 | }; |
1034 | |
1035 | uart_B: serial@ffd23000 { |
1036 | compatible = "amlogic, meson-uart"; |
1037 | reg = <0xffd23000 0x18>; |
1038 | interrupts = <0 75 1>; |
1039 | status = "disabled"; |
1040 | clocks = <&xtal |
1041 | &clkc CLKID_UART1>; |
1042 | clock-names = "clk_uart", |
1043 | "clk_gate"; |
1044 | fifosize = < 64 >; |
1045 | pinctrl-names = "default"; |
1046 | pinctrl-0 = <&b_uart_pins>; |
1047 | }; |
1048 | |
1049 | uart_C: serial@ffd22000 { |
1050 | compatible = "amlogic, meson-uart"; |
1051 | reg = <0xffd22000 0x18>; |
1052 | interrupts = <0 93 1>; |
1053 | status = "disabled"; |
1054 | clocks = <&xtal |
1055 | &clkc CLKID_UART1>; |
1056 | clock-names = "clk_uart", |
1057 | "clk_gate"; |
1058 | fifosize = < 64 >; |
1059 | pinctrl-names = "default"; |
1060 | pinctrl-0 = <&c_uart_pins>; |
1061 | }; |
1062 | |
1063 | |
1064 | pcie_A: pcieA@fc000000 { |
1065 | compatible = "amlogic, amlogic-pcie-v2", "snps,dw-pcie"; |
1066 | reg = <0xfc000000 0x400000 |
1067 | 0xff648000 0x2000 |
1068 | 0xfc400000 0x200000 |
1069 | 0xff646000 0x2000 |
1070 | 0xffd01080 0x10>; |
1071 | reg-names = "elbi", "cfg", "config", "phy", "reset"; |
1072 | interrupts = <0 221 0>; |
1073 | #interrupt-cells = <1>; |
1074 | bus-range = <0x0 0xff>; |
1075 | #address-cells = <3>; |
1076 | #size-cells = <2>; |
1077 | interrupt-map-mask = <0 0 0 0>; |
1078 | interrupt-map = <0 0 0 0 &gic GIC_SPI 223 IRQ_TYPE_EDGE_RISING>; |
1079 | device_type = "pci"; |
1080 | ranges = <0x81000000 0 0 0xfc600000 0x0 0x100000 |
1081 | /* downstream I/O */ |
1082 | 0x82000000 0 0xfc700000 0xfc700000 0 0x1900000>; |
1083 | /* non-prefetchable memory */ |
1084 | num-lanes = <1>; |
1085 | pcie-num = <1>; |
1086 | |
1087 | clocks = <&clkc CLKID_PCIE_PLL |
1088 | &clkc CLKID_PCIE_COMB |
1089 | &clkc CLKID_PCIE_PHY>; |
1090 | clock-names = "pcie_refpll", |
1091 | "pcie", |
1092 | "pcie_phy"; |
1093 | /*reset-gpio-type 0:Shared pad(no reset)1:OD pad2:Normal pad*/ |
1094 | gpio-type = <2>; |
1095 | pcie-apb-rst-bit = <15>; |
1096 | pcie-phy-rst-bit = <14>; |
1097 | pcie-ctrl-a-rst-bit = <12>; |
1098 | status = "disabled"; |
1099 | }; |
1100 | |
1101 | amhdmitx: amhdmitx{ |
1102 | compatible = "amlogic, amhdmitx"; |
1103 | dev_name = "amhdmitx"; |
1104 | status = "okay"; |
1105 | vend-data = <&vend_data>; |
1106 | pinctrl-names="default", "hdmitx_i2c"; |
1107 | pinctrl-0=<&hdmitx_hpd &hdmitx_ddc>; |
1108 | pinctrl-1=<&hdmitx_hpd_gpio &i2c3_master_pins1>; |
1109 | clocks = <&clkc CLKID_VCLK2_ENCI |
1110 | &clkc CLKID_VCLK2_VENCI0 |
1111 | &clkc CLKID_VCLK2_VENCI1 |
1112 | &clkc CLKID_VAPB_MUX |
1113 | &clkc CLKID_VPU_MUX>; |
1114 | clock-names = "venci_top_gate", |
1115 | "venci_0_gate", |
1116 | "venci_1_gate", |
1117 | "hdmi_vapb_clk", |
1118 | "hdmi_vpu_clk"; |
1119 | /* HPD, 57 + 32 = 89; CEC, 151 + 32 = 183*/ |
1120 | interrupts = <0 57 1>; |
1121 | interrupt-names = "hdmitx_hpd"; |
1122 | /* 0:M8B 1:GXBB 2:GXTVBB 3:GXL 4:GXM |
1123 | * 5:TXL 6:TXLX 7:AXG 8:GXLX 9:TXHD |
1124 | * 10:G12A 11:G12B |
1125 | */ |
1126 | ic_type = <11>; |
1127 | vend_data: vend_data{ /* Should modified by Customer */ |
1128 | vendor_name = "Amlogic"; /* Max Chars: 8 */ |
1129 | /* standards.ieee.org/develop/regauth/oui/oui.txt */ |
1130 | vendor_id = <0x000000>; |
1131 | }; |
1132 | }; |
1133 | |
1134 | galcore { |
1135 | compatible = "amlogic, galcore"; |
1136 | dev_name = "galcore"; |
1137 | status = "disabled"; |
1138 | clocks = <&clkc CLKID_VNANOQ_AXI_CLK_COMP>, |
1139 | <&clkc CLKID_VNANOQ_CORE_CLK_COMP>; |
1140 | clock-names = "cts_vipnanoq_axi_clk_composite", |
1141 | "cts_vipnanoq_core_clk_composite"; |
1142 | interrupts = <0 147 1>; |
1143 | interrupt-names = "galcore"; |
1144 | reg = <0xff100000 0x800 |
1145 | 0xff000000 0x400000>; |
1146 | }; |
1147 | |
1148 | aocec: aocec { |
1149 | compatible = "amlogic, aocec-g12a"; |
1150 | device_name = "aocec"; |
1151 | status = "okay"; |
1152 | vendor_name = "Amlogic"; /* Max Chars: 8 */ |
1153 | /* Refer to the following URL at: |
1154 | * http://standards.ieee.org/develop/regauth/oui/oui.txt |
1155 | */ |
1156 | vendor_id = <0x000000>; |
1157 | product_desc = "G12B"; /* Max Chars: 16 */ |
1158 | cec_osd_string = "AML_MBOX"; /* Max Chars: 14 */ |
1159 | port_num = <1>; |
1160 | ee_cec; |
1161 | arc_port_mask = <0x2>; |
1162 | interrupts = <0 203 1 |
1163 | 0 199 1>; /*0:snps 1:ts*/ |
1164 | interrupt-names = "hdmi_aocecb","hdmi_aocec"; |
1165 | pinctrl-names = "default","hdmitx_aocecb","cec_pin_sleep"; |
1166 | pinctrl-0=<&eecec_a>; |
1167 | pinctrl-1=<&eecec_b>; |
1168 | pinctrl-2=<&eecec_b>; |
1169 | reg = <0xFF80023c 0x4 |
1170 | 0xFF800000 0x400 |
1171 | 0xFF634400 0x26>; |
1172 | reg-names = "ao_exit","ao","periphs"; |
1173 | }; |
1174 | |
1175 | /*if you want to use vdin just modify status to "ok"*/ |
1176 | vdin0: vdin0 { |
1177 | compatible = "amlogic, vdin"; |
1178 | dev_name = "vdin0"; |
1179 | status = "disabled"; |
1180 | reserve-iomap = "true"; |
1181 | flag_cma = <0>;/*1:share with codec_mm;2:cma alone*/ |
1182 | /*MByte, if 10bit disable: 64M(YUV422), |
1183 | *if 10bit enable: 64*1.5 = 96M(YUV422) |
1184 | *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M |
1185 | *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M |
1186 | *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M |
1187 | *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M |
1188 | */ |
1189 | /*cma_size = <16>;*/ |
1190 | interrupts = <0 83 1>; |
1191 | rdma-irq = <2>; |
1192 | /*clocks = <&clock CLK_FPLL_DIV5>, |
1193 | * <&clock CLK_VDIN_MEAS_CLK>; |
1194 | *clock-names = "fclk_div5", "cts_vdin_meas_clk"; |
1195 | */ |
1196 | vdin_id = <0>; |
1197 | }; |
1198 | vdin1: vdin1 { |
1199 | compatible = "amlogic, vdin"; |
1200 | dev_name = "vdin1"; |
1201 | status = "disabled"; |
1202 | reserve-iomap = "true"; |
1203 | flag_cma = <0>;/*1:share with codec_mm;0:cma alone*/ |
1204 | interrupts = <0 85 1>; |
1205 | rdma-irq = <4>; |
1206 | /*clocks = <&clock CLK_FPLL_DIV5>, |
1207 | * <&clock CLK_VDIN_MEAS_CLK>; |
1208 | *clock-names = "fclk_div5", "cts_vdin_meas_clk"; |
1209 | */ |
1210 | vdin_id = <1>; |
1211 | }; |
1212 | |
1213 | vout { |
1214 | compatible = "amlogic, vout"; |
1215 | dev_name = "vout"; |
1216 | status = "okay"; |
1217 | }; |
1218 | |
1219 | vout2 { |
1220 | compatible = "amlogic, vout2"; |
1221 | dev_name = "vout"; |
1222 | status = "okay"; |
1223 | clocks = <&clkc CLKID_VPU_CLKC_P0_COMP>, |
1224 | <&clkc CLKID_VPU_CLKC_MUX>; |
1225 | clock-names = "vpu_clkc0", |
1226 | "vpu_clkc"; |
1227 | }; |
1228 | |
1229 | vdac { |
1230 | compatible = "amlogic, vdac-g12b"; |
1231 | status = "okay"; |
1232 | }; |
1233 | |
1234 | canvas: canvas{ |
1235 | compatible = "amlogic, meson, canvas"; |
1236 | dev_name = "amlogic-canvas"; |
1237 | status = "okay"; |
1238 | reg = <0xff638000 0x2000>; |
1239 | }; |
1240 | |
1241 | ge2d { |
1242 | compatible = "amlogic, ge2d-g12a"; |
1243 | dev_name = "ge2d"; |
1244 | status = "okay"; |
1245 | interrupts = <0 146 1>; |
1246 | interrupt-names = "ge2d"; |
1247 | clocks = <&clkc CLKID_VAPB_MUX>, |
1248 | <&clkc CLKID_G2D>, |
1249 | <&clkc CLKID_GE2D_GATE>; |
1250 | clock-names = "clk_vapb_0", |
1251 | "clk_ge2d", |
1252 | "clk_ge2d_gate"; |
1253 | reg = <0xff940000 0x10000>; |
1254 | }; |
1255 | |
1256 | meson-amvideom { |
1257 | compatible = "amlogic, amvideom"; |
1258 | dev_name = "amvideom"; |
1259 | status = "okay"; |
1260 | interrupts = <0 3 1>; |
1261 | interrupt-names = "vsync"; |
1262 | }; |
1263 | |
1264 | codec_io: codec_io { |
1265 | compatible = "amlogic, codec_io"; |
1266 | status = "okay"; |
1267 | #address-cells=<1>; |
1268 | #size-cells=<1>; |
1269 | ranges; |
1270 | io_cbus_base{ |
1271 | reg = <0xffd00000 0x100000>; |
1272 | }; |
1273 | io_dos_base{ |
1274 | reg = <0xff620000 0x10000>; |
1275 | }; |
1276 | io_hiubus_base{ |
1277 | reg = <0xff63c000 0x2000>; |
1278 | }; |
1279 | io_aobus_base{ |
1280 | reg = <0xff800000 0x10000>; |
1281 | }; |
1282 | io_vcbus_base{ |
1283 | reg = <0xff900000 0x40000>; |
1284 | }; |
1285 | io_dmc_base{ |
1286 | reg = <0xff638000 0x2000>; |
1287 | }; |
1288 | io_efuse_base{ |
1289 | reg = <0xff630000 0x2000>; |
1290 | }; |
1291 | }; |
1292 | |
1293 | gdc:gdc { |
1294 | #address-cells=<1>; |
1295 | #size-cells=<1>; |
1296 | status = "ok"; |
1297 | compatible = "amlogic, g12b-gdc"; |
1298 | reg = <0xFF950000 0x0000100 |
1299 | 0xFF63C16C 0x0000004 |
1300 | 0xFF63C100 0x0000004>; |
1301 | interrupts = <0 144 1>; |
1302 | interrupt-names = "GDC"; |
1303 | clocks = <&clkc CLKID_GDC_CORE_CLK_COMP |
1304 | &clkc CLKID_GDC_AXI_CLK_COMP >; |
1305 | clock-names = "core","axi"; |
1306 | }; |
1307 | |
1308 | mesonstream { |
1309 | compatible = "amlogic, codec, streambuf"; |
1310 | dev_name = "mesonstream"; |
1311 | status = "okay"; |
1312 | clocks = <&clkc CLKID_DOS_PARSER |
1313 | &clkc CLKID_DEMUX |
1314 | &clkc CLKID_AHB_ARB0 |
1315 | &clkc CLKID_DOS |
1316 | &clkc CLKID_VDEC_MUX |
1317 | &clkc CLKID_HCODEC_MUX |
1318 | &clkc CLKID_HEVC_MUX |
1319 | &clkc CLKID_HEVCF_MUX>; |
1320 | clock-names = "parser_top", |
1321 | "demux", |
1322 | "ahbarb0", |
1323 | "vdec", |
1324 | "clk_vdec_mux", |
1325 | "clk_hcodec_mux", |
1326 | "clk_hevc_mux", |
1327 | "clk_hevcb_mux"; |
1328 | }; |
1329 | |
1330 | vdec { |
1331 | compatible = "amlogic, vdec"; |
1332 | dev_name = "vdec.0"; |
1333 | status = "okay"; |
1334 | interrupts = <0 3 1 |
1335 | 0 23 1 |
1336 | 0 32 1 |
1337 | 0 43 1 |
1338 | 0 44 1 |
1339 | 0 45 1>; |
1340 | interrupt-names = "vsync", |
1341 | "demux", |
1342 | "parser", |
1343 | "mailbox_0", |
1344 | "mailbox_1", |
1345 | "mailbox_2"; |
1346 | }; |
1347 | |
1348 | amvenc_avc{ |
1349 | compatible = "amlogic, amvenc_avc"; |
1350 | dev_name = "amvenc_avc"; |
1351 | status = "okay"; |
1352 | interrupts = <0 45 1>; |
1353 | interrupt-names = "mailbox_2"; |
1354 | }; |
1355 | |
1356 | hevc_enc{ |
1357 | compatible = "cnm, HevcEnc"; |
1358 | //memory-region = <&hevc_enc_reserved>; |
1359 | dev_name = "HevcEnc"; |
1360 | status = "okay"; |
1361 | interrupts = <0 187 1>; |
1362 | interrupt-names = "wave420l_irq"; |
1363 | #address-cells=<1>; |
1364 | #size-cells=<1>; |
1365 | ranges; |
1366 | io_reg_base{ |
1367 | reg = <0xff610000 0x4000>; |
1368 | }; |
1369 | }; |
1370 | |
1371 | rdma{ |
1372 | compatible = "amlogic, meson, rdma"; |
1373 | dev_name = "amlogic-rdma"; |
1374 | status = "okay"; |
1375 | interrupts = <0 89 1>; |
1376 | interrupt-names = "rdma"; |
1377 | }; |
1378 | |
1379 | meson_fb: meson-fb { |
1380 | compatible = "amlogic, meson-g12b"; |
1381 | memory-region = <&logo_reserved>; |
1382 | dev_name = "meson-fb"; |
1383 | status = "disable"; |
1384 | interrupts = <0 3 1 |
1385 | 0 56 1 |
1386 | 0 89 1>; |
1387 | interrupt-names = "viu-vsync", "viu2-vsync", "rdma"; |
1388 | /* uboot logo,fb0/fb1 memory size,if afbcd fb0=0x01851000*/ |
1389 | display_mode_default = "1080p60hz"; |
1390 | scale_mode = <1>; |
1391 | /** 0:VPU free scale 1:OSD free scale 2:OSD super scale */ |
1392 | display_size_default = <1920 1080 1920 2160 32>; |
1393 | /*1920*1080*4*3 = 0x17BB000*/ |
1394 | clocks = <&clkc CLKID_VPU_CLKC_MUX>; |
1395 | clock-names = "vpu_clkc"; |
1396 | }; |
1397 | irblaster: meson-irblaster { |
1398 | compatible = "amlogic, meson_irblaster"; |
1399 | reg = <0xff80014c 0x10>, |
1400 | <0xff800040 0x4>; |
1401 | pinctrl-names = "default"; |
1402 | pinctrl-0 = <&irblaster_pins>; |
1403 | interrupts = <0 198 1>; |
1404 | status = "disabled"; |
1405 | }; |
1406 | |
1407 | sd_emmc_c: emmc@ffe07000 { |
1408 | status = "disabled"; |
1409 | compatible = "amlogic, meson-mmc-g12b"; |
1410 | reg = <0xffe07000 0x800>; |
1411 | interrupts = <0 191 1>; |
1412 | pinctrl-names = "emmc_clk_cmd_pins", "emmc_all_pins"; |
1413 | pinctrl-0 = <&emmc_clk_cmd_pins>; |
1414 | pinctrl-1 = <&emmc_conf_pull_up &emmc_conf_pull_done>; |
1415 | clocks = <&clkc CLKID_SD_EMMC_C>, |
1416 | <&clkc CLKID_SD_EMMC_C_P0_COMP>, |
1417 | <&clkc CLKID_FCLK_DIV2>, |
1418 | <&clkc CLKID_FCLK_DIV5>, |
1419 | <&xtal>; |
1420 | clock-names = "core", "clkin0", "clkin1", "clkin2", "xtal"; |
1421 | |
1422 | bus-width = <8>; |
1423 | cap-sd-highspeed; |
1424 | cap-mmc-highspeed; |
1425 | /* mmc-ddr-1_8v; */ |
1426 | /* mmc-hs200-1_8v; */ |
1427 | |
1428 | max-frequency = <200000000>; |
1429 | non-removable; |
1430 | disable-wp; |
1431 | emmc { |
1432 | pinname = "emmc"; |
1433 | ocr_avail = <0x200080>; /**VDD voltage 3.3 ~ 3.4 */ |
1434 | /*caps defined in dts*/ |
1435 | tx_delay = <0>; |
1436 | max_req_size = <0x20000>; /**128KB*/ |
1437 | gpio_dat3 = <&gpio BOOT_3 GPIO_ACTIVE_HIGH>; |
1438 | hw_reset = <&gpio BOOT_9 GPIO_ACTIVE_HIGH>; |
1439 | card_type = <1>; |
1440 | /* 1:mmc card(include eMMC), |
1441 | * 2:sd card(include tSD) |
1442 | */ |
1443 | }; |
1444 | }; |
1445 | |
1446 | sd_emmc_b:sd@ffe05000 { |
1447 | status = "disabled"; |
1448 | compatible = "amlogic, meson-mmc-g12b"; |
1449 | reg = <0xffe05000 0x800>; |
1450 | interrupts = <0 190 1>; |
1451 | |
1452 | pinctrl-names = "sd_all_pins", |
1453 | "sd_clk_cmd_pins", |
1454 | "sd_1bit_pins", |
1455 | "sd_clk_cmd_uart_pins", |
1456 | "sd_1bit_uart_pins", |
1457 | "sd_to_ao_uart_pins", |
1458 | "ao_to_sd_uart_pins", |
1459 | "sd_to_ao_jtag_pins", |
1460 | "ao_to_sd_jtag_pins"; |
1461 | pinctrl-0 = <&sd_all_pins>; |
1462 | pinctrl-1 = <&sd_clk_cmd_pins>; |
1463 | pinctrl-2 = <&sd_1bit_pins>; |
1464 | pinctrl-3 = <&sd_to_ao_uart_clr_pins |
1465 | &sd_clk_cmd_pins &ao_to_sd_uart_pins>; |
1466 | pinctrl-4 = <&sd_to_ao_uart_clr_pins |
1467 | &sd_1bit_pins &ao_to_sd_uart_pins>; |
1468 | pinctrl-5 = <&sd_all_pins &sd_to_ao_uart_pins>; |
1469 | pinctrl-6 = <&sd_to_ao_uart_clr_pins &ao_to_sd_uart_pins>; |
1470 | pinctrl-7 = <&sd_all_pins &sd_to_ao_uart_pins>; |
1471 | pinctrl-8 = <&sd_to_ao_uart_clr_pins &ao_to_sd_uart_pins>; |
1472 | |
1473 | clocks = <&clkc CLKID_SD_EMMC_B>, |
1474 | <&clkc CLKID_SD_EMMC_B_P0_COMP>, |
1475 | <&clkc CLKID_FCLK_DIV2>, |
1476 | <&clkc CLKID_FCLK_DIV5>, |
1477 | <&xtal>; |
1478 | clock-names = "core", "clkin0", "clkin1", "clkin2", "xtal"; |
1479 | |
1480 | bus-width = <4>; |
1481 | cap-sd-highspeed; |
1482 | cap-mmc-highspeed; |
1483 | max-frequency = <100000000>; |
1484 | disable-wp; |
1485 | sd { |
1486 | pinname = "sd"; |
1487 | ocr_avail = <0x200080>; /**VDD voltage 3.3 ~ 3.4 */ |
1488 | max_req_size = <0x20000>; /**128KB*/ |
1489 | gpio_dat3 = <&gpio GPIOC_3 GPIO_ACTIVE_HIGH>; |
1490 | jtag_pin = <&gpio GPIOC_0 GPIO_ACTIVE_HIGH>; |
1491 | gpio_cd = <&gpio GPIOC_6 GPIO_ACTIVE_HIGH>; |
1492 | card_type = <5>; |
1493 | /* 3:sdio device(ie:sdio-wifi), |
1494 | * 4:SD combo (IO+mem) card |
1495 | */ |
1496 | }; |
1497 | }; |
1498 | |
1499 | sd_emmc_a:sdio@ffe03000 { |
1500 | status = "disabled"; |
1501 | compatible = "amlogic, meson-mmc-g12b"; |
1502 | reg = <0xffe03000 0x800>; |
1503 | interrupts = <0 189 4>; |
1504 | |
1505 | pinctrl-names = "sdio_all_pins", |
1506 | "sdio_clk_cmd_pins"; |
1507 | pinctrl-0 = <&sdio_all_pins>; |
1508 | pinctrl-1 = <&sdio_clk_cmd_pins>; |
1509 | |
1510 | clocks = <&clkc CLKID_SD_EMMC_A>, |
1511 | <&clkc CLKID_SD_EMMC_A_P0_COMP>, |
1512 | <&clkc CLKID_FCLK_DIV2>, |
1513 | <&clkc CLKID_FCLK_DIV5>, |
1514 | <&xtal>; |
1515 | clock-names = "core", "clkin0", "clkin1", "clkin2", "xtal"; |
1516 | |
1517 | bus-width = <4>; |
1518 | cap-sd-highspeed; |
1519 | cap-mmc-highspeed; |
1520 | max-frequency = <100000000>; |
1521 | disable-wp; |
1522 | sdio { |
1523 | pinname = "sdio"; |
1524 | ocr_avail = <0x200080>; /**VDD voltage 3.3 ~ 3.4 */ |
1525 | max_req_size = <0x20000>; /**128KB*/ |
1526 | card_type = <3>; |
1527 | /* 3:sdio device(ie:sdio-wifi), |
1528 | * 4:SD combo (IO+mem) card |
1529 | */ |
1530 | }; |
1531 | }; |
1532 | |
1533 | nand: nfc@0 { |
1534 | compatible = "amlogic, aml_mtd_nand"; |
1535 | dev_name = "mtdnand"; |
1536 | status = "disabled"; |
1537 | reg = <0xFFE07800 0x200>; |
1538 | interrupts = <0 34 1>; |
1539 | |
1540 | pinctrl-names = "nand_rb_mod","nand_norb_mod", "nand_cs_only"; |
1541 | pinctrl-0 = <&all_nand_pins>; |
1542 | pinctrl-1 = <&all_nand_pins>; |
1543 | pinctrl-2 = <&nand_cs_pins>; |
1544 | clocks = <&clkc CLKID_SD_EMMC_C>, |
1545 | <&clkc CLKID_SD_EMMC_C_P0_COMP>; |
1546 | clock-names = "core", "clkin"; |
1547 | |
1548 | device_id = <0>; |
1549 | /*fip/tpl configurations, must be same |
1550 | * with uboot if bl_mode was set as 1 |
1551 | * bl_mode: 0 compact mode; 1 descrete mode |
1552 | * if bl_mode was set as 1, fip configuration will work |
1553 | */ |
1554 | bl_mode = <1>; |
1555 | /*copy count of fip*/ |
1556 | fip_copies = <4>; |
1557 | /*size of each fip copy */ |
1558 | fip_size = <0x200000>; |
1559 | nand_clk_ctrl = <0xFFE07000>; |
1560 | /*partions defined in dts */ |
1561 | }; |
1562 | |
1563 | meson_cooldev: meson-cooldev@0 { |
1564 | status = "okay"; |
1565 | compatible = "amlogic, meson-cooldev"; |
1566 | device_name = "mcooldev"; |
1567 | cooling_devices { |
1568 | cpufreq_cool_cluster0 { |
1569 | min_state = <1000000>; |
1570 | dyn_coeff = <120>; |
1571 | cluster_id = <0>; |
1572 | gpu_pp = <2>; |
1573 | node_name = "cpufreq_cool0"; |
1574 | device_type = "cpufreq"; |
1575 | }; |
1576 | cpufreq_cool_cluster1 { |
1577 | min_state = <1000000>; |
1578 | dyn_coeff = <460>; |
1579 | cluster_id = <1>; |
1580 | gpu_pp = <2>; |
1581 | node_name = "cpufreq_cool1"; |
1582 | device_type = "cpufreq"; |
1583 | }; |
1584 | cpucore_cool_cluster0 { |
1585 | min_state = <1>; |
1586 | dyn_coeff = <0>; |
1587 | cluster_id = <0>; |
1588 | gpu_pp = <2>; |
1589 | node_name = "cpucore_cool0"; |
1590 | device_type = "cpucore"; |
1591 | }; |
1592 | cpucore_cool_cluster1 { |
1593 | min_state = <0>; |
1594 | dyn_coeff = <0>; |
1595 | cluster_id = <1>; |
1596 | gpu_pp = <2>; |
1597 | node_name = "cpucore_cool1"; |
1598 | device_type = "cpucore"; |
1599 | }; |
1600 | gpufreq_cool { |
1601 | min_state = <400>; |
1602 | dyn_coeff = <358>; |
1603 | cluster_id = <0>; |
1604 | gpu_pp = <2>; |
1605 | node_name = "gpufreq_cool0"; |
1606 | device_type = "gpufreq"; |
1607 | }; |
1608 | gpucore_cool { |
1609 | min_state = <1>; |
1610 | dyn_coeff = <0>; |
1611 | cluster_id = <0>; |
1612 | gpu_pp = <2>; |
1613 | node_name = "gpucore_cool0"; |
1614 | device_type = "gpucore"; |
1615 | }; |
1616 | }; |
1617 | cpufreq_cool0:cpufreq_cool0 { |
1618 | #cooling-cells = <2>; /* min followed by max */ |
1619 | }; |
1620 | cpufreq_cool1:cpufreq_cool1 { |
1621 | #cooling-cells = <2>; /* min followed by max */ |
1622 | }; |
1623 | cpucore_cool0:cpucore_cool0 { |
1624 | #cooling-cells = <2>; /* min followed by max */ |
1625 | }; |
1626 | cpucore_cool1:cpucore_cool1 { |
1627 | #cooling-cells = <2>; /* min followed by max */ |
1628 | }; |
1629 | gpufreq_cool0:gpufreq_cool0 { |
1630 | #cooling-cells = <2>; /* min followed by max */ |
1631 | }; |
1632 | gpucore_cool0:gpucore_cool0 { |
1633 | #cooling-cells = <2>; /* min followed by max */ |
1634 | }; |
1635 | }; |
1636 | /*meson cooling devices end*/ |
1637 | |
1638 | thermal-zones { |
1639 | soc_thermal: soc_thermal { |
1640 | polling-delay = <1000>; |
1641 | polling-delay-passive = <100>; |
1642 | sustainable-power = <3550>; |
1643 | thermal-sensors = <&p_tsensor 0>; |
1644 | trips { |
1645 | pswitch_on: trip-point@0 { |
1646 | temperature = <60000>; |
1647 | hysteresis = <5000>; |
1648 | type = "passive"; |
1649 | }; |
1650 | pcontrol: trip-point@1 { |
1651 | temperature = <75000>; |
1652 | hysteresis = <5000>; |
1653 | type = "passive"; |
1654 | }; |
1655 | phot: trip-point@2 { |
1656 | temperature = <85000>; |
1657 | hysteresis = <5000>; |
1658 | type = "hot"; |
1659 | }; |
1660 | pcritical: trip-point@3 { |
1661 | temperature = <110000>; |
1662 | hysteresis = <1000>; |
1663 | type = "critical"; |
1664 | }; |
1665 | }; |
1666 | |
1667 | cooling-maps { |
1668 | cpufreq_cooling_map0 { |
1669 | trip = <&pcontrol>; |
1670 | cooling-device = <&cpufreq_cool0 0 10>; |
1671 | contribution = <1024>; |
1672 | }; |
1673 | cpufreq_cooling_map1 { |
1674 | trip = <&pcontrol>; |
1675 | cooling-device = <&cpufreq_cool1 0 9>; |
1676 | contribution = <1024>; |
1677 | }; |
1678 | cpucore_cooling_map0 { |
1679 | trip = <&pcontrol>; |
1680 | cooling-device = <&cpucore_cool0 0 1>; |
1681 | contribution = <1024>; |
1682 | }; |
1683 | cpucore_cooling_map1 { |
1684 | trip = <&pcontrol>; |
1685 | cooling-device = <&cpucore_cool1 0 4>; |
1686 | contribution = <1024>; |
1687 | }; |
1688 | gpufreq_cooling_map { |
1689 | trip = <&pcontrol>; |
1690 | cooling-device = <&gpufreq_cool0 0 4>; |
1691 | contribution = <1024>; |
1692 | }; |
1693 | gpucore_cooling_map { |
1694 | trip = <&pcontrol>; |
1695 | cooling-device = <&gpucore_cool0 0 2>; |
1696 | contribution = <1024>; |
1697 | }; |
1698 | }; |
1699 | }; |
1700 | ddr_thermal: ddr_thermal { |
1701 | polling-delay = <1000>; |
1702 | polling-delay-passive = <100>; |
1703 | sustainable-power = <3550>; |
1704 | thermal-sensors = <&d_tsensor 1>; |
1705 | trips { |
1706 | dswitch_on: trip-point@0 { |
1707 | temperature = <60000>; |
1708 | hysteresis = <5000>; |
1709 | type = "passive"; |
1710 | }; |
1711 | dcontrol: trip-point@1 { |
1712 | temperature = <75000>; |
1713 | hysteresis = <5000>; |
1714 | type = "passive"; |
1715 | }; |
1716 | dhot: trip-point@2 { |
1717 | temperature = <85000>; |
1718 | hysteresis = <5000>; |
1719 | type = "hot"; |
1720 | }; |
1721 | dcritical: trip-point@3 { |
1722 | temperature = <110000>; |
1723 | hysteresis = <1000>; |
1724 | type = "critical"; |
1725 | }; |
1726 | }; |
1727 | |
1728 | }; |
1729 | }; |
1730 | /*thermal zone end*/ |
1731 | |
1732 | /* Sound iomap */ |
1733 | aml_snd_iomap { |
1734 | compatible = "amlogic, snd-iomap"; |
1735 | status = "okay"; |
1736 | #address-cells=<1>; |
1737 | #size-cells=<1>; |
1738 | ranges; |
1739 | pdm_bus { |
1740 | reg = <0xFF640000 0x2000>; |
1741 | }; |
1742 | audiobus_base { |
1743 | reg = <0xFF642000 0x2000>; |
1744 | }; |
1745 | audiolocker_base { |
1746 | reg = <0xFF64A000 0x2000>; |
1747 | }; |
1748 | eqdrc_base { |
1749 | reg = <0xFF656000 0x1800>; |
1750 | }; |
1751 | reset_base { |
1752 | reg = <0xFFD01000 0x1000>; |
1753 | }; |
1754 | }; |
1755 | |
1756 | vddcpu0: pwmao_d-regulator { |
1757 | compatible = "pwm-regulator"; |
1758 | pinctrl-names = "default"; |
1759 | pinctrl-0 = <&pwm_ao_d_pins3>; |
1760 | pwms = <&pwm_AO_cd MESON_PWM_1 1250 0>; |
1761 | regulator-name = "vddcpu0"; |
1762 | regulator-min-microvolt = <721000>; |
1763 | regulator-max-microvolt = <1022000>; |
1764 | regulator-always-on; |
1765 | max-duty-cycle = <1250>; |
1766 | /* Voltage Duty-Cycle */ |
1767 | voltage-table = <1022000 0>, |
1768 | <1011000 3>, |
1769 | <1001000 6>, |
1770 | <991000 10>, |
1771 | <981000 13>, |
1772 | <971000 16>, |
1773 | <961000 20>, |
1774 | <951000 23>, |
1775 | <941000 26>, |
1776 | <931000 30>, |
1777 | <921000 33>, |
1778 | <911000 36>, |
1779 | <901000 40>, |
1780 | <891000 43>, |
1781 | <881000 46>, |
1782 | <871000 50>, |
1783 | <861000 53>, |
1784 | <851000 56>, |
1785 | <841000 60>, |
1786 | <831000 63>, |
1787 | <821000 67>, |
1788 | <811000 70>, |
1789 | <801000 73>, |
1790 | <791000 76>, |
1791 | <781000 80>, |
1792 | <771000 83>, |
1793 | <761000 86>, |
1794 | <751000 90>, |
1795 | <741000 93>, |
1796 | <731000 96>, |
1797 | <721000 100>; |
1798 | status = "okay"; |
1799 | }; |
1800 | |
1801 | vddcpu1: pwmab_a-regulator { |
1802 | compatible = "pwm-regulator"; |
1803 | pinctrl-names = "default"; |
1804 | pinctrl-0 = <&pwm_a_e2>; |
1805 | pwms = <&pwm_ab MESON_PWM_0 1250 0>; |
1806 | regulator-name = "vddcpu1"; |
1807 | regulator-min-microvolt = <721000>; |
1808 | regulator-max-microvolt = <1022000>; |
1809 | regulator-always-on; |
1810 | max-duty-cycle = <1250>; |
1811 | /* Voltage Duty-Cycle */ |
1812 | voltage-table = <1022000 0>, |
1813 | <1011000 3>, |
1814 | <1001000 6>, |
1815 | <991000 10>, |
1816 | <981000 13>, |
1817 | <971000 16>, |
1818 | <961000 20>, |
1819 | <951000 23>, |
1820 | <941000 26>, |
1821 | <931000 30>, |
1822 | <921000 33>, |
1823 | <911000 36>, |
1824 | <901000 40>, |
1825 | <891000 43>, |
1826 | <881000 46>, |
1827 | <871000 50>, |
1828 | <861000 53>, |
1829 | <851000 56>, |
1830 | <841000 60>, |
1831 | <831000 63>, |
1832 | <821000 67>, |
1833 | <811000 70>, |
1834 | <801000 73>, |
1835 | <791000 76>, |
1836 | <781000 80>, |
1837 | <771000 83>, |
1838 | <761000 86>, |
1839 | <751000 90>, |
1840 | <741000 93>, |
1841 | <731000 96>, |
1842 | <721000 100>; |
1843 | status = "okay"; |
1844 | }; |
1845 | |
1846 | rng { |
1847 | compatible = "amlogic,meson-rng"; |
1848 | status = "okay"; |
1849 | #address-cells = <1>; |
1850 | #size-cells = <1>; |
1851 | reg = <0xff630218 0x4>; |
1852 | quality = /bits/ 16 <1000>; |
1853 | }; |
1854 | |
1855 | ddr_bandwidth { |
1856 | compatible = "amlogic, ddr-bandwidth"; |
1857 | status = "okay"; |
1858 | reg = <0xff638000 0x100 |
1859 | 0xff638c00 0x100>; |
1860 | interrupts = <0 52 1>; |
1861 | interrupt-names = "ddr_bandwidth"; |
1862 | }; |
1863 | dmc_monitor { |
1864 | compatible = "amlogic, dmc_monitor"; |
1865 | status = "okay"; |
1866 | reg_base = <0xff639000>; |
1867 | interrupts = <0 51 1>; |
1868 | }; |
1869 | |
1870 | isp_sc: isp-sc@ff655400 { |
1871 | compatible = "amlogic, isp-sc"; |
1872 | reg = <0xff655400 0x00001000>; |
1873 | reg-names = "isp_sc"; |
1874 | interrupts = <0 17 0>; |
1875 | interrupt-names = "isp_sc"; |
1876 | }; |
1877 | |
1878 | isp: isp@ff140000 { |
1879 | compatible = "arm, isp"; |
1880 | reg = <0xff140000 0x00040000>; |
1881 | reg-names = "ISP"; |
1882 | interrupts = <0 142 4>; |
1883 | interrupt-names = "ISP"; |
1884 | temper-buf-size = <24>; |
1885 | clocks = <&clkc CLKID_MIPI_ISP_CLK_COMP>, |
1886 | <&clkc CLKID_MIPI_CSI_PHY_CLK0_COMP>; |
1887 | clock-names = "cts_mipi_isp_clk_composite", |
1888 | "cts_mipi_csi_phy_clk0_composite"; |
1889 | link-device = <&isp_sc>; |
1890 | }; |
1891 | |
1892 | adapter: isp-adapter@ff650000 { |
1893 | compatible = "amlogic, isp-adapter"; |
1894 | reg = <0xff650000 0x00006000>; |
1895 | reg-names = "adapter"; |
1896 | interrupts = <0 179 0>; |
1897 | interrupt-names = "adapter-irq"; |
1898 | }; |
1899 | |
1900 | phycsi: phy-csi@ff650000 { |
1901 | compatible = "amlogic, phy-csi"; |
1902 | reg = <0xff650000 0x00002000>, |
1903 | <0xff652000 0x00002000>, |
1904 | <0xff63c300 0x00000100>, |
1905 | <0xff654000 0x00000100>, |
1906 | <0xff654400 0x00000100>; |
1907 | reg-names = "csi2_phy0", "csi2_phy1", "aphy_reg", |
1908 | "csi0_host", "csi1_host"; |
1909 | interrupts = <0 41 0>, |
1910 | <0 42 0>, |
1911 | <0 72 0>, |
1912 | <0 74 0>, |
1913 | <0 87 0>, |
1914 | <0 88 0>; |
1915 | interrupt-names = "phy0-irq", |
1916 | "phy1-irq", |
1917 | "csi-host0-intr2", |
1918 | "csi-host0-intr1", |
1919 | "csi-host1-intr2", |
1920 | "csi-host1-intr1"; |
1921 | link-device = <&adapter>; |
1922 | }; |
1923 | |
1924 | defendkey: defendkey { |
1925 | compatible = "amlogic, defendkey"; |
1926 | reg = <0xff630218 0x4>; /*RNG_USR_DATA*/ |
1927 | mem_size = <0 0x100000>; |
1928 | status = "okay"; |
1929 | }; |
1930 | };/* end of / */ |
1931 | |
1932 | &pinctrl_aobus { |
1933 | ao_uart_pins:ao_uart { |
1934 | mux { |
1935 | groups = "uart_ao_tx_a", |
1936 | "uart_ao_rx_a"; |
1937 | function = "uart_ao_a"; |
1938 | }; |
1939 | }; |
1940 | |
1941 | ao_b_uart_pins:ao_b_uart { |
1942 | mux { |
1943 | groups = "uart_ao_tx_b_2", |
1944 | "uart_ao_rx_b_3"; |
1945 | function = "uart_ao_b"; |
1946 | }; |
1947 | }; |
1948 | |
1949 | ao_i2c_master_pins1:ao_i2c_pins1 { |
1950 | mux { |
1951 | groups = "i2c_ao_sck", |
1952 | "i2c_ao_sda"; |
1953 | function = "i2c_ao"; |
1954 | bias-pull-up; |
1955 | drive-strength = <2>; |
1956 | }; |
1957 | }; |
1958 | |
1959 | ao_i2c_master_pins2:ao_i2c_pins2 { |
1960 | mux { |
1961 | groups = "i2c_ao_sck_e", |
1962 | "i2c_ao_sda_e"; |
1963 | function = "i2c_ao"; |
1964 | bias-pull-up; |
1965 | drive-strength = <2>; |
1966 | }; |
1967 | }; |
1968 | |
1969 | ao_i2c_slave_pins:ao_i2c_slave_pins { |
1970 | mux { |
1971 | groups = "i2c_ao_slave_sck", |
1972 | "i2c_ao_slave_sda"; |
1973 | function = "i2c_ao_slave"; |
1974 | }; |
1975 | }; |
1976 | |
1977 | pwm_ao_a_pins: pwm_ao_a { |
1978 | mux { |
1979 | groups = "pwm_ao_a"; |
1980 | function = "pwm_ao_a"; |
1981 | }; |
1982 | }; |
1983 | |
1984 | pwm_ao_a_hiz_pins: pwm_ao_a_hiz { |
1985 | mux { |
1986 | groups = "pwm_ao_a_hiz"; |
1987 | function = "pwm_ao_a"; |
1988 | }; |
1989 | }; |
1990 | |
1991 | pwm_ao_b_pins: pwm_ao_b { |
1992 | mux { |
1993 | groups = "pwm_ao_b"; |
1994 | function = "pwm_ao_b"; |
1995 | }; |
1996 | }; |
1997 | |
1998 | pwm_ao_c_pins1: pwm_ao_c_pins1 { |
1999 | mux { |
2000 | groups = "pwm_ao_c_4"; |
2001 | function = "pwm_ao_c"; |
2002 | }; |
2003 | }; |
2004 | |
2005 | pwm_ao_c_pins2: pwm_ao_c_pins2 { |
2006 | mux { |
2007 | groups = "pwm_ao_c_6"; |
2008 | function = "pwm_ao_c"; |
2009 | }; |
2010 | }; |
2011 | |
2012 | pwm_ao_c_hiz_pins: pwm_ao_c_hiz { |
2013 | mux { |
2014 | groups = "pwm_ao_c_hiz_4"; |
2015 | function = "pwm_ao_c"; |
2016 | }; |
2017 | }; |
2018 | |
2019 | pwm_ao_d_pins1: pwm_ao_d_pins1 { |
2020 | mux { |
2021 | groups = "pwm_ao_d_5"; |
2022 | function = "pwm_ao_d"; |
2023 | }; |
2024 | }; |
2025 | |
2026 | pwm_ao_d_pins2: pwm_ao_d_pins2 { |
2027 | mux { |
2028 | groups = "pwm_ao_d_10"; |
2029 | function = "pwm_ao_d"; |
2030 | }; |
2031 | }; |
2032 | |
2033 | pwm_ao_d_pins3: pwm_ao_d_pins3 { |
2034 | mux { |
2035 | groups = "pwm_ao_d_e"; |
2036 | function = "pwm_ao_d"; |
2037 | }; |
2038 | }; |
2039 | |
2040 | aocec_a: ao_ceca { |
2041 | mux { |
2042 | groups = "cec_ao_a"; |
2043 | function = "cec_ao"; |
2044 | }; |
2045 | }; |
2046 | |
2047 | aocec_b: ao_cecb { |
2048 | mux { |
2049 | groups = "cec_ao_b"; |
2050 | function = "cec_ao"; |
2051 | }; |
2052 | }; |
2053 | pwm_a_e2: pwm_a_e2 { |
2054 | mux { |
2055 | groups = "pwm_a_e2"; |
2056 | function = "pwm_a_gpioe"; |
2057 | }; |
2058 | }; |
2059 | |
2060 | jtag_apao_pins:jtag_apao_pin { |
2061 | mux { |
2062 | groups = "jtag_a_tdi", |
2063 | "jtag_a_tdo", |
2064 | "jtag_a_clk", |
2065 | "jtag_a_tms"; |
2066 | function = "jtag_a"; |
2067 | }; |
2068 | }; |
2069 | }; |
2070 | |
2071 | &pinctrl_periphs { |
2072 | /* sdemmc portC */ |
2073 | emmc_clk_cmd_pins:emmc_clk_cmd_pins { |
2074 | mux { |
2075 | groups = "emmc_clk", |
2076 | "emmc_cmd"; |
2077 | function = "emmc"; |
2078 | input-enable; |
2079 | bias-pull-up; |
2080 | drive-strength = <3>; |
2081 | }; |
2082 | }; |
2083 | |
2084 | emmc_conf_pull_up:emmc_conf_pull_up { |
2085 | mux { |
2086 | groups = "emmc_nand_d7", |
2087 | "emmc_nand_d6", |
2088 | "emmc_nand_d5", |
2089 | "emmc_nand_d4", |
2090 | "emmc_nand_d3", |
2091 | "emmc_nand_d2", |
2092 | "emmc_nand_d1", |
2093 | "emmc_nand_d0", |
2094 | "emmc_clk", |
2095 | "emmc_cmd"; |
2096 | function = "emmc"; |
2097 | input-enable; |
2098 | bias-pull-up; |
2099 | drive-strength = <3>; |
2100 | }; |
2101 | }; |
2102 | |
2103 | emmc_conf_pull_done:emmc_conf_pull_done { |
2104 | mux { |
2105 | groups = "emmc_nand_ds"; |
2106 | function = "emmc"; |
2107 | input-enable; |
2108 | bias-pull-down; |
2109 | drive-strength = <3>; |
2110 | }; |
2111 | }; |
2112 | |
2113 | /* sdemmc portB */ |
2114 | sd_clk_cmd_pins:sd_clk_cmd_pins { |
2115 | mux { |
2116 | groups = "sdcard_cmd_c", |
2117 | "sdcard_clk_c"; |
2118 | function = "sdcard"; |
2119 | input-enable; |
2120 | bias-pull-up; |
2121 | drive-strength = <3>; |
2122 | }; |
2123 | }; |
2124 | |
2125 | sd_all_pins:sd_all_pins { |
2126 | mux { |
2127 | groups = "sdcard_d0_c", |
2128 | "sdcard_d1_c", |
2129 | "sdcard_d2_c", |
2130 | "sdcard_d3_c", |
2131 | "sdcard_cmd_c", |
2132 | "sdcard_clk_c"; |
2133 | function = "sdcard"; |
2134 | input-enable; |
2135 | bias-pull-up; |
2136 | drive-strength = <3>; |
2137 | }; |
2138 | }; |
2139 | sd_1bit_pins:sd_1bit_pins { |
2140 | mux { |
2141 | groups = "sdcard_d0_c", |
2142 | "sdcard_cmd_c", |
2143 | "sdcard_clk_c"; |
2144 | function = "sdcard"; |
2145 | input-enable; |
2146 | bias-pull-up; |
2147 | drive-strength = <3>; |
2148 | }; |
2149 | }; |
2150 | |
2151 | ao_to_sd_uart_pins:ao_to_sd_uart_pins { |
2152 | mux { |
2153 | groups = "uart_ao_tx_a_c3", |
2154 | "uart_ao_rx_a_c2"; |
2155 | function = "uart_ao_a_ee"; |
2156 | bias-pull-up; |
2157 | input-enable; |
2158 | }; |
2159 | }; |
2160 | /* sdemmc portA */ |
2161 | sdio_clk_cmd_pins:sdio_clk_cmd_pins { |
2162 | mux { |
2163 | groups = "sdio_clk", |
2164 | "sdio_cmd"; |
2165 | function = "sdio"; |
2166 | input-enable; |
2167 | bias-pull-up; |
2168 | drive-strength = <3>; |
2169 | }; |
2170 | }; |
2171 | |
2172 | sdio_all_pins:sdio_all_pins { |
2173 | mux { |
2174 | groups = "sdio_d0", |
2175 | "sdio_d1", |
2176 | "sdio_d2", |
2177 | "sdio_d3", |
2178 | "sdio_clk", |
2179 | "sdio_cmd"; |
2180 | function = "sdio"; |
2181 | input-enable; |
2182 | bias-pull-up; |
2183 | drive-strength = <3>; |
2184 | }; |
2185 | }; |
2186 | all_nand_pins: all_nand_pins { |
2187 | mux { |
2188 | groups = "emmc_nand_d0", |
2189 | "emmc_nand_d1", |
2190 | "emmc_nand_d2", |
2191 | "emmc_nand_d3", |
2192 | "emmc_nand_d4", |
2193 | "emmc_nand_d5", |
2194 | "emmc_nand_d6", |
2195 | "emmc_nand_d7", |
2196 | "nand_ce0", |
2197 | "nand_ale", |
2198 | "nand_cle", |
2199 | "nand_wen_clk", |
2200 | "nand_ren_wr", |
2201 | "nand_rb0"; |
2202 | function = "nand"; |
2203 | input-enable; |
2204 | }; |
2205 | }; |
2206 | |
2207 | nand_cs_pins: nand_cs { |
2208 | mux { |
2209 | groups = "nand_ce0"; |
2210 | function = "nand"; |
2211 | }; |
2212 | }; |
2213 | |
2214 | i2c0_master_pins1:i2c0_pins1 { |
2215 | mux { |
2216 | groups = "i2c0_sda_c", |
2217 | "i2c0_sck_c"; |
2218 | function = "i2c0"; |
2219 | bias-pull-up; |
2220 | drive-strength = <2>; |
2221 | }; |
2222 | }; |
2223 | |
2224 | i2c0_master_pins2:i2c0_pins2 { |
2225 | mux { |
2226 | groups = "i2c0_sda_z0", |
2227 | "i2c0_sck_z1"; |
2228 | function = "i2c0"; |
2229 | bias-pull-up; |
2230 | drive-strength = <2>; |
2231 | }; |
2232 | }; |
2233 | |
2234 | i2c0_master_pins3:i2c0_pins3 { |
2235 | mux { |
2236 | groups = "i2c0_sda_z7", |
2237 | "i2c0_sck_z8"; |
2238 | function = "i2c0"; |
2239 | bias-pull-up; |
2240 | drive-strength = <2>; |
2241 | }; |
2242 | }; |
2243 | |
2244 | i2c1_master_pins1:i2c1_pins1 { |
2245 | mux { |
2246 | groups = "i2c1_sda_x", |
2247 | "i2c1_sck_x"; |
2248 | function = "i2c1"; |
2249 | bias-pull-up; |
2250 | drive-strength = <2>; |
2251 | }; |
2252 | }; |
2253 | |
2254 | i2c1_master_pins2:i2c1_pins2 { |
2255 | mux { |
2256 | groups = "i2c1_sda_h2", |
2257 | "i2c1_sck_h3"; |
2258 | function = "i2c1"; |
2259 | bias-pull-up; |
2260 | drive-strength = <2>; |
2261 | }; |
2262 | }; |
2263 | |
2264 | i2c1_master_pins3:i2c1_pins3 { |
2265 | mux { |
2266 | groups = "i2c1_sda_h6", |
2267 | "i2c1_sck_h7"; |
2268 | function = "i2c1"; |
2269 | bias-pull-up; |
2270 | drive-strength = <2>; |
2271 | }; |
2272 | }; |
2273 | |
2274 | i2c2_master_pins1:i2c2_pins1 { |
2275 | mux { |
2276 | groups = "i2c2_sda_x", |
2277 | "i2c2_sck_x"; |
2278 | function = "i2c2"; |
2279 | bias-pull-up; |
2280 | drive-strength = <2>; |
2281 | }; |
2282 | }; |
2283 | |
2284 | i2c2_master_pins2:i2c2_pins2 { |
2285 | mux { |
2286 | groups = "i2c2_sda_z", |
2287 | "i2c2_sck_z"; |
2288 | function = "i2c2"; |
2289 | bias-pull-up; |
2290 | drive-strength = <2>; |
2291 | }; |
2292 | }; |
2293 | |
2294 | i2c3_master_pins1:i2c3_pins1 { |
2295 | mux { |
2296 | groups = "i2c3_sda_h", |
2297 | "i2c3_sck_h"; |
2298 | function = "i2c3"; |
2299 | bias-pull-up; |
2300 | drive-strength = <2>; |
2301 | }; |
2302 | }; |
2303 | |
2304 | i2c3_master_pins2:i2c3_pins2 { |
2305 | mux { |
2306 | groups = "i2c3_sda_a", |
2307 | "i2c3_sck_a"; |
2308 | function = "i2c3"; |
2309 | bias-pull-up; |
2310 | drive-strength = <2>; |
2311 | }; |
2312 | }; |
2313 | |
2314 | pwm_a_pins: pwm_a { |
2315 | mux { |
2316 | groups = "pwm_a"; |
2317 | function = "pwm_a"; |
2318 | }; |
2319 | }; |
2320 | |
2321 | pwm_b_pins1: pwm_b_pins1 { |
2322 | mux { |
2323 | groups = "pwm_b_x7"; |
2324 | function = "pwm_b"; |
2325 | }; |
2326 | }; |
2327 | |
2328 | pwm_b_pins2: pwm_b_pins2 { |
2329 | mux { |
2330 | groups = "pwm_b_x19"; |
2331 | function = "pwm_b"; |
2332 | }; |
2333 | }; |
2334 | |
2335 | pwm_b_pins3: pwm_b_pins3 { |
2336 | mux { |
2337 | groups = "pwm_b_h"; |
2338 | function = "pwm_b"; |
2339 | }; |
2340 | }; |
2341 | |
2342 | pwm_b_pins4: pwm_b_pins4 { |
2343 | mux { |
2344 | groups = "pwm_b_z0"; |
2345 | function = "pwm_b"; |
2346 | }; |
2347 | }; |
2348 | |
2349 | pwm_b_pins5: pwm_b_pins5 { |
2350 | mux { |
2351 | groups = "pwm_b_z13"; |
2352 | function = "pwm_b"; |
2353 | }; |
2354 | }; |
2355 | |
2356 | pwm_c_pins1: pwm_c_pins1 { |
2357 | mux { |
2358 | groups = "pwm_c_c4"; |
2359 | function = "pwm_c"; |
2360 | }; |
2361 | }; |
2362 | |
2363 | pwm_c_pins2: pwm_c_pins2 { |
2364 | mux { |
2365 | groups = "pwm_c_x5"; |
2366 | function = "pwm_c"; |
2367 | }; |
2368 | }; |
2369 | |
2370 | pwm_c_pins3: pwm_c_pins3 { |
2371 | mux { |
2372 | groups = "pwm_c_x8"; |
2373 | function = "pwm_c"; |
2374 | }; |
2375 | }; |
2376 | |
2377 | pwm_c_pins4: pwm_c_pins4 { |
2378 | mux { |
2379 | groups = "pwm_c_z"; |
2380 | function = "pwm_c"; |
2381 | }; |
2382 | }; |
2383 | |
2384 | pwm_d_pins1: pwm_d_pins1 { |
2385 | mux { |
2386 | groups = "pwm_d_x3"; |
2387 | function = "pwm_d"; |
2388 | }; |
2389 | }; |
2390 | |
2391 | pwm_d_pins2: pwm_d_pins2 { |
2392 | mux { |
2393 | groups = "pwm_d_x6"; |
2394 | function = "pwm_d"; |
2395 | }; |
2396 | }; |
2397 | |
2398 | pwm_d_pins3: pwm_d_pins3 { |
2399 | mux { |
2400 | groups = "pwm_d_z"; |
2401 | function = "pwm_d"; |
2402 | }; |
2403 | }; |
2404 | |
2405 | pwm_d_pins4: pwm_d_pins4 { |
2406 | mux { |
2407 | groups = "pwm_d_a4"; |
2408 | function = "pwm_d"; |
2409 | }; |
2410 | }; |
2411 | |
2412 | pwm_e_pins: pwm_e { |
2413 | mux { |
2414 | groups = "pwm_e"; |
2415 | function = "pwm_e"; |
2416 | }; |
2417 | }; |
2418 | |
2419 | pwm_f_pins1: pwm_f_pins1 { |
2420 | mux { |
2421 | groups = "pwm_f_x"; |
2422 | function = "pwm_f"; |
2423 | }; |
2424 | }; |
2425 | |
2426 | pwm_f_pins2: pwm_f_pins2 { |
2427 | mux { |
2428 | groups = "pwm_f_h"; |
2429 | function = "pwm_f"; |
2430 | }; |
2431 | }; |
2432 | |
2433 | pwm_f_pins3: pwm_f_pins3 { |
2434 | mux { |
2435 | groups = "pwm_f_z"; |
2436 | function = "pwm_f"; |
2437 | }; |
2438 | }; |
2439 | |
2440 | pwm_f_pins4: pwm_f_pins4 { |
2441 | mux { |
2442 | groups = "pwm_f_a11"; |
2443 | function = "pwm_f"; |
2444 | }; |
2445 | }; |
2446 | |
2447 | spicc0_pins_x: spicc0_pins_x { |
2448 | mux { |
2449 | groups = "spi0_mosi_x", |
2450 | "spi0_miso_x", |
2451 | //"spi0_ss0_x", |
2452 | "spi0_clk_x"; |
2453 | function = "spi0"; |
2454 | drive-strength = <1>; |
2455 | }; |
2456 | }; |
2457 | |
2458 | spicc1_pins: spicc1_pins { |
2459 | mux { |
2460 | groups = "spi1_mosi", |
2461 | "spi1_miso", |
2462 | //"spi1_ss0", |
2463 | "spi1_clk"; |
2464 | function = "spi1"; |
2465 | drive-strength = <1>; |
2466 | }; |
2467 | }; |
2468 | |
2469 | a_uart_pins:a_uart { |
2470 | mux { |
2471 | groups = "uart_tx_a", |
2472 | "uart_rx_a", |
2473 | "uart_cts_a", |
2474 | "uart_rts_a"; |
2475 | function = "uart_a"; |
2476 | }; |
2477 | }; |
2478 | |
2479 | b_uart_pins:b_uart { |
2480 | mux { |
2481 | groups = "uart_tx_b", |
2482 | "uart_rx_b"; |
2483 | function = "uart_b"; |
2484 | }; |
2485 | }; |
2486 | |
2487 | c_uart_pins:c_uart { |
2488 | mux { |
2489 | groups = "uart_tx_c", |
2490 | "uart_rx_c"; |
2491 | function = "uart_c"; |
2492 | }; |
2493 | }; |
2494 | |
2495 | hdmitx_hpd: hdmitx_hpd { |
2496 | mux { |
2497 | groups = "hdmitx_hpd_in"; |
2498 | function = "hdmitx"; |
2499 | bias-disable; |
2500 | }; |
2501 | }; |
2502 | |
2503 | hdmitx_hpd_gpio: hdmitx_hpd_gpio { |
2504 | mux { |
2505 | groups = "GPIOH_1"; |
2506 | function = "gpio_periphs"; |
2507 | bias-disable; |
2508 | }; |
2509 | }; |
2510 | |
2511 | hdmitx_ddc: hdmitx_ddc { |
2512 | mux { |
2513 | groups = "hdmitx_sda", |
2514 | "hdmitx_sck"; |
2515 | function = "hdmitx"; |
2516 | bias-disable; |
2517 | }; |
2518 | }; |
2519 | |
2520 | eecec_a: ee_ceca { |
2521 | mux { |
2522 | groups = "cec_ao_a_ee"; |
2523 | function = "cec_ao_ee"; |
2524 | }; |
2525 | }; |
2526 | |
2527 | eecec_b: ee_cecb { |
2528 | mux { |
2529 | groups = "cec_ao_b_ee"; |
2530 | function = "cec_ao_ee"; |
2531 | }; |
2532 | }; |
2533 | |
2534 | internal_eth_pins: internal_eth_pins { |
2535 | mux { |
2536 | groups = "eth_link_led", |
2537 | "eth_act_led"; |
2538 | function = "eth"; |
2539 | }; |
2540 | }; |
2541 | |
2542 | external_eth_pins: external_eth_pins { |
2543 | mux { |
2544 | groups = "eth_mdio", |
2545 | "eth_mdc", |
2546 | "eth_rgmii_rx_clk", |
2547 | "eth_rx_dv", |
2548 | "eth_rxd0", |
2549 | "eth_rxd1", |
2550 | "eth_rxd2_rgmii", |
2551 | "eth_rxd3_rgmii", |
2552 | "eth_rgmii_tx_clk", |
2553 | "eth_txen", |
2554 | "eth_txd0", |
2555 | "eth_txd1", |
2556 | "eth_txd2_rgmii", |
2557 | "eth_txd3_rgmii"; |
2558 | function = "eth"; |
2559 | drive-strength = <3>; |
2560 | }; |
2561 | }; |
2562 | |
2563 | irblaster_pins2:irblaster_pins2 { |
2564 | mux { |
2565 | groups = "remote_out_h"; |
2566 | function = "remote_out"; |
2567 | }; |
2568 | }; |
2569 | |
2570 | irblaster_pins3:irblaster_pins3 { |
2571 | mux { |
2572 | groups = "remote_out_z"; |
2573 | function = "remote_out"; |
2574 | }; |
2575 | }; |
2576 | |
2577 | jtag_apee_pins:jtag_apee_pin { |
2578 | mux { |
2579 | groups = "jtag_b_tdi", |
2580 | "jtag_b_tdo", |
2581 | "jtag_b_clk", |
2582 | "jtag_b_tms"; |
2583 | function = "jtag_b"; |
2584 | }; |
2585 | }; |
2586 | }; |
2587 | |
2588 | &gpu{ |
2589 | system-coherency = <0>; |
2590 | tbl = <&dvfs285_cfg |
2591 | &dvfs400_cfg |
2592 | &dvfs500_cfg |
2593 | &dvfs666_cfg |
2594 | &dvfs800_cfg |
2595 | &dvfs800_cfg>; |
2596 | }; |
2597 | |
2598 | &pinctrl_aobus { |
2599 | sd_to_ao_uart_clr_pins:sd_to_ao_uart_clr_pins { |
2600 | mux { |
2601 | groups = "GPIOAO_0", |
2602 | "GPIOAO_1"; |
2603 | function = "gpio_aobus"; |
2604 | }; |
2605 | }; |
2606 | |
2607 | sd_to_ao_uart_pins:sd_to_ao_uart_pins { |
2608 | mux { |
2609 | groups = "uart_ao_tx_a", |
2610 | "uart_ao_rx_a"; |
2611 | function = "uart_ao_a"; |
2612 | bias-pull-up; |
2613 | input-enable; |
2614 | }; |
2615 | }; |
2616 | |
2617 | remote_pins:remote_pin { |
2618 | mux { |
2619 | groups = "remote_input_ao"; |
2620 | function = "remote_input_ao"; |
2621 | }; |
2622 | }; |
2623 | |
2624 | irblaster_pins:irblaster_pin { |
2625 | mux { |
2626 | groups = "remote_out_ao"; |
2627 | function = "remote_out_ao"; |
2628 | }; |
2629 | }; |
2630 | |
2631 | irblaster_pins1:irblaster_pin1 { |
2632 | mux { |
2633 | groups = "remote_out_ao9"; |
2634 | function = "remote_out_ao"; |
2635 | }; |
2636 | }; |
2637 | }; /* end of pinctrl_aobus */ |
2638 |