1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 2 /dts-v1/; 3 3 4 #include "jz4780.dtsi" 4 #include "jz4780.dtsi" 5 #include <dt-bindings/clock/ingenic,tcu.h> 5 #include <dt-bindings/clock/ingenic,tcu.h> 6 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/input/input.h> 7 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/interrupt-controller/irq 8 #include <dt-bindings/interrupt-controller/irq.h> 9 #include <dt-bindings/regulator/active-semi,88 9 #include <dt-bindings/regulator/active-semi,8865-regulator.h> 10 10 11 / { 11 / { 12 compatible = "img,ci20", "ingenic,jz47 12 compatible = "img,ci20", "ingenic,jz4780"; 13 13 14 aliases { 14 aliases { 15 serial0 = &uart0; 15 serial0 = &uart0; 16 serial1 = &uart1; 16 serial1 = &uart1; 17 serial3 = &uart3; 17 serial3 = &uart3; 18 serial4 = &uart4; 18 serial4 = &uart4; 19 }; 19 }; 20 20 21 chosen { 21 chosen { 22 stdout-path = &uart4; 22 stdout-path = &uart4; 23 }; 23 }; 24 24 25 memory { 25 memory { 26 device_type = "memory"; 26 device_type = "memory"; 27 reg = <0x0 0x10000000 27 reg = <0x0 0x10000000 28 0x30000000 0x30000000>; 28 0x30000000 0x30000000>; 29 }; 29 }; 30 30 31 gpio-keys { 31 gpio-keys { 32 compatible = "gpio-keys"; 32 compatible = "gpio-keys"; 33 33 34 switch { 34 switch { 35 label = "ci20:sw1"; 35 label = "ci20:sw1"; 36 linux,code = <KEY_F13> 36 linux,code = <KEY_F13>; 37 gpios = <&gpd 17 GPIO_ 37 gpios = <&gpd 17 GPIO_ACTIVE_HIGH>; 38 wakeup-source; 38 wakeup-source; 39 }; 39 }; 40 }; 40 }; 41 41 42 leds { 42 leds { 43 compatible = "gpio-leds"; 43 compatible = "gpio-leds"; 44 44 45 led-0 { 45 led-0 { 46 label = "ci20:red:led0 46 label = "ci20:red:led0"; 47 gpios = <&gpc 3 GPIO_A 47 gpios = <&gpc 3 GPIO_ACTIVE_HIGH>; 48 linux,default-trigger 48 linux,default-trigger = "none"; 49 }; 49 }; 50 50 51 led-1 { 51 led-1 { 52 label = "ci20:red:led1 52 label = "ci20:red:led1"; 53 gpios = <&gpc 2 GPIO_A 53 gpios = <&gpc 2 GPIO_ACTIVE_HIGH>; 54 linux,default-trigger 54 linux,default-trigger = "nand-disk"; 55 }; 55 }; 56 56 57 led-2 { 57 led-2 { 58 label = "ci20:red:led2 58 label = "ci20:red:led2"; 59 gpios = <&gpc 1 GPIO_A 59 gpios = <&gpc 1 GPIO_ACTIVE_HIGH>; 60 linux,default-trigger 60 linux,default-trigger = "cpu1"; 61 }; 61 }; 62 62 63 led-3 { 63 led-3 { 64 label = "ci20:red:led3 64 label = "ci20:red:led3"; 65 gpios = <&gpc 0 GPIO_A 65 gpios = <&gpc 0 GPIO_ACTIVE_HIGH>; 66 linux,default-trigger 66 linux,default-trigger = "cpu0"; 67 }; 67 }; 68 }; 68 }; 69 69 70 eth0_power: fixedregulator-0 { 70 eth0_power: fixedregulator-0 { 71 compatible = "regulator-fixed" 71 compatible = "regulator-fixed"; 72 72 73 regulator-name = "eth0_power"; 73 regulator-name = "eth0_power"; 74 regulator-min-microvolt = <330 74 regulator-min-microvolt = <3300000>; 75 regulator-max-microvolt = <330 75 regulator-max-microvolt = <3300000>; 76 76 77 gpio = <&gpb 25 0>; 77 gpio = <&gpb 25 0>; 78 enable-active-high; 78 enable-active-high; 79 }; 79 }; 80 80 81 hdmi_out: connector { 81 hdmi_out: connector { 82 compatible = "hdmi-connector"; 82 compatible = "hdmi-connector"; 83 label = "HDMI OUT"; 83 label = "HDMI OUT"; 84 type = "a"; 84 type = "a"; 85 85 86 ddc-en-gpios = <&gpa 25 GPIO_A 86 ddc-en-gpios = <&gpa 25 GPIO_ACTIVE_HIGH>; 87 87 88 port { 88 port { 89 hdmi_con: endpoint { 89 hdmi_con: endpoint { 90 remote-endpoin 90 remote-endpoint = <&dw_hdmi_out>; 91 }; 91 }; 92 }; 92 }; 93 }; 93 }; 94 94 95 ir: ir { 95 ir: ir { 96 compatible = "gpio-ir-receiver 96 compatible = "gpio-ir-receiver"; 97 gpios = <&gpe 3 GPIO_ACTIVE_LO 97 gpios = <&gpe 3 GPIO_ACTIVE_LOW>; 98 }; 98 }; 99 99 100 bt_power: fixedregulator-1 { 100 bt_power: fixedregulator-1 { 101 compatible = "regulator-fixed" 101 compatible = "regulator-fixed"; 102 102 103 regulator-name = "bt_power"; 103 regulator-name = "bt_power"; 104 regulator-min-microvolt = <330 104 regulator-min-microvolt = <3300000>; 105 regulator-max-microvolt = <330 105 regulator-max-microvolt = <3300000>; 106 regulator-settling-time-us = < 106 regulator-settling-time-us = <1400>; 107 107 108 vin-supply = <&vcc_50>; 108 vin-supply = <&vcc_50>; 109 109 110 gpio = <&gpb 19 0>; 110 gpio = <&gpb 19 0>; 111 enable-active-high; 111 enable-active-high; 112 }; 112 }; 113 113 114 otg_power: fixedregulator-2 { 114 otg_power: fixedregulator-2 { 115 compatible = "regulator-fixed" 115 compatible = "regulator-fixed"; 116 116 117 regulator-name = "otg_power"; 117 regulator-name = "otg_power"; 118 regulator-min-microvolt = <500 118 regulator-min-microvolt = <5000000>; 119 regulator-max-microvolt = <500 119 regulator-max-microvolt = <5000000>; 120 120 121 gpio = <&gpf 15 0>; 121 gpio = <&gpf 15 0>; 122 enable-active-high; 122 enable-active-high; 123 }; 123 }; 124 124 125 wifi_power: fixedregulator-4 { 125 wifi_power: fixedregulator-4 { 126 compatible = "regulator-fixed" 126 compatible = "regulator-fixed"; 127 127 128 regulator-name = "wifi_power"; 128 regulator-name = "wifi_power"; 129 129 130 /* 130 /* 131 * Technically it's 5V, the Wi 131 * Technically it's 5V, the WiFi chip has its own internal 132 * regulators; but the MMC/SD 132 * regulators; but the MMC/SD subsystem won't accept such a 133 * value. 133 * value. 134 */ 134 */ 135 regulator-min-microvolt = <330 135 regulator-min-microvolt = <3300000>; 136 regulator-max-microvolt = <330 136 regulator-max-microvolt = <3300000>; 137 regulator-settling-time-us = < 137 regulator-settling-time-us = <150000>; 138 138 139 vin-supply = <&bt_power>; 139 vin-supply = <&bt_power>; 140 }; 140 }; 141 141 142 vcc_33v: fixedregulator-5 { 142 vcc_33v: fixedregulator-5 { 143 compatible = "regulator-fixed" 143 compatible = "regulator-fixed"; 144 144 145 regulator-name = "vcc_33v"; 145 regulator-name = "vcc_33v"; 146 regulator-min-microvolt = <330 146 regulator-min-microvolt = <3300000>; 147 regulator-max-microvolt = <330 147 regulator-max-microvolt = <3300000>; 148 regulator-always-on; 148 regulator-always-on; 149 }; 149 }; 150 150 151 wifi_pwrseq: pwrseq { 151 wifi_pwrseq: pwrseq { 152 compatible = "mmc-pwrseq-simpl 152 compatible = "mmc-pwrseq-simple"; 153 reset-gpios = <&gpf 7 GPIO_ACT 153 reset-gpios = <&gpf 7 GPIO_ACTIVE_LOW>; 154 154 155 clocks = <&rtc_dev>; 155 clocks = <&rtc_dev>; 156 clock-names = "ext_clock"; 156 clock-names = "ext_clock"; 157 }; 157 }; 158 }; 158 }; 159 159 160 &ext { 160 &ext { 161 clock-frequency = <48000000>; 161 clock-frequency = <48000000>; 162 }; 162 }; 163 163 164 &cgu { 164 &cgu { 165 /* 165 /* 166 * Use the 32.768 kHz oscillator as th 166 * Use the 32.768 kHz oscillator as the parent of the RTC for a higher 167 * precision. 167 * precision. 168 */ 168 */ 169 assigned-clocks = <&cgu JZ4780_CLK_OTG 169 assigned-clocks = <&cgu JZ4780_CLK_OTGPHY>, <&cgu JZ4780_CLK_RTC>, 170 <&cgu JZ4780_CLK_SSI 170 <&cgu JZ4780_CLK_SSIPLL>, <&cgu JZ4780_CLK_SSI>, 171 <&cgu JZ4780_CLK_HDM 171 <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_MSCMUX>; 172 assigned-clock-parents = <0>, <&cgu JZ 172 assigned-clock-parents = <0>, <&cgu JZ4780_CLK_RTCLK>, 173 <&cgu JZ4780_ 173 <&cgu JZ4780_CLK_MPLL>, 174 <&cgu JZ4780_ 174 <&cgu JZ4780_CLK_SSIPLL>, 175 <0>, <&cgu JZ 175 <0>, <&cgu JZ4780_CLK_MPLL>; 176 assigned-clock-rates = <48000000>, <0> 176 assigned-clock-rates = <48000000>, <0>, <54000000>, <0>, <27000000>; 177 }; 177 }; 178 178 179 &tcu { 179 &tcu { 180 /* 180 /* 181 * 750 kHz for the system timers and c 181 * 750 kHz for the system timers and clocksource, 182 * use channel #0 and #1 for the per c 182 * use channel #0 and #1 for the per cpu system timers, 183 * and use channel #2 for the clocksou 183 * and use channel #2 for the clocksource. 184 * 184 * 185 * 3000 kHz for the OST timer to provi 185 * 3000 kHz for the OST timer to provide a higher 186 * precision clocksource. 186 * precision clocksource. 187 */ 187 */ 188 assigned-clocks = <&tcu TCU_CLK_TIMER0 188 assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>, 189 <&tc 189 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_OST>; 190 assigned-clock-rates = <750000>, <7500 190 assigned-clock-rates = <750000>, <750000>, <750000>, <3000000>; 191 }; 191 }; 192 192 193 &mmc0 { 193 &mmc0 { 194 status = "okay"; 194 status = "okay"; 195 195 196 bus-width = <4>; 196 bus-width = <4>; 197 max-frequency = <50000000>; 197 max-frequency = <50000000>; 198 198 199 pinctrl-names = "default"; 199 pinctrl-names = "default"; 200 pinctrl-0 = <&pins_mmc0>; 200 pinctrl-0 = <&pins_mmc0>; 201 201 202 cd-gpios = <&gpf 20 GPIO_ACTIVE_LOW>; 202 cd-gpios = <&gpf 20 GPIO_ACTIVE_LOW>; 203 vmmc-supply = <&vcc_33v>; 203 vmmc-supply = <&vcc_33v>; 204 vqmmc-supply = <&vcc_33v>; 204 vqmmc-supply = <&vcc_33v>; 205 }; 205 }; 206 206 207 &mmc1 { 207 &mmc1 { 208 status = "okay"; 208 status = "okay"; 209 209 210 bus-width = <4>; 210 bus-width = <4>; 211 max-frequency = <25000000>; 211 max-frequency = <25000000>; 212 mmc-pwrseq = <&wifi_pwrseq>; 212 mmc-pwrseq = <&wifi_pwrseq>; 213 vmmc-supply = <&wifi_power>; 213 vmmc-supply = <&wifi_power>; 214 vqmmc-supply = <&wifi_io>; 214 vqmmc-supply = <&wifi_io>; 215 non-removable; 215 non-removable; 216 216 217 pinctrl-names = "default"; 217 pinctrl-names = "default"; 218 pinctrl-0 = <&pins_mmc1>; 218 pinctrl-0 = <&pins_mmc1>; 219 219 220 #address-cells = <1>; 220 #address-cells = <1>; 221 #size-cells = <0>; 221 #size-cells = <0>; 222 222 223 wifi@1 { 223 wifi@1 { 224 compatible = "brcm,bcm4329-fma 224 compatible = "brcm,bcm4329-fmac"; 225 reg = <1>; 225 reg = <1>; 226 226 227 interrupt-parent = <&gpd>; 227 interrupt-parent = <&gpd>; 228 interrupts = <9 IRQ_TYPE_EDGE_ 228 interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 229 interrupt-names = "host-wake"; 229 interrupt-names = "host-wake"; 230 }; 230 }; 231 }; 231 }; 232 232 233 &uart0 { 233 &uart0 { 234 status = "okay"; 234 status = "okay"; 235 235 236 pinctrl-names = "default"; 236 pinctrl-names = "default"; 237 pinctrl-0 = <&pins_uart0>; 237 pinctrl-0 = <&pins_uart0>; 238 }; 238 }; 239 239 240 &uart1 { 240 &uart1 { 241 status = "okay"; 241 status = "okay"; 242 242 243 pinctrl-names = "default"; 243 pinctrl-names = "default"; 244 pinctrl-0 = <&pins_uart1>; 244 pinctrl-0 = <&pins_uart1>; 245 }; 245 }; 246 246 247 &uart2 { 247 &uart2 { 248 status = "okay"; 248 status = "okay"; 249 249 250 pinctrl-names = "default"; 250 pinctrl-names = "default"; 251 pinctrl-0 = <&pins_uart2>; 251 pinctrl-0 = <&pins_uart2>; 252 uart-has-rtscts; 252 uart-has-rtscts; 253 253 254 bluetooth { 254 bluetooth { 255 compatible = "brcm,bcm4330-bt" 255 compatible = "brcm,bcm4330-bt"; 256 256 257 vbat-supply = <&bt_power>; 257 vbat-supply = <&bt_power>; 258 vddio-supply = <&wifi_io>; 258 vddio-supply = <&wifi_io>; 259 259 260 interrupt-parent = <&gpf>; 260 interrupt-parent = <&gpf>; 261 interrupts = <6 IRQ_TYPE_EDGE_ 261 interrupts = <6 IRQ_TYPE_EDGE_RISING>; 262 interrupt-names = "host-wakeup 262 interrupt-names = "host-wakeup"; 263 263 264 clocks = <&rtc_dev>; 264 clocks = <&rtc_dev>; 265 clock-names = "lpo"; 265 clock-names = "lpo"; 266 266 267 reset-gpios = <&gpf 8 GPIO_ACT 267 reset-gpios = <&gpf 8 GPIO_ACTIVE_LOW>; 268 device-wakeup-gpios = <&gpf 5 268 device-wakeup-gpios = <&gpf 5 GPIO_ACTIVE_HIGH>; 269 shutdown-gpios = <&gpf 4 GPIO_ 269 shutdown-gpios = <&gpf 4 GPIO_ACTIVE_HIGH>; 270 }; 270 }; 271 }; 271 }; 272 272 273 &uart3 { 273 &uart3 { 274 status = "okay"; 274 status = "okay"; 275 275 276 pinctrl-names = "default"; 276 pinctrl-names = "default"; 277 pinctrl-0 = <&pins_uart3>; 277 pinctrl-0 = <&pins_uart3>; 278 }; 278 }; 279 279 280 &uart4 { 280 &uart4 { 281 status = "okay"; 281 status = "okay"; 282 282 283 pinctrl-names = "default"; 283 pinctrl-names = "default"; 284 pinctrl-0 = <&pins_uart4>; 284 pinctrl-0 = <&pins_uart4>; 285 }; 285 }; 286 286 287 &i2c0 { 287 &i2c0 { 288 status = "okay"; 288 status = "okay"; 289 289 290 pinctrl-names = "default"; 290 pinctrl-names = "default"; 291 pinctrl-0 = <&pins_i2c0>; 291 pinctrl-0 = <&pins_i2c0>; 292 292 293 clock-frequency = <400000>; 293 clock-frequency = <400000>; 294 294 295 act8600: act8600@5a { 295 act8600: act8600@5a { 296 compatible = "active-semi,act8 296 compatible = "active-semi,act8600"; 297 reg = <0x5a>; 297 reg = <0x5a>; 298 298 299 regulators { 299 regulators { 300 vddcore: DCDC1 { 300 vddcore: DCDC1 { 301 regulator-min- 301 regulator-min-microvolt = <1125000>; 302 regulator-max- 302 regulator-max-microvolt = <1125000>; 303 vp1-supply = < 303 vp1-supply = <&vcc_33v>; 304 regulator-alwa 304 regulator-always-on; 305 }; 305 }; 306 vddmem: DCDC2 { 306 vddmem: DCDC2 { 307 regulator-min- 307 regulator-min-microvolt = <1500000>; 308 regulator-max- 308 regulator-max-microvolt = <1500000>; 309 vp2-supply = < 309 vp2-supply = <&vcc_33v>; 310 regulator-alwa 310 regulator-always-on; 311 }; 311 }; 312 vcc_33: DCDC3 { 312 vcc_33: DCDC3 { 313 regulator-min- 313 regulator-min-microvolt = <3300000>; 314 regulator-max- 314 regulator-max-microvolt = <3300000>; 315 vp3-supply = < 315 vp3-supply = <&vcc_33v>; 316 regulator-alwa 316 regulator-always-on; 317 }; 317 }; 318 vcc_50: SUDCDC_REG4 { 318 vcc_50: SUDCDC_REG4 { 319 regulator-min- 319 regulator-min-microvolt = <5000000>; 320 regulator-max- 320 regulator-max-microvolt = <5000000>; 321 regulator-alwa 321 regulator-always-on; 322 }; 322 }; 323 vcc_25: LDO5 { 323 vcc_25: LDO5 { 324 regulator-min- 324 regulator-min-microvolt = <2500000>; 325 regulator-max- 325 regulator-max-microvolt = <2500000>; 326 inl-supply = < 326 inl-supply = <&vcc_33v>; 327 regulator-alwa 327 regulator-always-on; 328 }; 328 }; 329 wifi_io: LDO6 { 329 wifi_io: LDO6 { 330 regulator-min- 330 regulator-min-microvolt = <1800000>; 331 regulator-max- 331 regulator-max-microvolt = <1800000>; 332 regulator-sett 332 regulator-settling-time-us = <150000>; 333 inl-supply = < 333 inl-supply = <&vcc_33v>; 334 }; 334 }; 335 cim_io_28: LDO7 { 335 cim_io_28: LDO7 { 336 regulator-min- 336 regulator-min-microvolt = <2800000>; 337 regulator-max- 337 regulator-max-microvolt = <2800000>; 338 inl-supply = < 338 inl-supply = <&vcc_33v>; 339 }; 339 }; 340 cim_io_15: LDO8 { 340 cim_io_15: LDO8 { 341 regulator-min- 341 regulator-min-microvolt = <1500000>; 342 regulator-max- 342 regulator-max-microvolt = <1500000>; 343 inl-supply = < 343 inl-supply = <&vcc_33v>; 344 }; 344 }; 345 vrtc_18: LDO_REG9 { 345 vrtc_18: LDO_REG9 { 346 /* Despite the 346 /* Despite the datasheet stating 3.3V 347 * for REG9 an 347 * for REG9 and the driver expecting that, 348 * REG9 output 348 * REG9 outputs 1.8V. 349 * Likely the 349 * Likely the CI20 uses a proprietary 350 * factory pro 350 * factory programmed chip variant. 351 * Since this 351 * Since this is a simple on/off LDO the 352 * exact value 352 * exact values do not matter. 353 */ 353 */ 354 regulator-min- 354 regulator-min-microvolt = <3300000>; 355 regulator-max- 355 regulator-max-microvolt = <3300000>; 356 regulator-alwa 356 regulator-always-on; 357 }; 357 }; 358 vcc_11: LDO_REG10 { 358 vcc_11: LDO_REG10 { 359 regulator-min- 359 regulator-min-microvolt = <1200000>; 360 regulator-max- 360 regulator-max-microvolt = <1200000>; 361 regulator-alwa 361 regulator-always-on; 362 }; 362 }; 363 }; 363 }; 364 }; 364 }; 365 }; 365 }; 366 366 367 &i2c1 { 367 &i2c1 { 368 status = "okay"; 368 status = "okay"; 369 369 370 pinctrl-names = "default"; 370 pinctrl-names = "default"; 371 pinctrl-0 = <&pins_i2c1>; 371 pinctrl-0 = <&pins_i2c1>; 372 372 373 }; 373 }; 374 374 375 &i2c2 { 375 &i2c2 { 376 status = "okay"; 376 status = "okay"; 377 377 378 pinctrl-names = "default"; 378 pinctrl-names = "default"; 379 pinctrl-0 = <&pins_i2c2>; 379 pinctrl-0 = <&pins_i2c2>; 380 380 381 }; 381 }; 382 382 383 &i2c3 { 383 &i2c3 { 384 status = "okay"; 384 status = "okay"; 385 385 386 pinctrl-names = "default"; 386 pinctrl-names = "default"; 387 pinctrl-0 = <&pins_i2c3>; 387 pinctrl-0 = <&pins_i2c3>; 388 388 389 }; 389 }; 390 390 391 &i2c4 { 391 &i2c4 { 392 status = "okay"; 392 status = "okay"; 393 393 394 pinctrl-names = "default"; 394 pinctrl-names = "default"; 395 pinctrl-0 = <&pins_i2c4>; 395 pinctrl-0 = <&pins_i2c4>; 396 396 397 clock-frequency = <400000>; 397 clock-frequency = <400000>; 398 398 399 rtc@51 { 399 rtc@51 { 400 compatible = "nxp,pcf8 400 compatible = "nxp,pcf8563"; 401 reg = <0x51>; 401 reg = <0x51>; 402 402 403 interrupt-parent = <&g 403 interrupt-parent = <&gpf>; 404 interrupts = <30 IRQ_T 404 interrupts = <30 IRQ_TYPE_LEVEL_LOW>; 405 }; 405 }; 406 }; 406 }; 407 407 408 &nemc { 408 &nemc { 409 status = "okay"; 409 status = "okay"; 410 410 411 nandc: nand-controller@1 { 411 nandc: nand-controller@1 { 412 compatible = "ingenic,jz4780-n 412 compatible = "ingenic,jz4780-nand"; 413 reg = <1 0 0x1000000>; 413 reg = <1 0 0x1000000>; 414 414 415 #address-cells = <1>; 415 #address-cells = <1>; 416 #size-cells = <0>; 416 #size-cells = <0>; 417 417 418 ecc-engine = <&bch>; 418 ecc-engine = <&bch>; 419 419 420 ingenic,nemc-tAS = <10>; 420 ingenic,nemc-tAS = <10>; 421 ingenic,nemc-tAH = <5>; 421 ingenic,nemc-tAH = <5>; 422 ingenic,nemc-tBP = <10>; 422 ingenic,nemc-tBP = <10>; 423 ingenic,nemc-tAW = <15>; 423 ingenic,nemc-tAW = <15>; 424 ingenic,nemc-tSTRV = <100>; 424 ingenic,nemc-tSTRV = <100>; 425 425 426 /* 426 /* 427 * Only CLE/ALE are needed for 427 * Only CLE/ALE are needed for the devices that are connected, rather 428 * than the full address line 428 * than the full address line set. 429 */ 429 */ 430 pinctrl-names = "default"; 430 pinctrl-names = "default"; 431 pinctrl-0 = <&pins_nemc>; 431 pinctrl-0 = <&pins_nemc>; 432 432 433 nand@1 { 433 nand@1 { 434 reg = <1>; 434 reg = <1>; 435 435 436 nand-ecc-step-size = < 436 nand-ecc-step-size = <1024>; 437 nand-ecc-strength = <2 437 nand-ecc-strength = <24>; 438 nand-ecc-mode = "hw"; 438 nand-ecc-mode = "hw"; 439 nand-on-flash-bbt; 439 nand-on-flash-bbt; 440 440 441 pinctrl-names = "defau 441 pinctrl-names = "default"; 442 pinctrl-0 = <&pins_nem 442 pinctrl-0 = <&pins_nemc_cs1>; 443 443 444 partitions { 444 partitions { 445 compatible = " 445 compatible = "fixed-partitions"; 446 #address-cells 446 #address-cells = <2>; 447 #size-cells = 447 #size-cells = <2>; 448 448 449 partition@0 { 449 partition@0 { 450 label 450 label = "u-boot-spl"; 451 reg = 451 reg = <0x0 0x0 0x0 0x800000>; 452 }; 452 }; 453 453 454 partition@8000 454 partition@800000 { 455 label 455 label = "u-boot"; 456 reg = 456 reg = <0x0 0x800000 0x0 0x200000>; 457 }; 457 }; 458 458 459 partition@a000 459 partition@a00000 { 460 label 460 label = "u-boot-env"; 461 reg = 461 reg = <0x0 0xa00000 0x0 0x200000>; 462 }; 462 }; 463 463 464 partition@c000 464 partition@c00000 { 465 label 465 label = "boot"; 466 reg = 466 reg = <0x0 0xc00000 0x0 0x4000000>; 467 }; 467 }; 468 468 469 partition@4c00 469 partition@4c00000 { 470 label 470 label = "system"; 471 reg = 471 reg = <0x0 0x4c00000 0x1 0xfb400000>; 472 }; 472 }; 473 }; 473 }; 474 }; 474 }; 475 }; 475 }; 476 476 477 dm9000@6 { 477 dm9000@6 { 478 compatible = "davicom,dm9000"; 478 compatible = "davicom,dm9000"; 479 davicom,no-eeprom; 479 davicom,no-eeprom; 480 480 481 pinctrl-names = "default"; 481 pinctrl-names = "default"; 482 pinctrl-0 = <&pins_nemc_cs6>; 482 pinctrl-0 = <&pins_nemc_cs6>; 483 483 484 reg = <6 0 1>, /* addr */ 484 reg = <6 0 1>, /* addr */ 485 <6 2 1>; /* data */ 485 <6 2 1>; /* data */ 486 486 487 ingenic,nemc-tAS = <15>; 487 ingenic,nemc-tAS = <15>; 488 ingenic,nemc-tAH = <10>; 488 ingenic,nemc-tAH = <10>; 489 ingenic,nemc-tBP = <20>; 489 ingenic,nemc-tBP = <20>; 490 ingenic,nemc-tAW = <50>; 490 ingenic,nemc-tAW = <50>; 491 ingenic,nemc-tSTRV = <100>; 491 ingenic,nemc-tSTRV = <100>; 492 492 493 reset-gpios = <&gpf 12 GPIO_AC 493 reset-gpios = <&gpf 12 GPIO_ACTIVE_LOW>; 494 vcc-supply = <ð0_power>; 494 vcc-supply = <ð0_power>; 495 495 496 interrupt-parent = <&gpe>; 496 interrupt-parent = <&gpe>; 497 interrupts = <19 IRQ_TYPE_EDGE 497 interrupts = <19 IRQ_TYPE_EDGE_RISING>; 498 498 499 nvmem-cells = <ð0_addr>; 499 nvmem-cells = <ð0_addr>; 500 nvmem-cell-names = "mac-addres 500 nvmem-cell-names = "mac-address"; 501 }; 501 }; 502 }; 502 }; 503 503 504 &bch { 504 &bch { 505 status = "okay"; 505 status = "okay"; 506 }; 506 }; 507 507 508 &otg_phy { 508 &otg_phy { 509 status = "okay"; 509 status = "okay"; 510 510 511 vcc-supply = <&otg_power>; 511 vcc-supply = <&otg_power>; 512 }; 512 }; 513 513 514 &otg { 514 &otg { 515 status = "okay"; 515 status = "okay"; 516 }; 516 }; 517 517 518 &pinctrl { 518 &pinctrl { 519 pins_uart0: uart0 { 519 pins_uart0: uart0 { 520 function = "uart0"; 520 function = "uart0"; 521 groups = "uart0-data"; 521 groups = "uart0-data"; 522 bias-disable; 522 bias-disable; 523 }; 523 }; 524 524 525 pins_uart1: uart1 { 525 pins_uart1: uart1 { 526 function = "uart1"; 526 function = "uart1"; 527 groups = "uart1-data"; 527 groups = "uart1-data"; 528 bias-disable; 528 bias-disable; 529 }; 529 }; 530 530 531 pins_uart2: uart2 { 531 pins_uart2: uart2 { 532 function = "uart2"; 532 function = "uart2"; 533 groups = "uart2-data", "uart2- 533 groups = "uart2-data", "uart2-hwflow"; 534 bias-disable; 534 bias-disable; 535 }; 535 }; 536 536 537 pins_uart3: uart3 { 537 pins_uart3: uart3 { 538 function = "uart3"; 538 function = "uart3"; 539 groups = "uart3-data", "uart3- 539 groups = "uart3-data", "uart3-hwflow"; 540 bias-disable; 540 bias-disable; 541 }; 541 }; 542 542 543 pins_uart4: uart4 { 543 pins_uart4: uart4 { 544 function = "uart4"; 544 function = "uart4"; 545 groups = "uart4-data"; 545 groups = "uart4-data"; 546 bias-disable; 546 bias-disable; 547 }; 547 }; 548 548 549 pins_i2c0: i2c0 { 549 pins_i2c0: i2c0 { 550 function = "i2c0"; 550 function = "i2c0"; 551 groups = "i2c0-data"; 551 groups = "i2c0-data"; 552 bias-disable; 552 bias-disable; 553 }; 553 }; 554 554 555 pins_i2c1: i2c1 { 555 pins_i2c1: i2c1 { 556 function = "i2c1"; 556 function = "i2c1"; 557 groups = "i2c1-data"; 557 groups = "i2c1-data"; 558 bias-disable; 558 bias-disable; 559 }; 559 }; 560 560 561 pins_i2c2: i2c2 { 561 pins_i2c2: i2c2 { 562 function = "i2c2"; 562 function = "i2c2"; 563 groups = "i2c2-data"; 563 groups = "i2c2-data"; 564 bias-disable; 564 bias-disable; 565 }; 565 }; 566 566 567 pins_i2c3: i2c3 { 567 pins_i2c3: i2c3 { 568 function = "i2c3"; 568 function = "i2c3"; 569 groups = "i2c3-data"; 569 groups = "i2c3-data"; 570 bias-disable; 570 bias-disable; 571 }; 571 }; 572 572 573 pins_i2c4: i2c4 { 573 pins_i2c4: i2c4 { 574 function = "i2c4"; 574 function = "i2c4"; 575 groups = "i2c4-data-e"; 575 groups = "i2c4-data-e"; 576 bias-disable; 576 bias-disable; 577 }; 577 }; 578 578 579 pins_hdmi_ddc: hdmi_ddc { 579 pins_hdmi_ddc: hdmi_ddc { 580 function = "hdmi-ddc"; 580 function = "hdmi-ddc"; 581 groups = "hdmi-ddc"; 581 groups = "hdmi-ddc"; 582 bias-disable; 582 bias-disable; 583 }; 583 }; 584 584 585 pins_nemc: nemc { 585 pins_nemc: nemc { 586 function = "nemc"; 586 function = "nemc"; 587 groups = "nemc-data", "nemc-cl 587 groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe"; 588 bias-disable; 588 bias-disable; 589 }; 589 }; 590 590 591 pins_nemc_cs1: nemc-cs1 { 591 pins_nemc_cs1: nemc-cs1 { 592 function = "nemc-cs1"; 592 function = "nemc-cs1"; 593 groups = "nemc-cs1"; 593 groups = "nemc-cs1"; 594 bias-disable; 594 bias-disable; 595 }; 595 }; 596 596 597 pins_nemc_cs6: nemc-cs6 { 597 pins_nemc_cs6: nemc-cs6 { 598 function = "nemc-cs6"; 598 function = "nemc-cs6"; 599 groups = "nemc-cs6"; 599 groups = "nemc-cs6"; 600 bias-disable; 600 bias-disable; 601 }; 601 }; 602 602 603 pins_mmc0: mmc0 { 603 pins_mmc0: mmc0 { 604 function = "mmc0"; 604 function = "mmc0"; 605 groups = "mmc0-1bit-e", "mmc0- 605 groups = "mmc0-1bit-e", "mmc0-4bit-e"; 606 bias-disable; 606 bias-disable; 607 }; 607 }; 608 608 609 pins_mmc1: mmc1 { 609 pins_mmc1: mmc1 { 610 function = "mmc1"; 610 function = "mmc1"; 611 groups = "mmc1-1bit-d", "mmc1- 611 groups = "mmc1-1bit-d", "mmc1-4bit-d"; 612 bias-disable; 612 bias-disable; 613 }; 613 }; 614 }; 614 }; 615 615 616 &hdmi { 616 &hdmi { 617 status = "okay"; 617 status = "okay"; 618 618 619 pinctrl-names = "default"; 619 pinctrl-names = "default"; 620 pinctrl-0 = <&pins_hdmi_ddc>; 620 pinctrl-0 = <&pins_hdmi_ddc>; 621 621 622 ports { 622 ports { 623 #address-cells = <1>; 623 #address-cells = <1>; 624 #size-cells = <0>; 624 #size-cells = <0>; 625 625 626 port@0 { 626 port@0 { 627 reg = <0>; 627 reg = <0>; 628 dw_hdmi_in: endpoint { 628 dw_hdmi_in: endpoint { 629 remote-endpoin 629 remote-endpoint = <&lcd_out>; 630 }; 630 }; 631 }; 631 }; 632 632 633 port@1 { 633 port@1 { 634 reg = <1>; 634 reg = <1>; 635 dw_hdmi_out: endpoint 635 dw_hdmi_out: endpoint { 636 remote-endpoin 636 remote-endpoint = <&hdmi_con>; 637 }; 637 }; 638 }; 638 }; 639 }; 639 }; 640 }; 640 }; 641 641 642 &lcdc0 { 642 &lcdc0 { 643 status = "okay"; 643 status = "okay"; 644 644 645 port { 645 port { 646 lcd_out: endpoint { 646 lcd_out: endpoint { 647 remote-endpoint = <&dw 647 remote-endpoint = <&dw_hdmi_in>; 648 }; 648 }; 649 }; 649 }; 650 }; 650 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.