Merge tag 'mips_fixes_5.0_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips...
[sfrench/cifs-2.6.git] / arch / mips / boot / dts / ingenic / ci20.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3
4 #include "jz4780.dtsi"
5 #include <dt-bindings/gpio/gpio.h>
6
7 / {
8         compatible = "img,ci20", "ingenic,jz4780";
9
10         aliases {
11                 serial0 = &uart0;
12                 serial1 = &uart1;
13                 serial3 = &uart3;
14                 serial4 = &uart4;
15         };
16
17         chosen {
18                 stdout-path = &uart4;
19         };
20
21         memory {
22                 device_type = "memory";
23                 reg = <0x0 0x10000000
24                        0x30000000 0x30000000>;
25         };
26
27         eth0_power: fixedregulator@0 {
28                 compatible = "regulator-fixed";
29                 regulator-name = "eth0_power";
30                 gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
31                 enable-active-high;
32         };
33 };
34
35 &ext {
36         clock-frequency = <48000000>;
37 };
38
39 &mmc0 {
40         status = "okay";
41
42         bus-width = <4>;
43         max-frequency = <50000000>;
44
45         pinctrl-names = "default";
46         pinctrl-0 = <&pins_mmc0>;
47
48         cd-gpios = <&gpf 20 GPIO_ACTIVE_LOW>;
49 };
50
51 &mmc1 {
52         status = "okay";
53
54         bus-width = <4>;
55         max-frequency = <50000000>;
56
57         pinctrl-names = "default";
58         pinctrl-0 = <&pins_mmc1>;
59 };
60
61 &uart0 {
62         status = "okay";
63
64         pinctrl-names = "default";
65         pinctrl-0 = <&pins_uart0>;
66 };
67
68 &uart1 {
69         status = "okay";
70
71         pinctrl-names = "default";
72         pinctrl-0 = <&pins_uart1>;
73 };
74
75 &uart3 {
76         status = "okay";
77
78         pinctrl-names = "default";
79         pinctrl-0 = <&pins_uart3>;
80 };
81
82 &uart4 {
83         status = "okay";
84
85         pinctrl-names = "default";
86         pinctrl-0 = <&pins_uart4>;
87 };
88
89 &nemc {
90         status = "okay";
91
92         nandc: nand-controller@1 {
93                 compatible = "ingenic,jz4780-nand";
94                 reg = <1 0 0x1000000>;
95
96                 #address-cells = <1>;
97                 #size-cells = <0>;
98
99                 ingenic,bch-controller = <&bch>;
100
101                 ingenic,nemc-tAS = <10>;
102                 ingenic,nemc-tAH = <5>;
103                 ingenic,nemc-tBP = <10>;
104                 ingenic,nemc-tAW = <15>;
105                 ingenic,nemc-tSTRV = <100>;
106
107                 /*
108                  * Only CLE/ALE are needed for the devices that are connected, rather
109                  * than the full address line set.
110                  */
111                 pinctrl-names = "default";
112                 pinctrl-0 = <&pins_nemc>;
113
114                 nand@1 {
115                         reg = <1>;
116
117                         nand-ecc-step-size = <1024>;
118                         nand-ecc-strength = <24>;
119                         nand-ecc-mode = "hw";
120                         nand-on-flash-bbt;
121
122                         pinctrl-names = "default";
123                         pinctrl-0 = <&pins_nemc_cs1>;
124
125                         partitions {
126                                 compatible = "fixed-partitions";
127                                 #address-cells = <2>;
128                                 #size-cells = <2>;
129
130                                 partition@0 {
131                                         label = "u-boot-spl";
132                                         reg = <0x0 0x0 0x0 0x800000>;
133                                 };
134
135                                 partition@800000 {
136                                         label = "u-boot";
137                                         reg = <0x0 0x800000 0x0 0x200000>;
138                                 };
139
140                                 partition@a00000 {
141                                         label = "u-boot-env";
142                                         reg = <0x0 0xa00000 0x0 0x200000>;
143                                 };
144
145                                 partition@c00000 {
146                                         label = "boot";
147                                         reg = <0x0 0xc00000 0x0 0x4000000>;
148                                 };
149
150                                 partition@4c00000 {
151                                         label = "system";
152                                         reg = <0x0 0x4c00000 0x1 0xfb400000>;
153                                 };
154                         };
155                 };
156         };
157
158         dm9000@6 {
159                 compatible = "davicom,dm9000";
160                 davicom,no-eeprom;
161
162                 pinctrl-names = "default";
163                 pinctrl-0 = <&pins_nemc_cs6>;
164
165                 reg = <6 0 1   /* addr */
166                        6 2 1>; /* data */
167
168                 ingenic,nemc-tAS = <15>;
169                 ingenic,nemc-tAH = <10>;
170                 ingenic,nemc-tBP = <20>;
171                 ingenic,nemc-tAW = <50>;
172                 ingenic,nemc-tSTRV = <100>;
173
174                 reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
175                 vcc-supply = <&eth0_power>;
176
177                 interrupt-parent = <&gpe>;
178                 interrupts = <19 4>;
179         };
180 };
181
182 &bch {
183         status = "okay";
184 };
185
186 &pinctrl {
187         pins_uart0: uart0 {
188                 function = "uart0";
189                 groups = "uart0-data";
190                 bias-disable;
191         };
192
193         pins_uart1: uart1 {
194                 function = "uart1";
195                 groups = "uart1-data";
196                 bias-disable;
197         };
198
199         pins_uart3: uart3 {
200                 function = "uart3";
201                 groups = "uart3-data", "uart3-hwflow";
202                 bias-disable;
203         };
204
205         pins_uart4: uart4 {
206                 function = "uart4";
207                 groups = "uart4-data";
208                 bias-disable;
209         };
210
211         pins_nemc: nemc {
212                 function = "nemc";
213                 groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe";
214                 bias-disable;
215         };
216
217         pins_nemc_cs1: nemc-cs1 {
218                 function = "nemc-cs1";
219                 groups = "nemc-cs1";
220                 bias-disable;
221         };
222
223         pins_nemc_cs6: nemc-cs6 {
224                 function = "nemc-cs6";
225                 groups = "nemc-cs6";
226                 bias-disable;
227         };
228
229         pins_mmc0: mmc0 {
230                 function = "mmc0";
231                 groups = "mmc0-1bit-e", "mmc0-4bit-e";
232                 bias-disable;
233         };
234
235         pins_mmc1: mmc1 {
236                 function = "mmc1";
237                 groups = "mmc1-1bit-d", "mmc1-4bit-d";
238                 bias-disable;
239         };
240 };