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