Merge tag 'docs-5.11-2' of git://git.lwn.net/linux
[linux-2.6-microblaze.git] / arch / arm / boot / dts / exynos4412-smdk4412.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung's Exynos4412 based SMDK board device tree source
4  *
5  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6  *              http://www.samsung.com
7  *
8  * Device tree source file for Samsung's SMDK4412 board which is based on
9  * Samsung's Exynos4412 SoC.
10  */
11
12 /dts-v1/;
13 #include "exynos4412.dtsi"
14 #include "exynos-mfc-reserved-memory.dtsi"
15
16 / {
17         model = "Samsung SMDK evaluation board based on Exynos4412";
18         compatible = "samsung,smdk4412", "samsung,exynos4412", "samsung,exynos4";
19
20         memory@40000000 {
21                 device_type = "memory";
22                 reg = <0x40000000 0x40000000>;
23         };
24
25         chosen {
26                 bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
27                 stdout-path = "serial1:115200n8";
28         };
29
30         fixed-rate-clocks {
31                 xxti {
32                         compatible = "samsung,clock-xxti";
33                         clock-frequency = <0>;
34                 };
35
36                 xusbxti {
37                         compatible = "samsung,clock-xusbxti";
38                         clock-frequency = <24000000>;
39                 };
40
41                 pmic_ap_clk: pmic-ap-clk {
42                         /* Workaround for missing clock on PMIC */
43                         compatible = "fixed-clock";
44                         #clock-cells = <0>;
45                         clock-frequency = <32768>;
46                 };
47         };
48 };
49
50 &cpu_thermal {
51         cooling-maps {
52                 cooling_map0: map0 {
53                         /* Corresponds to 800MHz at freq_table */
54                         cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
55                                          <&cpu2 7 7>, <&cpu3 7 7>;
56                 };
57                 cooling_map1: map1 {
58                         /* Corresponds to 200MHz at freq_table */
59                         cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
60                                          <&cpu2 13 13>, <&cpu3 13 13>;
61                 };
62         };
63 };
64
65 &keypad {
66         samsung,keypad-num-rows = <3>;
67         samsung,keypad-num-columns = <8>;
68         linux,keypad-no-autorepeat;
69         wakeup-source;
70         pinctrl-0 = <&keypad_rows &keypad_cols>;
71         pinctrl-names = "default";
72         status = "okay";
73
74         key-1 {
75                 keypad,row = <1>;
76                 keypad,column = <3>;
77                 linux,code = <2>;
78         };
79
80         key-2 {
81                 keypad,row = <1>;
82                 keypad,column = <4>;
83                 linux,code = <3>;
84         };
85
86         key-3 {
87                 keypad,row = <1>;
88                 keypad,column = <5>;
89                 linux,code = <4>;
90         };
91
92         key-4 {
93                 keypad,row = <1>;
94                 keypad,column = <6>;
95                 linux,code = <5>;
96         };
97
98         key-5 {
99                 keypad,row = <1>;
100                 keypad,column = <7>;
101                 linux,code = <6>;
102         };
103
104         key-A {
105                 keypad,row = <2>;
106                 keypad,column = <6>;
107                 linux,code = <30>;
108         };
109
110         key-B {
111                 keypad,row = <2>;
112                 keypad,column = <7>;
113                 linux,code = <48>;
114         };
115
116         key-C {
117                 keypad,row = <0>;
118                 keypad,column = <5>;
119                 linux,code = <46>;
120         };
121
122         key-D {
123                 keypad,row = <2>;
124                 keypad,column = <5>;
125                 linux,code = <32>;
126         };
127
128         key-E {
129                 keypad,row = <0>;
130                 keypad,column = <7>;
131                 linux,code = <18>;
132         };
133 };
134
135 &pinctrl_1 {
136         keypad_rows: keypad-rows {
137                 samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
138                 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
139                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
140                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
141         };
142
143         keypad_cols: keypad-cols {
144                 samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
145                                "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
146                 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
147                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
148                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
149         };
150 };
151
152 &rtc {
153         clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
154         clock-names = "rtc", "rtc_src";
155 };
156
157 &sdhci_2 {
158         bus-width = <4>;
159         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
160         pinctrl-names = "default";
161         status = "okay";
162 };
163
164 &serial_0 {
165         status = "okay";
166 };
167
168 &serial_1 {
169         status = "okay";
170 };
171
172 &serial_2 {
173         status = "okay";
174 };
175
176 &serial_3 {
177         status = "okay";
178 };