1ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2ae5de77eSEmmanuel Vadot/* 3ae5de77eSEmmanuel Vadot * Copyright (c) 2025 Cherry Embedded Solutions GmbH 4ae5de77eSEmmanuel Vadot */ 5ae5de77eSEmmanuel Vadot 6ae5de77eSEmmanuel Vadot/dts-v1/; 7ae5de77eSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 8ae5de77eSEmmanuel Vadot#include <dt-bindings/input/input.h> 9ae5de77eSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 10ae5de77eSEmmanuel Vadot#include "px30.dtsi" 11ae5de77eSEmmanuel Vadot 12ae5de77eSEmmanuel Vadot/ { 13ae5de77eSEmmanuel Vadot aliases { 14ae5de77eSEmmanuel Vadot mmc0 = &emmc; 15ae5de77eSEmmanuel Vadot }; 16ae5de77eSEmmanuel Vadot 17ae5de77eSEmmanuel Vadot chosen { 18ae5de77eSEmmanuel Vadot stdout-path = "serial5:115200n8"; 19ae5de77eSEmmanuel Vadot }; 20ae5de77eSEmmanuel Vadot 21ae5de77eSEmmanuel Vadot backlight: backlight { 22ae5de77eSEmmanuel Vadot compatible = "pwm-backlight"; 23ae5de77eSEmmanuel Vadot power-supply = <&vcc5v0_sys>; 24ae5de77eSEmmanuel Vadot pwms = <&pwm0 0 25000 0>; 25ae5de77eSEmmanuel Vadot }; 26ae5de77eSEmmanuel Vadot 27ae5de77eSEmmanuel Vadot beeper { 28ae5de77eSEmmanuel Vadot compatible = "pwm-beeper"; 29ae5de77eSEmmanuel Vadot pwms = <&pwm1 0 1000 0>; 30ae5de77eSEmmanuel Vadot }; 31ae5de77eSEmmanuel Vadot 32ae5de77eSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 33ae5de77eSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 34ae5de77eSEmmanuel Vadot pinctrl-0 = <&emmc_reset>; 35ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 36ae5de77eSEmmanuel Vadot reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 37ae5de77eSEmmanuel Vadot }; 38ae5de77eSEmmanuel Vadot 39ae5de77eSEmmanuel Vadot gpio-leds { 40ae5de77eSEmmanuel Vadot compatible = "gpio-leds"; 41ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 42ae5de77eSEmmanuel Vadot pinctrl-0 = <&debug_led_pin>, <&heartbeat_led_pin>; 43ae5de77eSEmmanuel Vadot 44ae5de77eSEmmanuel Vadot /* 45ae5de77eSEmmanuel Vadot * LED2 on the PCB, left of the USB-C connector. 46ae5de77eSEmmanuel Vadot * Typically NOT populated. 47ae5de77eSEmmanuel Vadot */ 48ae5de77eSEmmanuel Vadot debug: led-0 { 49ae5de77eSEmmanuel Vadot label = "debug"; 50ae5de77eSEmmanuel Vadot gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 51ae5de77eSEmmanuel Vadot linux,default-trigger = "none"; 52ae5de77eSEmmanuel Vadot }; 53ae5de77eSEmmanuel Vadot 54ae5de77eSEmmanuel Vadot /* 55ae5de77eSEmmanuel Vadot * LED14 on the PCB, left of the PX30 SoC. 56ae5de77eSEmmanuel Vadot * Typically NOT populated. 57ae5de77eSEmmanuel Vadot */ 58ae5de77eSEmmanuel Vadot heartbeat: led-1 { 59ae5de77eSEmmanuel Vadot label = "heartbeat"; 60ae5de77eSEmmanuel Vadot gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>; 61ae5de77eSEmmanuel Vadot linux,default-trigger = "heartbeat"; 62ae5de77eSEmmanuel Vadot }; 63ae5de77eSEmmanuel Vadot }; 64ae5de77eSEmmanuel Vadot 65ae5de77eSEmmanuel Vadot vcc5v0_sys: regulator-vccsys { 66ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 67ae5de77eSEmmanuel Vadot regulator-name = "vcc5v0_sys"; 68ae5de77eSEmmanuel Vadot regulator-always-on; 69ae5de77eSEmmanuel Vadot regulator-boot-on; 70ae5de77eSEmmanuel Vadot regulator-min-microvolt = <5000000>; 71ae5de77eSEmmanuel Vadot regulator-max-microvolt = <5000000>; 72ae5de77eSEmmanuel Vadot }; 73ae5de77eSEmmanuel Vadot 74ae5de77eSEmmanuel Vadot vcc_cam_avdd: regulator-vcc-cam-avdd { 75ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 76ae5de77eSEmmanuel Vadot regulator-name = "vcc_cam_avdd"; 77ae5de77eSEmmanuel Vadot gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; 78ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 79ae5de77eSEmmanuel Vadot pinctrl-0 = <&cam_avdd_en>; 80ae5de77eSEmmanuel Vadot regulator-min-microvolt = <2800000>; 81ae5de77eSEmmanuel Vadot regulator-max-microvolt = <2800000>; 82ae5de77eSEmmanuel Vadot vin-supply = <&vcc_2v8>; 83ae5de77eSEmmanuel Vadot }; 84ae5de77eSEmmanuel Vadot 85ae5de77eSEmmanuel Vadot vcc_cam_dovdd: regulator-vcc-cam-dovdd { 86ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 87ae5de77eSEmmanuel Vadot regulator-name = "vcc_cam_dovdd"; 88ae5de77eSEmmanuel Vadot gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; 89ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 90ae5de77eSEmmanuel Vadot pinctrl-0 = <&cam_dovdd_en>; 91ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 92ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 93ae5de77eSEmmanuel Vadot vin-supply = <&vcc_1v8>; 94ae5de77eSEmmanuel Vadot }; 95ae5de77eSEmmanuel Vadot 96ae5de77eSEmmanuel Vadot vcc_cam_dvdd: regulator-vcc-cam-dvdd { 97ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 98ae5de77eSEmmanuel Vadot regulator-name = "vcc_cam_dvdd"; 99ae5de77eSEmmanuel Vadot gpio = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; 100ae5de77eSEmmanuel Vadot enable-active-high; 101ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 102ae5de77eSEmmanuel Vadot pinctrl-0 = <&cam_dvdd_en>; 103ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1200000>; 104ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1200000>; 105ae5de77eSEmmanuel Vadot vin-supply = <&vcc_3v3>; 106ae5de77eSEmmanuel Vadot }; 107ae5de77eSEmmanuel Vadot 108ae5de77eSEmmanuel Vadot vcc_lens_afvdd: regulator-vcc-lens-afvdd { 109ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 110ae5de77eSEmmanuel Vadot regulator-name = "vcc_lens_afvdd"; 111ae5de77eSEmmanuel Vadot gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; 112ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 113ae5de77eSEmmanuel Vadot pinctrl-0 = <&cam_afvdd_en>; 114ae5de77eSEmmanuel Vadot regulator-min-microvolt = <2800000>; 115ae5de77eSEmmanuel Vadot regulator-max-microvolt = <2800000>; 116ae5de77eSEmmanuel Vadot vin-supply = <&vcc_2v8>; 117ae5de77eSEmmanuel Vadot }; 118ae5de77eSEmmanuel Vadot}; 119ae5de77eSEmmanuel Vadot 120ae5de77eSEmmanuel Vadot&cpu0 { 121ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 122ae5de77eSEmmanuel Vadot}; 123ae5de77eSEmmanuel Vadot 124ae5de77eSEmmanuel Vadot&cpu1 { 125ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 126ae5de77eSEmmanuel Vadot}; 127ae5de77eSEmmanuel Vadot 128ae5de77eSEmmanuel Vadot&cpu2 { 129ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 130ae5de77eSEmmanuel Vadot}; 131ae5de77eSEmmanuel Vadot 132ae5de77eSEmmanuel Vadot&cpu3 { 133ae5de77eSEmmanuel Vadot cpu-supply = <&vdd_arm>; 134ae5de77eSEmmanuel Vadot}; 135ae5de77eSEmmanuel Vadot 136ae5de77eSEmmanuel Vadot&csi_dphy { 137ae5de77eSEmmanuel Vadot status = "okay"; 138ae5de77eSEmmanuel Vadot}; 139ae5de77eSEmmanuel Vadot 140ae5de77eSEmmanuel Vadot&display_subsystem { 141ae5de77eSEmmanuel Vadot status = "okay"; 142ae5de77eSEmmanuel Vadot}; 143ae5de77eSEmmanuel Vadot 144ae5de77eSEmmanuel Vadot&dsi_dphy { 145ae5de77eSEmmanuel Vadot status = "okay"; 146ae5de77eSEmmanuel Vadot}; 147ae5de77eSEmmanuel Vadot 148ae5de77eSEmmanuel Vadot&emmc { 149ae5de77eSEmmanuel Vadot bus-width = <8>; 150ae5de77eSEmmanuel Vadot cap-mmc-highspeed; 151ae5de77eSEmmanuel Vadot /* 152ae5de77eSEmmanuel Vadot * For hs200 support, U-Boot would have to set the RK809 DCDC4 153ae5de77eSEmmanuel Vadot * rail to 1.8V from the default of 3.0V. It doesn't do that on 154ae5de77eSEmmanuel Vadot * devices out in the field, so disable hs200. 155ae5de77eSEmmanuel Vadot * mmc-hs200-1_8v; 156ae5de77eSEmmanuel Vadot */ 157ae5de77eSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 158ae5de77eSEmmanuel Vadot non-removable; 159ae5de77eSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 160ae5de77eSEmmanuel Vadot vqmmc-supply = <&vcc_emmc>; 161ae5de77eSEmmanuel Vadot status = "okay"; 162ae5de77eSEmmanuel Vadot}; 163ae5de77eSEmmanuel Vadot 164ae5de77eSEmmanuel Vadot&gpu { 165ae5de77eSEmmanuel Vadot mali-supply = <&vdd_log>; 166ae5de77eSEmmanuel Vadot status = "okay"; 167ae5de77eSEmmanuel Vadot}; 168ae5de77eSEmmanuel Vadot 169ae5de77eSEmmanuel Vadot/* I2C0 = PMIC, Touchscreen */ 170ae5de77eSEmmanuel Vadot&i2c0 { 171ae5de77eSEmmanuel Vadot status = "okay"; 172ae5de77eSEmmanuel Vadot 173ae5de77eSEmmanuel Vadot touchscreen@14 { 174ae5de77eSEmmanuel Vadot compatible = "goodix,gt911"; 175ae5de77eSEmmanuel Vadot reg = <0x14>; 176ae5de77eSEmmanuel Vadot AVDD28-supply = <&vcc_2v8>; 177ae5de77eSEmmanuel Vadot interrupt-parent = <&gpio0>; 178ae5de77eSEmmanuel Vadot interrupts = <RK_PA1 IRQ_TYPE_LEVEL_LOW>; 179ae5de77eSEmmanuel Vadot irq-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 180ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 181ae5de77eSEmmanuel Vadot pinctrl-0 = <&tch_int &tch_rst>; 182ae5de77eSEmmanuel Vadot reset-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 183ae5de77eSEmmanuel Vadot VDDIO-supply = <&vcc_3v3>; 184ae5de77eSEmmanuel Vadot }; 185ae5de77eSEmmanuel Vadot 186ae5de77eSEmmanuel Vadot rk809: pmic@20 { 187ae5de77eSEmmanuel Vadot compatible = "rockchip,rk809"; 188ae5de77eSEmmanuel Vadot reg = <0x20>; 189ae5de77eSEmmanuel Vadot #clock-cells = <0>; 190ae5de77eSEmmanuel Vadot clock-output-names = "xin32k"; 191ae5de77eSEmmanuel Vadot interrupt-parent = <&gpio0>; 192ae5de77eSEmmanuel Vadot interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 193ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 194ae5de77eSEmmanuel Vadot pinctrl-0 = <&pmic_int>; 195ae5de77eSEmmanuel Vadot system-power-controller; 196ae5de77eSEmmanuel Vadot wakeup-source; 197ae5de77eSEmmanuel Vadot 198ae5de77eSEmmanuel Vadot vcc1-supply = <&vcc5v0_sys>; 199ae5de77eSEmmanuel Vadot vcc2-supply = <&vcc5v0_sys>; 200ae5de77eSEmmanuel Vadot vcc3-supply = <&vcc5v0_sys>; 201ae5de77eSEmmanuel Vadot vcc4-supply = <&vcc5v0_sys>; 202ae5de77eSEmmanuel Vadot vcc5-supply = <&vcc_3v3>; 203ae5de77eSEmmanuel Vadot vcc6-supply = <&vcc_3v3>; 204ae5de77eSEmmanuel Vadot vcc7-supply = <&vcc_3v3>; 205ae5de77eSEmmanuel Vadot vcc9-supply = <&vcc5v0_sys>; 206ae5de77eSEmmanuel Vadot 207ae5de77eSEmmanuel Vadot regulators { 208ae5de77eSEmmanuel Vadot vdd_log: DCDC_REG1 { 209ae5de77eSEmmanuel Vadot regulator-name = "vdd_log"; 210ae5de77eSEmmanuel Vadot regulator-always-on; 211ae5de77eSEmmanuel Vadot regulator-boot-on; 212ae5de77eSEmmanuel Vadot regulator-min-microvolt = <950000>; 213ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1350000>; 214ae5de77eSEmmanuel Vadot regulator-ramp-delay = <6001>; 215ae5de77eSEmmanuel Vadot 216ae5de77eSEmmanuel Vadot regulator-state-mem { 217ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 218ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 219ae5de77eSEmmanuel Vadot }; 220ae5de77eSEmmanuel Vadot }; 221ae5de77eSEmmanuel Vadot 222ae5de77eSEmmanuel Vadot vdd_arm: DCDC_REG2 { 223ae5de77eSEmmanuel Vadot regulator-name = "vdd_arm"; 224ae5de77eSEmmanuel Vadot regulator-always-on; 225ae5de77eSEmmanuel Vadot regulator-boot-on; 226ae5de77eSEmmanuel Vadot regulator-min-microvolt = <950000>; 227ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1350000>; 228ae5de77eSEmmanuel Vadot regulator-ramp-delay = <6001>; 229ae5de77eSEmmanuel Vadot 230ae5de77eSEmmanuel Vadot regulator-state-mem { 231ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 232ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <950000>; 233ae5de77eSEmmanuel Vadot }; 234ae5de77eSEmmanuel Vadot }; 235ae5de77eSEmmanuel Vadot 236ae5de77eSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 237ae5de77eSEmmanuel Vadot regulator-name = "vcc_ddr"; 238ae5de77eSEmmanuel Vadot regulator-always-on; 239ae5de77eSEmmanuel Vadot regulator-boot-on; 240ae5de77eSEmmanuel Vadot 241ae5de77eSEmmanuel Vadot regulator-state-mem { 242ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 243ae5de77eSEmmanuel Vadot }; 244ae5de77eSEmmanuel Vadot }; 245ae5de77eSEmmanuel Vadot 246ae5de77eSEmmanuel Vadot vcc_3v0_1v8: vcc_emmc: DCDC_REG4 { 247ae5de77eSEmmanuel Vadot regulator-name = "vcc_3v0_1v8"; 248ae5de77eSEmmanuel Vadot regulator-always-on; 249ae5de77eSEmmanuel Vadot regulator-boot-on; 250ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3000000>; 251ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3000000>; 252ae5de77eSEmmanuel Vadot 253ae5de77eSEmmanuel Vadot regulator-state-mem { 254ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 255ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 256ae5de77eSEmmanuel Vadot }; 257ae5de77eSEmmanuel Vadot }; 258ae5de77eSEmmanuel Vadot 259ae5de77eSEmmanuel Vadot vcc_3v3: DCDC_REG5 { 260ae5de77eSEmmanuel Vadot regulator-name = "vcc_3v3"; 261ae5de77eSEmmanuel Vadot regulator-always-on; 262ae5de77eSEmmanuel Vadot regulator-boot-on; 263ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3300000>; 264ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3300000>; 265ae5de77eSEmmanuel Vadot 266ae5de77eSEmmanuel Vadot regulator-state-mem { 267ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 268ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 269ae5de77eSEmmanuel Vadot }; 270ae5de77eSEmmanuel Vadot }; 271ae5de77eSEmmanuel Vadot 272ae5de77eSEmmanuel Vadot vcc_1v8: LDO_REG2 { 273ae5de77eSEmmanuel Vadot regulator-name = "vcc_1v8"; 274ae5de77eSEmmanuel Vadot regulator-always-on; 275ae5de77eSEmmanuel Vadot regulator-boot-on; 276ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 277ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 278ae5de77eSEmmanuel Vadot 279ae5de77eSEmmanuel Vadot regulator-state-mem { 280ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 281ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 282ae5de77eSEmmanuel Vadot }; 283ae5de77eSEmmanuel Vadot }; 284ae5de77eSEmmanuel Vadot 285ae5de77eSEmmanuel Vadot vcc_1v0: LDO_REG3 { 286ae5de77eSEmmanuel Vadot regulator-name = "vcc_1v0"; 287ae5de77eSEmmanuel Vadot regulator-always-on; 288ae5de77eSEmmanuel Vadot regulator-boot-on; 289ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1000000>; 290ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1000000>; 291ae5de77eSEmmanuel Vadot 292ae5de77eSEmmanuel Vadot regulator-state-mem { 293ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 294ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 295ae5de77eSEmmanuel Vadot }; 296ae5de77eSEmmanuel Vadot }; 297ae5de77eSEmmanuel Vadot 298ae5de77eSEmmanuel Vadot vcc_2v8: LDO_REG4 { 299ae5de77eSEmmanuel Vadot regulator-name = "vcc_2v8"; 300ae5de77eSEmmanuel Vadot regulator-always-on; 301ae5de77eSEmmanuel Vadot regulator-boot-on; 302ae5de77eSEmmanuel Vadot regulator-min-microvolt = <2800000>; 303ae5de77eSEmmanuel Vadot regulator-max-microvolt = <2800000>; 304ae5de77eSEmmanuel Vadot 305ae5de77eSEmmanuel Vadot regulator-state-mem { 306ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 307ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <2800000>; 308ae5de77eSEmmanuel Vadot }; 309ae5de77eSEmmanuel Vadot }; 310ae5de77eSEmmanuel Vadot 311ae5de77eSEmmanuel Vadot vccio_sd: LDO_REG5 { 312ae5de77eSEmmanuel Vadot regulator-name = "vccio_sd"; 313ae5de77eSEmmanuel Vadot regulator-always-on; 314ae5de77eSEmmanuel Vadot regulator-boot-on; 315ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3000000>; 316ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3000000>; 317ae5de77eSEmmanuel Vadot 318ae5de77eSEmmanuel Vadot regulator-state-mem { 319ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 320ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <3000000>; 321ae5de77eSEmmanuel Vadot }; 322ae5de77eSEmmanuel Vadot }; 323ae5de77eSEmmanuel Vadot 324ae5de77eSEmmanuel Vadot vcc_sdio: LDO_REG6 { 325ae5de77eSEmmanuel Vadot regulator-name = "vcc_sdio"; 326ae5de77eSEmmanuel Vadot regulator-always-on; 327ae5de77eSEmmanuel Vadot regulator-boot-on; 328ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 329ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 330ae5de77eSEmmanuel Vadot 331ae5de77eSEmmanuel Vadot regulator-state-mem { 332ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 333ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 334ae5de77eSEmmanuel Vadot }; 335ae5de77eSEmmanuel Vadot }; 336ae5de77eSEmmanuel Vadot 337ae5de77eSEmmanuel Vadot vcc_lcd: LDO_REG7 { 338ae5de77eSEmmanuel Vadot regulator-name = "vcc_lcd"; 339ae5de77eSEmmanuel Vadot regulator-always-on; 340ae5de77eSEmmanuel Vadot regulator-boot-on; 341ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1000000>; 342ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1000000>; 343ae5de77eSEmmanuel Vadot 344ae5de77eSEmmanuel Vadot regulator-state-mem { 345ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 346ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1000000>; 347ae5de77eSEmmanuel Vadot }; 348ae5de77eSEmmanuel Vadot }; 349ae5de77eSEmmanuel Vadot 350ae5de77eSEmmanuel Vadot vcc_1v8_lcd: LDO_REG8 { 351ae5de77eSEmmanuel Vadot regulator-name = "vcc_1v8_lcd"; 352ae5de77eSEmmanuel Vadot regulator-always-on; 353ae5de77eSEmmanuel Vadot regulator-boot-on; 354ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 355ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 356ae5de77eSEmmanuel Vadot 357ae5de77eSEmmanuel Vadot regulator-state-mem { 358ae5de77eSEmmanuel Vadot regulator-on-in-suspend; 359ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 360ae5de77eSEmmanuel Vadot }; 361ae5de77eSEmmanuel Vadot }; 362ae5de77eSEmmanuel Vadot 363ae5de77eSEmmanuel Vadot vcca_1v8: LDO_REG9 { 364ae5de77eSEmmanuel Vadot regulator-name = "vcca_1v8"; 365ae5de77eSEmmanuel Vadot regulator-always-on; 366ae5de77eSEmmanuel Vadot regulator-boot-on; 367ae5de77eSEmmanuel Vadot regulator-min-microvolt = <1800000>; 368ae5de77eSEmmanuel Vadot regulator-max-microvolt = <1800000>; 369ae5de77eSEmmanuel Vadot 370ae5de77eSEmmanuel Vadot regulator-state-mem { 371ae5de77eSEmmanuel Vadot regulator-off-in-suspend; 372ae5de77eSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 373ae5de77eSEmmanuel Vadot }; 374ae5de77eSEmmanuel Vadot }; 375ae5de77eSEmmanuel Vadot }; 376ae5de77eSEmmanuel Vadot }; 377ae5de77eSEmmanuel Vadot}; 378ae5de77eSEmmanuel Vadot 379ae5de77eSEmmanuel Vadot&i2c1 { 380ae5de77eSEmmanuel Vadot clock-frequency = <100000>; 381ae5de77eSEmmanuel Vadot status = "okay"; 382ae5de77eSEmmanuel Vadot}; 383ae5de77eSEmmanuel Vadot 384ae5de77eSEmmanuel Vadot/* I2C2 = Accelerometer + Camera */ 385ae5de77eSEmmanuel Vadot&i2c2 { 386ae5de77eSEmmanuel Vadot /* MEMSIC MXC4005 accelerometer is rated for I2C Fast Mode (<=400KHz) */ 387ae5de77eSEmmanuel Vadot /* OmniVision OV5675 camera is rated for I2C Fast Mode (<=400KHz) */ 388ae5de77eSEmmanuel Vadot clock-frequency = <400000>; 389ae5de77eSEmmanuel Vadot status = "okay"; 390ae5de77eSEmmanuel Vadot 391ae5de77eSEmmanuel Vadot focus: focus@c { 392ae5de77eSEmmanuel Vadot compatible = "dongwoon,dw9714"; 393ae5de77eSEmmanuel Vadot reg = <0xc>; 394ae5de77eSEmmanuel Vadot vcc-supply = <&vcc_lens_afvdd>; 395ae5de77eSEmmanuel Vadot }; 396ae5de77eSEmmanuel Vadot 397ae5de77eSEmmanuel Vadot accel@15 { 398ae5de77eSEmmanuel Vadot compatible = "memsic,mxc4005"; 399ae5de77eSEmmanuel Vadot reg = <0x15>; 400ae5de77eSEmmanuel Vadot interrupt-parent = <&gpio2>; 401ae5de77eSEmmanuel Vadot interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>; 402ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 403ae5de77eSEmmanuel Vadot pinctrl-0 = <&accel_int>; 404ae5de77eSEmmanuel Vadot }; 405ae5de77eSEmmanuel Vadot 406ae5de77eSEmmanuel Vadot camera@36 { 407ae5de77eSEmmanuel Vadot compatible = "ovti,ov5675"; 408ae5de77eSEmmanuel Vadot reg = <0x36>; 409ae5de77eSEmmanuel Vadot clocks = <&cru SCLK_CIF_OUT>; 410ae5de77eSEmmanuel Vadot assigned-clocks = <&cru SCLK_CIF_OUT>; 411ae5de77eSEmmanuel Vadot assigned-clock-rates = <19200000>; 412ae5de77eSEmmanuel Vadot avdd-supply = <&vcc_cam_avdd>; 413ae5de77eSEmmanuel Vadot dvdd-supply = <&vcc_cam_dvdd>; 414ae5de77eSEmmanuel Vadot dovdd-supply = <&vcc_cam_dovdd>; 415ae5de77eSEmmanuel Vadot lens-focus = <&focus>; 416ae5de77eSEmmanuel Vadot orientation = <0>; 417ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 418ae5de77eSEmmanuel Vadot pinctrl-0 = <&cif_clkout_m0 &cam_pwdn>; 419ae5de77eSEmmanuel Vadot reset-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>; 420ae5de77eSEmmanuel Vadot rotation = <0>; 421ae5de77eSEmmanuel Vadot 422ae5de77eSEmmanuel Vadot port { 423ae5de77eSEmmanuel Vadot ucam_out: endpoint { 424ae5de77eSEmmanuel Vadot remote-endpoint = <&mipi_in_ucam>; 425ae5de77eSEmmanuel Vadot data-lanes = <1 2>; 426ae5de77eSEmmanuel Vadot link-frequencies = /bits/ 64 <450000000>; 427ae5de77eSEmmanuel Vadot }; 428ae5de77eSEmmanuel Vadot }; 429ae5de77eSEmmanuel Vadot }; 430ae5de77eSEmmanuel Vadot}; 431ae5de77eSEmmanuel Vadot 432ae5de77eSEmmanuel Vadot&io_domains { 433ae5de77eSEmmanuel Vadot vccio1-supply = <&vcc_sdio>; 434ae5de77eSEmmanuel Vadot vccio2-supply = <&vccio_sd>; 435ae5de77eSEmmanuel Vadot vccio3-supply = <&vcc_1v8>; 436ae5de77eSEmmanuel Vadot vccio4-supply = <&vcc_3v3>; 437ae5de77eSEmmanuel Vadot vccio5-supply = <&vcc_3v3>; 438ae5de77eSEmmanuel Vadot vccio6-supply = <&vcc_emmc>; 439ae5de77eSEmmanuel Vadot status = "okay"; 440ae5de77eSEmmanuel Vadot}; 441ae5de77eSEmmanuel Vadot 442ae5de77eSEmmanuel Vadot&isp { 443ae5de77eSEmmanuel Vadot status = "okay"; 444ae5de77eSEmmanuel Vadot 445ae5de77eSEmmanuel Vadot ports { 446ae5de77eSEmmanuel Vadot port@0 { 447*833e5d42SEmmanuel Vadot mipi_in_ucam: endpoint { 448ae5de77eSEmmanuel Vadot data-lanes = <1 2>; 449ae5de77eSEmmanuel Vadot remote-endpoint = <&ucam_out>; 450ae5de77eSEmmanuel Vadot }; 451ae5de77eSEmmanuel Vadot }; 452ae5de77eSEmmanuel Vadot }; 453ae5de77eSEmmanuel Vadot}; 454ae5de77eSEmmanuel Vadot 455ae5de77eSEmmanuel Vadot&isp_mmu { 456ae5de77eSEmmanuel Vadot status = "okay"; 457ae5de77eSEmmanuel Vadot}; 458ae5de77eSEmmanuel Vadot 459ae5de77eSEmmanuel Vadot&pinctrl { 460ae5de77eSEmmanuel Vadot accel { 461ae5de77eSEmmanuel Vadot accel_int: accel-int { 462ae5de77eSEmmanuel Vadot rockchip,pins = 463ae5de77eSEmmanuel Vadot <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 464ae5de77eSEmmanuel Vadot }; 465ae5de77eSEmmanuel Vadot }; 466ae5de77eSEmmanuel Vadot 467ae5de77eSEmmanuel Vadot camera { 468ae5de77eSEmmanuel Vadot cam_afvdd_en: cam-afvdd-en { 469ae5de77eSEmmanuel Vadot rockchip,pins = 470ae5de77eSEmmanuel Vadot <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 471ae5de77eSEmmanuel Vadot }; 472ae5de77eSEmmanuel Vadot 473ae5de77eSEmmanuel Vadot cam_avdd_en: cam-avdd-en { 474ae5de77eSEmmanuel Vadot rockchip,pins = 475ae5de77eSEmmanuel Vadot <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 476ae5de77eSEmmanuel Vadot }; 477ae5de77eSEmmanuel Vadot 478ae5de77eSEmmanuel Vadot cam_dovdd_en: cam-dovdd-en { 479ae5de77eSEmmanuel Vadot rockchip,pins = 480ae5de77eSEmmanuel Vadot <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 481ae5de77eSEmmanuel Vadot }; 482ae5de77eSEmmanuel Vadot 483ae5de77eSEmmanuel Vadot cam_dvdd_en: cam-dvdd-en { 484ae5de77eSEmmanuel Vadot rockchip,pins = 485ae5de77eSEmmanuel Vadot <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 486ae5de77eSEmmanuel Vadot }; 487ae5de77eSEmmanuel Vadot 488ae5de77eSEmmanuel Vadot cam_pwdn: cam-pwdn { 489ae5de77eSEmmanuel Vadot rockchip,pins = 490ae5de77eSEmmanuel Vadot <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 491ae5de77eSEmmanuel Vadot }; 492ae5de77eSEmmanuel Vadot }; 493ae5de77eSEmmanuel Vadot 494ae5de77eSEmmanuel Vadot emmc { 495ae5de77eSEmmanuel Vadot emmc_reset: emmc-reset { 496ae5de77eSEmmanuel Vadot rockchip,pins = 497ae5de77eSEmmanuel Vadot <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 498ae5de77eSEmmanuel Vadot }; 499ae5de77eSEmmanuel Vadot }; 500ae5de77eSEmmanuel Vadot 501ae5de77eSEmmanuel Vadot leds { 502ae5de77eSEmmanuel Vadot debug_led_pin: debug-led-pin { 503ae5de77eSEmmanuel Vadot rockchip,pins = 504ae5de77eSEmmanuel Vadot <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 505ae5de77eSEmmanuel Vadot }; 506ae5de77eSEmmanuel Vadot 507ae5de77eSEmmanuel Vadot heartbeat_led_pin: heartbeat-led-pin { 508ae5de77eSEmmanuel Vadot rockchip,pins = 509ae5de77eSEmmanuel Vadot <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 510ae5de77eSEmmanuel Vadot }; 511ae5de77eSEmmanuel Vadot }; 512ae5de77eSEmmanuel Vadot 513ae5de77eSEmmanuel Vadot panel { 514ae5de77eSEmmanuel Vadot dsp_rst: dsp-rst { 515ae5de77eSEmmanuel Vadot rockchip,pins = 516ae5de77eSEmmanuel Vadot <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>; 517ae5de77eSEmmanuel Vadot }; 518ae5de77eSEmmanuel Vadot 519ae5de77eSEmmanuel Vadot tch_int: tch-int { 520ae5de77eSEmmanuel Vadot rockchip,pins = 521ae5de77eSEmmanuel Vadot <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 522ae5de77eSEmmanuel Vadot }; 523ae5de77eSEmmanuel Vadot 524ae5de77eSEmmanuel Vadot tch_rst: tch-rst { 525ae5de77eSEmmanuel Vadot rockchip,pins = 526ae5de77eSEmmanuel Vadot <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 527ae5de77eSEmmanuel Vadot }; 528ae5de77eSEmmanuel Vadot }; 529ae5de77eSEmmanuel Vadot 530ae5de77eSEmmanuel Vadot pmic { 531ae5de77eSEmmanuel Vadot pmic_int: pmic-int { 532ae5de77eSEmmanuel Vadot rockchip,pins = 533ae5de77eSEmmanuel Vadot <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 534ae5de77eSEmmanuel Vadot }; 535ae5de77eSEmmanuel Vadot }; 536ae5de77eSEmmanuel Vadot}; 537ae5de77eSEmmanuel Vadot 538ae5de77eSEmmanuel Vadot&pmu_io_domains { 539ae5de77eSEmmanuel Vadot pmuio1-supply = <&vcc_3v3>; 540ae5de77eSEmmanuel Vadot pmuio2-supply = <&vcc_3v3>; 541ae5de77eSEmmanuel Vadot status = "okay"; 542ae5de77eSEmmanuel Vadot}; 543ae5de77eSEmmanuel Vadot 544ae5de77eSEmmanuel Vadot&pwm0 { 545ae5de77eSEmmanuel Vadot status = "okay"; 546ae5de77eSEmmanuel Vadot}; 547ae5de77eSEmmanuel Vadot 548ae5de77eSEmmanuel Vadot&pwm1 { 549ae5de77eSEmmanuel Vadot status = "okay"; 550ae5de77eSEmmanuel Vadot}; 551ae5de77eSEmmanuel Vadot 552ae5de77eSEmmanuel Vadot&saradc { 553ae5de77eSEmmanuel Vadot vref-supply = <&vcc_1v8>; 554ae5de77eSEmmanuel Vadot status = "okay"; 555ae5de77eSEmmanuel Vadot}; 556ae5de77eSEmmanuel Vadot 557ae5de77eSEmmanuel Vadot&tsadc { 558ae5de77eSEmmanuel Vadot status = "okay"; 559ae5de77eSEmmanuel Vadot}; 560ae5de77eSEmmanuel Vadot 561ae5de77eSEmmanuel Vadot&u2phy { 562ae5de77eSEmmanuel Vadot status = "okay"; 563ae5de77eSEmmanuel Vadot}; 564ae5de77eSEmmanuel Vadot 565ae5de77eSEmmanuel Vadot&u2phy_host { 566ae5de77eSEmmanuel Vadot status = "okay"; 567ae5de77eSEmmanuel Vadot}; 568ae5de77eSEmmanuel Vadot 569ae5de77eSEmmanuel Vadot&u2phy_otg { 570ae5de77eSEmmanuel Vadot status = "okay"; 571ae5de77eSEmmanuel Vadot}; 572ae5de77eSEmmanuel Vadot 573ae5de77eSEmmanuel Vadot&uart5 { 574ae5de77eSEmmanuel Vadot pinctrl-0 = <&uart5_xfer>; 575ae5de77eSEmmanuel Vadot status = "okay"; 576ae5de77eSEmmanuel Vadot}; 577ae5de77eSEmmanuel Vadot 578ae5de77eSEmmanuel Vadot&usb20_otg { 579ae5de77eSEmmanuel Vadot dr_mode = "peripheral"; 580ae5de77eSEmmanuel Vadot status = "okay"; 581ae5de77eSEmmanuel Vadot}; 582ae5de77eSEmmanuel Vadot 583ae5de77eSEmmanuel Vadot&usb_host0_ehci { 584ae5de77eSEmmanuel Vadot status = "okay"; 585ae5de77eSEmmanuel Vadot}; 586ae5de77eSEmmanuel Vadot 587ae5de77eSEmmanuel Vadot&usb_host0_ohci { 588ae5de77eSEmmanuel Vadot status = "okay"; 589ae5de77eSEmmanuel Vadot}; 590ae5de77eSEmmanuel Vadot 591ae5de77eSEmmanuel Vadot&vopb { 592ae5de77eSEmmanuel Vadot status = "okay"; 593ae5de77eSEmmanuel Vadot}; 594ae5de77eSEmmanuel Vadot 595ae5de77eSEmmanuel Vadot&vopb_mmu { 596ae5de77eSEmmanuel Vadot status = "okay"; 597ae5de77eSEmmanuel Vadot}; 598ae5de77eSEmmanuel Vadot 599ae5de77eSEmmanuel Vadot&wdt { 600ae5de77eSEmmanuel Vadot status = "okay"; 601ae5de77eSEmmanuel Vadot}; 602