1 // SPDX-License-Identifier: GPL-2.0
5 #include <dt-bindings/clock/ingenic,tcu.h>
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/interrupt-controller/irq.h>
8 #include <dt-bindings/regulator/active-semi,8865-regulator.h>
11 compatible = "img,ci20", "ingenic,jz4780";
25 device_type = "memory";
27 0x30000000 0x30000000>;
31 compatible = "gpio-leds";
34 label = "ci20:red:led0";
35 gpios = <&gpc 3 GPIO_ACTIVE_HIGH>;
36 linux,default-trigger = "none";
40 label = "ci20:red:led1";
41 gpios = <&gpc 2 GPIO_ACTIVE_HIGH>;
42 linux,default-trigger = "nand-disk";
46 label = "ci20:red:led2";
47 gpios = <&gpc 1 GPIO_ACTIVE_HIGH>;
48 linux,default-trigger = "cpu1";
52 label = "ci20:red:led3";
53 gpios = <&gpc 0 GPIO_ACTIVE_HIGH>;
54 linux,default-trigger = "cpu0";
58 eth0_power: fixedregulator@0 {
59 compatible = "regulator-fixed";
60 regulator-name = "eth0_power";
61 gpio = <&gpb 25 GPIO_ACTIVE_LOW>;
65 wlan0_power: fixedregulator@1 {
66 compatible = "regulator-fixed";
67 regulator-name = "wlan0_power";
68 gpio = <&gpb 19 GPIO_ACTIVE_LOW>;
74 clock-frequency = <48000000>;
81 max-frequency = <50000000>;
83 pinctrl-names = "default";
84 pinctrl-0 = <&pins_mmc0>;
86 cd-gpios = <&gpf 20 GPIO_ACTIVE_LOW>;
93 max-frequency = <50000000>;
96 pinctrl-names = "default";
97 pinctrl-0 = <&pins_mmc1>;
101 compatible = "brcm,bcm4330-fmac";
102 vcc-supply = <&wlan0_power>;
103 device-wakeup-gpios = <&gpd 9 GPIO_ACTIVE_HIGH>;
104 shutdown-gpios = <&gpf 7 GPIO_ACTIVE_LOW>;
111 pinctrl-names = "default";
112 pinctrl-0 = <&pins_uart0>;
118 pinctrl-names = "default";
119 pinctrl-0 = <&pins_uart1>;
125 pinctrl-names = "default";
126 pinctrl-0 = <&pins_uart2>;
130 compatible = "brcm,bcm4330-bt";
131 reset-gpios = <&gpf 8 GPIO_ACTIVE_HIGH>;
132 vcc-supply = <&wlan0_power>;
133 device-wakeup-gpios = <&gpf 5 GPIO_ACTIVE_HIGH>;
134 host-wakeup-gpios = <&gpf 6 GPIO_ACTIVE_HIGH>;
135 shutdown-gpios = <&gpf 4 GPIO_ACTIVE_LOW>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&pins_uart3>;
149 pinctrl-names = "default";
150 pinctrl-0 = <&pins_uart4>;
156 pinctrl-names = "default";
157 pinctrl-0 = <&pins_i2c0>;
159 clock-frequency = <400000>;
161 act8600: act8600@5a {
162 compatible = "active-semi,act8600";
168 regulator-name = "DCDC_REG1";
169 regulator-min-microvolt = <1100000>;
170 regulator-max-microvolt = <1100000>;
174 regulator-name = "DCDC_REG2";
175 regulator-min-microvolt = <1500000>;
176 regulator-max-microvolt = <1500000>;
180 regulator-name = "DCDC_REG3";
181 regulator-min-microvolt = <3300000>;
182 regulator-max-microvolt = <3300000>;
186 regulator-name = "SUDCDC_REG4";
187 regulator-min-microvolt = <5000000>;
188 regulator-max-microvolt = <5000000>;
192 regulator-name = "LDO_REG5";
193 regulator-min-microvolt = <2500000>;
194 regulator-max-microvolt = <2500000>;
198 regulator-name = "LDO_REG6";
199 regulator-min-microvolt = <2500000>;
200 regulator-max-microvolt = <2500000>;
204 regulator-name = "LDO_REG7";
205 regulator-min-microvolt = <2800000>;
206 regulator-max-microvolt = <2800000>;
210 regulator-name = "LDO_REG8";
211 regulator-min-microvolt = <1500000>;
212 regulator-max-microvolt = <1500000>;
216 regulator-name = "LDO_REG9";
217 /* Despite the datasheet stating 3.3V
218 * for REG9 and the driver expecting that,
220 * Likely the CI20 uses a proprietary
221 * factory programmed chip variant.
222 * Since this is a simple on/off LDO the
223 * exact values do not matter.
225 regulator-min-microvolt = <3300000>;
226 regulator-max-microvolt = <3300000>;
230 regulator-name = "LDO_REG10";
231 regulator-min-microvolt = <1200000>;
232 regulator-max-microvolt = <1200000>;
242 pinctrl-names = "default";
243 pinctrl-0 = <&pins_i2c1>;
250 pinctrl-names = "default";
251 pinctrl-0 = <&pins_i2c2>;
258 pinctrl-names = "default";
259 pinctrl-0 = <&pins_i2c3>;
266 pinctrl-names = "default";
267 pinctrl-0 = <&pins_i2c4>;
269 clock-frequency = <400000>;
272 compatible = "nxp,pcf8563";
275 interrupt-parent = <&gpf>;
276 interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
283 nandc: nand-controller@1 {
284 compatible = "ingenic,jz4780-nand";
285 reg = <1 0 0x1000000>;
287 #address-cells = <1>;
290 ingenic,bch-controller = <&bch>;
292 ingenic,nemc-tAS = <10>;
293 ingenic,nemc-tAH = <5>;
294 ingenic,nemc-tBP = <10>;
295 ingenic,nemc-tAW = <15>;
296 ingenic,nemc-tSTRV = <100>;
299 * Only CLE/ALE are needed for the devices that are connected, rather
300 * than the full address line set.
302 pinctrl-names = "default";
303 pinctrl-0 = <&pins_nemc>;
308 nand-ecc-step-size = <1024>;
309 nand-ecc-strength = <24>;
310 nand-ecc-mode = "hw";
313 pinctrl-names = "default";
314 pinctrl-0 = <&pins_nemc_cs1>;
317 compatible = "fixed-partitions";
318 #address-cells = <2>;
322 label = "u-boot-spl";
323 reg = <0x0 0x0 0x0 0x800000>;
328 reg = <0x0 0x800000 0x0 0x200000>;
332 label = "u-boot-env";
333 reg = <0x0 0xa00000 0x0 0x200000>;
338 reg = <0x0 0xc00000 0x0 0x4000000>;
343 reg = <0x0 0x4c00000 0x1 0xfb400000>;
350 compatible = "davicom,dm9000";
353 pinctrl-names = "default";
354 pinctrl-0 = <&pins_nemc_cs6>;
356 reg = <6 0 1 /* addr */
359 ingenic,nemc-tAS = <15>;
360 ingenic,nemc-tAH = <10>;
361 ingenic,nemc-tBP = <20>;
362 ingenic,nemc-tAW = <50>;
363 ingenic,nemc-tSTRV = <100>;
365 reset-gpios = <&gpf 12 GPIO_ACTIVE_HIGH>;
366 vcc-supply = <ð0_power>;
368 interrupt-parent = <&gpe>;
380 groups = "uart0-data";
386 groups = "uart1-data";
392 groups = "uart2-data", "uart2-hwflow";
398 groups = "uart3-data", "uart3-hwflow";
404 groups = "uart4-data";
410 groups = "i2c0-data";
416 groups = "i2c1-data";
422 groups = "i2c2-data";
428 groups = "i2c3-data";
434 groups = "i2c4-data-e";
440 groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe";
444 pins_nemc_cs1: nemc-cs1 {
445 function = "nemc-cs1";
450 pins_nemc_cs6: nemc-cs6 {
451 function = "nemc-cs6";
458 groups = "mmc0-1bit-e", "mmc0-4bit-e";
464 groups = "mmc1-1bit-d", "mmc1-4bit-d";
470 /* 3 MHz for the system timer and clocksource */
471 assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
472 assigned-clock-rates = <3000000>, <3000000>;