Merge branch 'for-5.11-null-console' into for-linus
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / mediatek / pumpkin-common.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2019 BayLibre, SAS.
4  * Author: Fabien Parent <fparent@baylibre.com>
5  */
6
7 #include <dt-bindings/gpio/gpio.h>
8
9 / {
10         aliases {
11                 serial0 = &uart0;
12                 ethernet0 = &ethernet;
13         };
14
15         chosen {
16                 stdout-path = "serial0:921600n8";
17         };
18
19         firmware {
20                 optee: optee@4fd00000 {
21                         compatible = "linaro,optee-tz";
22                         method = "smc";
23                 };
24         };
25
26         gpio-keys {
27                 compatible = "gpio-keys";
28                 input-name = "gpio-keys";
29                 pinctrl-names = "default";
30                 pinctrl-0 = <&gpio_keys_default>;
31
32                 volume-up {
33                         gpios = <&pio 42 GPIO_ACTIVE_LOW>;
34                         label = "volume_up";
35                         linux,code = <115>;
36                         wakeup-source;
37                         debounce-interval = <15>;
38                 };
39
40                 volume-down {
41                         gpios = <&pio 43 GPIO_ACTIVE_LOW>;
42                         label = "volume_down";
43                         linux,code = <114>;
44                         wakeup-source;
45                         debounce-interval = <15>;
46                 };
47         };
48 };
49
50 &i2c0 {
51         clock-div = <2>;
52         pinctrl-names = "default";
53         pinctrl-0 = <&i2c0_pins_a>;
54         status = "okay";
55
56         tca6416: gpio@20 {
57                 compatible = "ti,tca6416";
58                 reg = <0x20>;
59                 reset-gpios = <&pio 65 GPIO_ACTIVE_HIGH>;
60                 pinctrl-names = "default";
61                 pinctrl-0 = <&tca6416_pins>;
62
63                 gpio-controller;
64                 #gpio-cells = <2>;
65
66                 eint20_mux_sel0 {
67                         gpio-hog;
68                         gpios = <0 0>;
69                         input;
70                         line-name = "eint20_mux_sel0";
71                 };
72
73                 expcon_mux_sel1 {
74                         gpio-hog;
75                         gpios = <1 0>;
76                         input;
77                         line-name = "expcon_mux_sel1";
78                 };
79
80                 mrg_di_mux_sel2 {
81                         gpio-hog;
82                         gpios = <2 0>;
83                         input;
84                         line-name = "mrg_di_mux_sel2";
85                 };
86
87                 sd_sdio_mux_sel3 {
88                         gpio-hog;
89                         gpios = <3 0>;
90                         input;
91                         line-name = "sd_sdio_mux_sel3";
92                 };
93
94                 sd_sdio_mux_ctrl7 {
95                         gpio-hog;
96                         gpios = <7 0>;
97                         output-low;
98                         line-name = "sd_sdio_mux_ctrl7";
99                 };
100
101                 hw_id0 {
102                         gpio-hog;
103                         gpios = <8 0>;
104                         input;
105                         line-name = "hw_id0";
106                 };
107
108                 hw_id1 {
109                         gpio-hog;
110                         gpios = <9 0>;
111                         input;
112                         line-name = "hw_id1";
113                 };
114
115                 hw_id2 {
116                         gpio-hog;
117                         gpios = <10 0>;
118                         input;
119                         line-name = "hw_id2";
120                 };
121
122                 fg_int_n {
123                         gpio-hog;
124                         gpios = <11 0>;
125                         input;
126                         line-name = "fg_int_n";
127                 };
128
129                 usba_pwr_en {
130                         gpio-hog;
131                         gpios = <12 0>;
132                         output-high;
133                         line-name = "usba_pwr_en";
134                 };
135
136                 wifi_3v3_pg {
137                         gpio-hog;
138                         gpios = <13 0>;
139                         input;
140                         line-name = "wifi_3v3_pg";
141                 };
142
143                 cam_rst {
144                         gpio-hog;
145                         gpios = <14 0>;
146                         output-low;
147                         line-name = "cam_rst";
148                 };
149
150                 cam_pwdn {
151                         gpio-hog;
152                         gpios = <15 0>;
153                         output-low;
154                         line-name = "cam_pwdn";
155                 };
156         };
157 };
158
159 &i2c2 {
160         clock-div = <2>;
161         pinctrl-names = "default";
162         pinctrl-0 = <&i2c2_pins_a>;
163         status = "okay";
164 };
165
166 &uart0 {
167         status = "okay";
168 };
169
170 &ethernet {
171         pinctrl-names = "default";
172         pinctrl-0 = <&ethernet_pins_default>;
173         phy-handle = <&eth_phy>;
174         phy-mode = "rmii";
175         mac-address = [00 00 00 00 00 00];
176         status = "okay";
177
178         mdio {
179                 #address-cells = <1>;
180                 #size-cells = <0>;
181
182                 eth_phy: ethernet-phy@0 {
183                         reg = <0>;
184                 };
185         };
186 };
187
188 &usb0 {
189         status = "okay";
190         dr_mode = "peripheral";
191
192         usb_con: connector {
193                 compatible = "usb-c-connector";
194                 label = "USB-C";
195         };
196 };
197
198 &usb0_phy {
199         status = "okay";
200 };
201
202 &pio {
203         gpio_keys_default: gpiodefault {
204                 pins_cmd_dat {
205                         pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
206                                  <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
207                         bias-pull-up;
208                         input-enable;
209                 };
210         };
211
212         i2c0_pins_a: i2c0@0 {
213                 pins1 {
214                         pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
215                                  <MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
216                         bias-disable;
217                 };
218         };
219
220         i2c2_pins_a: i2c2@0 {
221                 pins1 {
222                         pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
223                                  <MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
224                         bias-disable;
225                 };
226         };
227
228         tca6416_pins: pinmux_tca6416_pins {
229                 gpio_mux_rst_n_pin {
230                         pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
231                         output-high;
232                 };
233
234                 gpio_mux_int_n_pin {
235                         pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
236                         input-enable;
237                         bias-pull-up;
238                 };
239         };
240
241         ethernet_pins_default: ethernet {
242                 pins_ethernet {
243                         pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>,
244                                  <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>,
245                                  <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>,
246                                  <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>,
247                                  <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>,
248                                  <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>,
249                                  <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>,
250                                  <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>,
251                                  <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>,
252                                  <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>;
253                 };
254         };
255 };