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 = <ð0_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}; 241