arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / arch / arm64 / boot / dts / mediatek / mt8183-pumpkin.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2021 BayLibre, SAS.
4  * Author: Fabien Parent <fparent@baylibre.com>
5  */
6
7 /dts-v1/;
8
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/input/input.h>
11 #include "mt8183.dtsi"
12 #include "mt6358.dtsi"
13
14 / {
15         model = "Pumpkin MT8183";
16         compatible = "mediatek,mt8183-pumpkin", "mediatek,mt8183";
17
18         aliases {
19                 serial0 = &uart0;
20         };
21
22         memory@40000000 {
23                 device_type = "memory";
24                 reg = <0 0x40000000 0 0x80000000>;
25         };
26
27         chosen {
28                 stdout-path = "serial0:921600n8";
29         };
30
31         reserved-memory {
32                 #address-cells = <2>;
33                 #size-cells = <2>;
34                 ranges;
35
36                 scp_mem_reserved: scp_mem_region@50000000 {
37                         compatible = "shared-dma-pool";
38                         reg = <0 0x50000000 0 0x2900000>;
39                         no-map;
40                 };
41         };
42
43         leds {
44                 compatible = "gpio-leds";
45
46                 led-red {
47                         label = "red";
48                         gpios = <&pio 155 GPIO_ACTIVE_HIGH>;
49                         default-state = "off";
50                 };
51
52                 led-green {
53                         label = "green";
54                         gpios = <&pio 156 GPIO_ACTIVE_HIGH>;
55                         default-state = "off";
56                 };
57         };
58
59         thermistor {
60                 compatible = "murata,ncp03wf104";
61                 pullup-uv = <1800000>;
62                 pullup-ohm = <390000>;
63                 pulldown-ohm = <0>;
64                 io-channels = <&auxadc 0>;
65         };
66 };
67
68 &auxadc {
69         status = "okay";
70 };
71
72 &gpu {
73         mali-supply = <&mt6358_vgpu_reg>;
74 };
75
76 &i2c0 {
77         pinctrl-names = "default";
78         pinctrl-0 = <&i2c_pins_0>;
79         status = "okay";
80         clock-frequency = <100000>;
81 };
82
83 &i2c1 {
84         pinctrl-names = "default";
85         pinctrl-0 = <&i2c_pins_1>;
86         status = "okay";
87         clock-frequency = <100000>;
88 };
89
90 &i2c2 {
91         pinctrl-names = "default";
92         pinctrl-0 = <&i2c_pins_2>;
93         status = "okay";
94         clock-frequency = <100000>;
95 };
96
97 &i2c3 {
98         pinctrl-names = "default";
99         pinctrl-0 = <&i2c_pins_3>;
100         status = "okay";
101         clock-frequency = <100000>;
102 };
103
104 &i2c4 {
105         pinctrl-names = "default";
106         pinctrl-0 = <&i2c_pins_4>;
107         status = "okay";
108         clock-frequency = <100000>;
109 };
110
111 &i2c5 {
112         pinctrl-names = "default";
113         pinctrl-0 = <&i2c_pins_5>;
114         status = "okay";
115         clock-frequency = <100000>;
116 };
117
118 &i2c6 {
119         pinctrl-names = "default";
120         pinctrl-0 = <&i2c6_pins>;
121         status = "okay";
122         clock-frequency = <100000>;
123 };
124
125 &keyboard {
126         pinctrl-names = "default";
127         pinctrl-0 = <&keyboard_pins>;
128         status = "okay";
129         linux,keymap = <MATRIX_KEY(0x00, 0x00, KEY_VOLUMEDOWN)
130                         MATRIX_KEY(0x01, 0x00, KEY_VOLUMEUP)>;
131         keypad,num-rows = <2>;
132         keypad,num-columns = <1>;
133         debounce-delay-ms = <32>;
134         mediatek,keys-per-group = <2>;
135 };
136
137 &mmc0 {
138         status = "okay";
139         pinctrl-names = "default", "state_uhs";
140         pinctrl-0 = <&mmc0_pins_default>;
141         pinctrl-1 = <&mmc0_pins_uhs>;
142         bus-width = <8>;
143         max-frequency = <200000000>;
144         cap-mmc-highspeed;
145         mmc-hs200-1_8v;
146         mmc-hs400-1_8v;
147         cap-mmc-hw-reset;
148         no-sdio;
149         no-sd;
150         hs400-ds-delay = <0x12814>;
151         vmmc-supply = <&mt6358_vemc_reg>;
152         vqmmc-supply = <&mt6358_vio18_reg>;
153         assigned-clocks = <&topckgen CLK_TOP_MUX_MSDC50_0>;
154         assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_CK>;
155         non-removable;
156 };
157
158 &mmc1 {
159         status = "okay";
160         pinctrl-names = "default", "state_uhs";
161         pinctrl-0 = <&mmc1_pins_default>;
162         pinctrl-1 = <&mmc1_pins_uhs>;
163         bus-width = <4>;
164         max-frequency = <200000000>;
165         cap-sd-highspeed;
166         sd-uhs-sdr50;
167         sd-uhs-sdr104;
168         cap-sdio-irq;
169         no-mmc;
170         no-sd;
171         vmmc-supply = <&mt6358_vmch_reg>;
172         vqmmc-supply = <&mt6358_vmc_reg>;
173         keep-power-in-suspend;
174         wakeup-source;
175         non-removable;
176 };
177
178 &mt6358_vgpu_reg {
179         regulator-min-microvolt = <625000>;
180         regulator-max-microvolt = <900000>;
181
182         regulator-coupled-with = <&mt6358_vsram_gpu_reg>;
183         regulator-coupled-max-spread = <100000>;
184 };
185
186 &mt6358_vsram_gpu_reg {
187         regulator-min-microvolt = <850000>;
188         regulator-max-microvolt = <1000000>;
189
190         regulator-coupled-with = <&mt6358_vgpu_reg>;
191         regulator-coupled-max-spread = <100000>;
192 };
193
194 &pio {
195         i2c_pins_0: i2c0 {
196                 pins_i2c {
197                         pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
198                                  <PINMUX_GPIO83__FUNC_SCL0>;
199                         mediatek,pull-up-adv = <3>;
200                         mediatek,drive-strength-adv = <00>;
201                 };
202         };
203
204         i2c_pins_1: i2c1 {
205                 pins_i2c {
206                         pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
207                                  <PINMUX_GPIO84__FUNC_SCL1>;
208                         mediatek,pull-up-adv = <3>;
209                         mediatek,drive-strength-adv = <00>;
210                 };
211         };
212
213         i2c_pins_2: i2c2 {
214                 pins_i2c {
215                         pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
216                                  <PINMUX_GPIO104__FUNC_SDA2>;
217                         mediatek,pull-up-adv = <3>;
218                         mediatek,drive-strength-adv = <00>;
219                 };
220         };
221
222         i2c_pins_3: i2c3 {
223                 pins_i2c {
224                         pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
225                                  <PINMUX_GPIO51__FUNC_SDA3>;
226                         mediatek,pull-up-adv = <3>;
227                         mediatek,drive-strength-adv = <00>;
228                 };
229         };
230
231         i2c_pins_4: i2c4 {
232                 pins_i2c {
233                         pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
234                                  <PINMUX_GPIO106__FUNC_SDA4>;
235                         mediatek,pull-up-adv = <3>;
236                         mediatek,drive-strength-adv = <00>;
237                 };
238         };
239
240         i2c_pins_5: i2c5 {
241                 pins_i2c {
242                         pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
243                                  <PINMUX_GPIO49__FUNC_SDA5>;
244                         mediatek,pull-up-adv = <3>;
245                         mediatek,drive-strength-adv = <00>;
246                 };
247         };
248
249         i2c6_pins: i2c6 {
250                 pins_cmd_dat {
251                         pinmux = <PINMUX_GPIO113__FUNC_SCL6>,
252                                  <PINMUX_GPIO114__FUNC_SDA6>;
253                         mediatek,pull-up-adv = <3>;
254                 };
255         };
256
257         keyboard_pins: keyboard {
258                 pins_keyboard {
259                         pinmux = <PINMUX_GPIO91__FUNC_KPROW1>,
260                                  <PINMUX_GPIO92__FUNC_KPROW0>,
261                                  <PINMUX_GPIO93__FUNC_KPCOL0>;
262                 };
263         };
264
265         mmc0_pins_default: mmc0-pins-default {
266                 pins_cmd_dat {
267                         pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
268                                  <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
269                                  <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
270                                  <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
271                                  <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
272                                  <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
273                                  <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
274                                  <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
275                                  <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
276                         input-enable;
277                         drive-strength = <MTK_DRIVE_14mA>;
278                         mediatek,pull-up-adv = <01>;
279                 };
280
281                 pins_clk {
282                         pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
283                         drive-strength = <MTK_DRIVE_14mA>;
284                         mediatek,pull-down-adv = <10>;
285                 };
286
287                 pins_rst {
288                         pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
289                         drive-strength = <MTK_DRIVE_14mA>;
290                         mediatek,pull-down-adv = <01>;
291                 };
292         };
293
294         mmc0_pins_uhs: mmc0-pins-uhs {
295                 pins_cmd_dat {
296                         pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
297                                  <PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
298                                  <PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
299                                  <PINMUX_GPIO132__FUNC_MSDC0_DAT3>,
300                                  <PINMUX_GPIO126__FUNC_MSDC0_DAT4>,
301                                  <PINMUX_GPIO129__FUNC_MSDC0_DAT5>,
302                                  <PINMUX_GPIO127__FUNC_MSDC0_DAT6>,
303                                  <PINMUX_GPIO130__FUNC_MSDC0_DAT7>,
304                                  <PINMUX_GPIO122__FUNC_MSDC0_CMD>;
305                         input-enable;
306                         drive-strength = <MTK_DRIVE_14mA>;
307                         mediatek,pull-up-adv = <01>;
308                 };
309
310                 pins_clk {
311                         pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
312                         drive-strength = <MTK_DRIVE_14mA>;
313                         mediatek,pull-down-adv = <10>;
314                 };
315
316                 pins_ds {
317                         pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
318                         drive-strength = <MTK_DRIVE_14mA>;
319                         mediatek,pull-down-adv = <10>;
320                 };
321
322                 pins_rst {
323                         pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
324                         drive-strength = <MTK_DRIVE_14mA>;
325                         mediatek,pull-up-adv = <01>;
326                 };
327         };
328
329         mmc1_pins_default: mmc1-pins-default {
330                 pins_cmd_dat {
331                         pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
332                                  <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
333                                  <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
334                                  <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
335                                  <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
336                         input-enable;
337                         mediatek,pull-up-adv = <10>;
338                 };
339
340                 pins_clk {
341                         pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
342                         input-enable;
343                         mediatek,pull-down-adv = <10>;
344                 };
345
346                 pins_pmu {
347                         pinmux = <PINMUX_GPIO178__FUNC_GPIO178>;
348                         output-high;
349                 };
350         };
351
352         mmc1_pins_uhs: mmc1-pins-uhs {
353                 pins_cmd_dat {
354                         pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
355                                  <PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
356                                  <PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
357                                  <PINMUX_GPIO33__FUNC_MSDC1_DAT2>,
358                                  <PINMUX_GPIO30__FUNC_MSDC1_DAT3>;
359                         drive-strength = <MTK_DRIVE_6mA>;
360                         input-enable;
361                         mediatek,pull-up-adv = <10>;
362                 };
363
364                 pins_clk {
365                         pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
366                         drive-strength = <MTK_DRIVE_8mA>;
367                         mediatek,pull-down-adv = <10>;
368                         input-enable;
369                 };
370         };
371 };
372
373 &mfg {
374         domain-supply = <&mt6358_vgpu_reg>;
375 };
376
377 &cpu0 {
378         proc-supply = <&mt6358_vproc12_reg>;
379 };
380
381 &cpu1 {
382         proc-supply = <&mt6358_vproc12_reg>;
383 };
384
385 &cpu2 {
386         proc-supply = <&mt6358_vproc12_reg>;
387 };
388
389 &cpu3 {
390         proc-supply = <&mt6358_vproc12_reg>;
391 };
392
393 &cpu4 {
394         proc-supply = <&mt6358_vproc11_reg>;
395 };
396
397 &cpu5 {
398         proc-supply = <&mt6358_vproc11_reg>;
399 };
400
401 &cpu6 {
402         proc-supply = <&mt6358_vproc11_reg>;
403 };
404
405 &cpu7 {
406         proc-supply = <&mt6358_vproc11_reg>;
407 };
408
409 &uart0 {
410         status = "okay";
411 };
412
413 &scp {
414         status = "okay";
415 };
416
417 &dsi0 {
418         status = "disabled";
419 };