14afbce84SLiang Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 24afbce84SLiang Chen/* 34afbce84SLiang Chen * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd 44afbce84SLiang Chen */ 54afbce84SLiang Chen 64afbce84SLiang Chen/dts-v1/; 74afbce84SLiang Chen#include <dt-bindings/gpio/gpio.h> 84afbce84SLiang Chen#include <dt-bindings/input/input.h> 94afbce84SLiang Chen#include <dt-bindings/pinctrl/rockchip.h> 104afbce84SLiang Chen#include "px30.dtsi" 114afbce84SLiang Chen 124afbce84SLiang Chen/ { 134afbce84SLiang Chen model = "Rockchip PX30 EVB"; 144afbce84SLiang Chen compatible = "rockchip,px30-evb", "rockchip,px30"; 154afbce84SLiang Chen 1678b8513bSHeiko Stuebner aliases { 1778b8513bSHeiko Stuebner mmc0 = &sdmmc; 1878b8513bSHeiko Stuebner mmc1 = &sdio; 1978b8513bSHeiko Stuebner mmc2 = &emmc; 2078b8513bSHeiko Stuebner }; 2178b8513bSHeiko Stuebner 224afbce84SLiang Chen chosen { 239003aacbSHeiko Stuebner stdout-path = "serial5:115200n8"; 244afbce84SLiang Chen }; 254afbce84SLiang Chen 264afbce84SLiang Chen adc-keys { 274afbce84SLiang Chen compatible = "adc-keys"; 284afbce84SLiang Chen io-channels = <&saradc 2>; 294afbce84SLiang Chen io-channel-names = "buttons"; 304afbce84SLiang Chen keyup-threshold-microvolt = <1800000>; 314afbce84SLiang Chen poll-interval = <100>; 324afbce84SLiang Chen 33*f2bd2e76SJohan Jonker button-esc { 344afbce84SLiang Chen label = "esc"; 354afbce84SLiang Chen linux,code = <KEY_ESC>; 364afbce84SLiang Chen press-threshold-microvolt = <1310000>; 374afbce84SLiang Chen }; 384afbce84SLiang Chen 39*f2bd2e76SJohan Jonker button-home { 404afbce84SLiang Chen label = "home"; 414afbce84SLiang Chen linux,code = <KEY_HOME>; 424afbce84SLiang Chen press-threshold-microvolt = <624000>; 434afbce84SLiang Chen }; 444afbce84SLiang Chen 45*f2bd2e76SJohan Jonker button-menu { 464afbce84SLiang Chen label = "menu"; 474afbce84SLiang Chen linux,code = <KEY_MENU>; 484afbce84SLiang Chen press-threshold-microvolt = <987000>; 494afbce84SLiang Chen }; 504afbce84SLiang Chen 51*f2bd2e76SJohan Jonker button-down { 524afbce84SLiang Chen label = "volume down"; 534afbce84SLiang Chen linux,code = <KEY_VOLUMEDOWN>; 544afbce84SLiang Chen press-threshold-microvolt = <300000>; 554afbce84SLiang Chen }; 564afbce84SLiang Chen 57*f2bd2e76SJohan Jonker button-up { 584afbce84SLiang Chen label = "volume up"; 594afbce84SLiang Chen linux,code = <KEY_VOLUMEUP>; 604afbce84SLiang Chen press-threshold-microvolt = <17000>; 614afbce84SLiang Chen }; 624afbce84SLiang Chen }; 634afbce84SLiang Chen 644afbce84SLiang Chen backlight: backlight { 654afbce84SLiang Chen compatible = "pwm-backlight"; 664afbce84SLiang Chen pwms = <&pwm1 0 25000 0>; 67915b6a8bSHeiko Stuebner power-supply = <&vcc3v3_lcd>; 684afbce84SLiang Chen }; 694afbce84SLiang Chen 7079fd8ba2SHeiko Stuebner emmc_pwrseq: emmc-pwrseq { 7179fd8ba2SHeiko Stuebner compatible = "mmc-pwrseq-emmc"; 7279fd8ba2SHeiko Stuebner pinctrl-0 = <&emmc_reset>; 7379fd8ba2SHeiko Stuebner pinctrl-names = "default"; 7479fd8ba2SHeiko Stuebner reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; 7579fd8ba2SHeiko Stuebner }; 7679fd8ba2SHeiko Stuebner 774afbce84SLiang Chen sdio_pwrseq: sdio-pwrseq { 784afbce84SLiang Chen compatible = "mmc-pwrseq-simple"; 794afbce84SLiang Chen pinctrl-names = "default"; 804afbce84SLiang Chen pinctrl-0 = <&wifi_enable_h>; 814afbce84SLiang Chen 824afbce84SLiang Chen /* 834afbce84SLiang Chen * On the module itself this is one of these (depending 844afbce84SLiang Chen * on the actual card populated): 854afbce84SLiang Chen * - SDIO_RESET_L_WL_REG_ON 864afbce84SLiang Chen * - PDN (power down when low) 874afbce84SLiang Chen */ 884afbce84SLiang Chen reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */ 894afbce84SLiang Chen }; 904afbce84SLiang Chen 914afbce84SLiang Chen vcc5v0_sys: vccsys { 924afbce84SLiang Chen compatible = "regulator-fixed"; 934afbce84SLiang Chen regulator-name = "vcc5v0_sys"; 944afbce84SLiang Chen regulator-always-on; 954afbce84SLiang Chen regulator-boot-on; 964afbce84SLiang Chen regulator-min-microvolt = <5000000>; 974afbce84SLiang Chen regulator-max-microvolt = <5000000>; 984afbce84SLiang Chen }; 994afbce84SLiang Chen}; 1004afbce84SLiang Chen 101915b6a8bSHeiko Stuebner&cpu0 { 102915b6a8bSHeiko Stuebner cpu-supply = <&vdd_arm>; 103915b6a8bSHeiko Stuebner}; 104915b6a8bSHeiko Stuebner 105915b6a8bSHeiko Stuebner&cpu1 { 106915b6a8bSHeiko Stuebner cpu-supply = <&vdd_arm>; 107915b6a8bSHeiko Stuebner}; 108915b6a8bSHeiko Stuebner 109915b6a8bSHeiko Stuebner&cpu2 { 110915b6a8bSHeiko Stuebner cpu-supply = <&vdd_arm>; 111915b6a8bSHeiko Stuebner}; 112915b6a8bSHeiko Stuebner 113915b6a8bSHeiko Stuebner&cpu3 { 114915b6a8bSHeiko Stuebner cpu-supply = <&vdd_arm>; 115915b6a8bSHeiko Stuebner}; 116915b6a8bSHeiko Stuebner 117474a7739SHeiko Stuebner&csi_dphy { 118474a7739SHeiko Stuebner status = "okay"; 119474a7739SHeiko Stuebner}; 120474a7739SHeiko Stuebner 1214afbce84SLiang Chen&display_subsystem { 1224afbce84SLiang Chen status = "okay"; 1234afbce84SLiang Chen}; 1244afbce84SLiang Chen 125110f0271SHeiko Stuebner&dsi { 126110f0271SHeiko Stuebner status = "okay"; 127110f0271SHeiko Stuebner 128110f0271SHeiko Stuebner ports { 129110f0271SHeiko Stuebner mipi_out: port@1 { 130110f0271SHeiko Stuebner reg = <1>; 131110f0271SHeiko Stuebner 132110f0271SHeiko Stuebner mipi_out_panel: endpoint { 133110f0271SHeiko Stuebner remote-endpoint = <&mipi_in_panel>; 134110f0271SHeiko Stuebner }; 135110f0271SHeiko Stuebner }; 136110f0271SHeiko Stuebner }; 137110f0271SHeiko Stuebner 138110f0271SHeiko Stuebner panel@0 { 139110f0271SHeiko Stuebner compatible = "xinpeng,xpp055c272"; 140110f0271SHeiko Stuebner reg = <0>; 141110f0271SHeiko Stuebner backlight = <&backlight>; 142110f0271SHeiko Stuebner iovcc-supply = <&vcc_1v8>; 143110f0271SHeiko Stuebner vci-supply = <&vcc3v3_lcd>; 144110f0271SHeiko Stuebner 145110f0271SHeiko Stuebner port { 146110f0271SHeiko Stuebner mipi_in_panel: endpoint { 147110f0271SHeiko Stuebner remote-endpoint = <&mipi_out_panel>; 148110f0271SHeiko Stuebner }; 149110f0271SHeiko Stuebner }; 150110f0271SHeiko Stuebner }; 151110f0271SHeiko Stuebner}; 152110f0271SHeiko Stuebner 153110f0271SHeiko Stuebner&dsi_dphy { 154110f0271SHeiko Stuebner status = "okay"; 155110f0271SHeiko Stuebner}; 156110f0271SHeiko Stuebner 1574afbce84SLiang Chen&emmc { 1584afbce84SLiang Chen cap-mmc-highspeed; 1594afbce84SLiang Chen mmc-hs200-1_8v; 1604afbce84SLiang Chen non-removable; 16179fd8ba2SHeiko Stuebner mmc-pwrseq = <&emmc_pwrseq>; 162915b6a8bSHeiko Stuebner vmmc-supply = <&vcc_3v0>; 163915b6a8bSHeiko Stuebner vqmmc-supply = <&vccio_flash>; 1644afbce84SLiang Chen status = "okay"; 1654afbce84SLiang Chen}; 1664afbce84SLiang Chen 1674afbce84SLiang Chen&gmac { 1684afbce84SLiang Chen clock_in_out = "output"; 169915b6a8bSHeiko Stuebner phy-supply = <&vcc_rmii>; 1704afbce84SLiang Chen snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>; 1714afbce84SLiang Chen snps,reset-active-low; 1724afbce84SLiang Chen snps,reset-delays-us = <0 50000 50000>; 1734afbce84SLiang Chen status = "okay"; 1744afbce84SLiang Chen}; 1754afbce84SLiang Chen 1760c556deaSHeiko Stuebner&gpu { 1770c556deaSHeiko Stuebner mali-supply = <&vdd_log>; 1780c556deaSHeiko Stuebner status = "okay"; 1790c556deaSHeiko Stuebner}; 1800c556deaSHeiko Stuebner 1814afbce84SLiang Chen&i2c0 { 1824afbce84SLiang Chen status = "okay"; 183915b6a8bSHeiko Stuebner 184915b6a8bSHeiko Stuebner rk809: pmic@20 { 185915b6a8bSHeiko Stuebner compatible = "rockchip,rk809"; 186915b6a8bSHeiko Stuebner reg = <0x20>; 187915b6a8bSHeiko Stuebner interrupt-parent = <&gpio0>; 188915b6a8bSHeiko Stuebner interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 189915b6a8bSHeiko Stuebner pinctrl-names = "default"; 190915b6a8bSHeiko Stuebner pinctrl-0 = <&pmic_int>; 191915b6a8bSHeiko Stuebner rockchip,system-power-controller; 192915b6a8bSHeiko Stuebner wakeup-source; 193915b6a8bSHeiko Stuebner #clock-cells = <0>; 194915b6a8bSHeiko Stuebner clock-output-names = "xin32k"; 195915b6a8bSHeiko Stuebner 196915b6a8bSHeiko Stuebner vcc1-supply = <&vcc5v0_sys>; 197915b6a8bSHeiko Stuebner vcc2-supply = <&vcc5v0_sys>; 198915b6a8bSHeiko Stuebner vcc3-supply = <&vcc5v0_sys>; 199915b6a8bSHeiko Stuebner vcc4-supply = <&vcc5v0_sys>; 200915b6a8bSHeiko Stuebner vcc5-supply = <&vcc3v3_sys>; 201915b6a8bSHeiko Stuebner vcc6-supply = <&vcc3v3_sys>; 202915b6a8bSHeiko Stuebner vcc7-supply = <&vcc3v3_sys>; 203915b6a8bSHeiko Stuebner vcc8-supply = <&vcc3v3_sys>; 204915b6a8bSHeiko Stuebner vcc9-supply = <&vcc5v0_sys>; 205915b6a8bSHeiko Stuebner 206915b6a8bSHeiko Stuebner regulators { 207915b6a8bSHeiko Stuebner vdd_log: DCDC_REG1 { 208915b6a8bSHeiko Stuebner regulator-name = "vdd_log"; 209915b6a8bSHeiko Stuebner regulator-min-microvolt = <950000>; 210915b6a8bSHeiko Stuebner regulator-max-microvolt = <1350000>; 211915b6a8bSHeiko Stuebner regulator-ramp-delay = <6001>; 212915b6a8bSHeiko Stuebner regulator-always-on; 213915b6a8bSHeiko Stuebner regulator-boot-on; 214915b6a8bSHeiko Stuebner 215915b6a8bSHeiko Stuebner regulator-state-mem { 216915b6a8bSHeiko Stuebner regulator-on-in-suspend; 217915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <950000>; 218915b6a8bSHeiko Stuebner }; 219915b6a8bSHeiko Stuebner }; 220915b6a8bSHeiko Stuebner 221915b6a8bSHeiko Stuebner vdd_arm: DCDC_REG2 { 222915b6a8bSHeiko Stuebner regulator-name = "vdd_arm"; 223915b6a8bSHeiko Stuebner regulator-min-microvolt = <950000>; 224915b6a8bSHeiko Stuebner regulator-max-microvolt = <1350000>; 225915b6a8bSHeiko Stuebner regulator-ramp-delay = <6001>; 226915b6a8bSHeiko Stuebner regulator-always-on; 227915b6a8bSHeiko Stuebner regulator-boot-on; 228915b6a8bSHeiko Stuebner 229915b6a8bSHeiko Stuebner regulator-state-mem { 230915b6a8bSHeiko Stuebner regulator-off-in-suspend; 231915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <950000>; 232915b6a8bSHeiko Stuebner }; 233915b6a8bSHeiko Stuebner }; 234915b6a8bSHeiko Stuebner 235915b6a8bSHeiko Stuebner vcc_ddr: DCDC_REG3 { 236915b6a8bSHeiko Stuebner regulator-name = "vcc_ddr"; 237915b6a8bSHeiko Stuebner regulator-always-on; 238915b6a8bSHeiko Stuebner regulator-boot-on; 239915b6a8bSHeiko Stuebner 240915b6a8bSHeiko Stuebner regulator-state-mem { 241915b6a8bSHeiko Stuebner regulator-on-in-suspend; 242915b6a8bSHeiko Stuebner }; 243915b6a8bSHeiko Stuebner }; 244915b6a8bSHeiko Stuebner 245915b6a8bSHeiko Stuebner vcc_3v0: vcc_rmii: DCDC_REG4 { 246915b6a8bSHeiko Stuebner regulator-name = "vcc_3v0"; 247915b6a8bSHeiko Stuebner regulator-min-microvolt = <3000000>; 248915b6a8bSHeiko Stuebner regulator-max-microvolt = <3000000>; 249915b6a8bSHeiko Stuebner regulator-always-on; 250915b6a8bSHeiko Stuebner regulator-boot-on; 251915b6a8bSHeiko Stuebner 252915b6a8bSHeiko Stuebner regulator-state-mem { 253915b6a8bSHeiko Stuebner regulator-on-in-suspend; 254915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <3000000>; 255915b6a8bSHeiko Stuebner }; 256915b6a8bSHeiko Stuebner }; 257915b6a8bSHeiko Stuebner 258915b6a8bSHeiko Stuebner vcc3v3_sys: DCDC_REG5 { 259915b6a8bSHeiko Stuebner regulator-name = "vcc3v3_sys"; 260915b6a8bSHeiko Stuebner regulator-min-microvolt = <3300000>; 261915b6a8bSHeiko Stuebner regulator-max-microvolt = <3300000>; 262915b6a8bSHeiko Stuebner regulator-always-on; 263915b6a8bSHeiko Stuebner regulator-boot-on; 264915b6a8bSHeiko Stuebner 265915b6a8bSHeiko Stuebner regulator-state-mem { 266915b6a8bSHeiko Stuebner regulator-on-in-suspend; 267915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <3300000>; 268915b6a8bSHeiko Stuebner }; 269915b6a8bSHeiko Stuebner }; 270915b6a8bSHeiko Stuebner 271915b6a8bSHeiko Stuebner vcc_1v0: LDO_REG1 { 272915b6a8bSHeiko Stuebner regulator-name = "vcc_1v0"; 273915b6a8bSHeiko Stuebner regulator-min-microvolt = <1000000>; 274915b6a8bSHeiko Stuebner regulator-max-microvolt = <1000000>; 275915b6a8bSHeiko Stuebner regulator-always-on; 276915b6a8bSHeiko Stuebner regulator-boot-on; 277915b6a8bSHeiko Stuebner 278915b6a8bSHeiko Stuebner regulator-state-mem { 279915b6a8bSHeiko Stuebner regulator-on-in-suspend; 280915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <1000000>; 281915b6a8bSHeiko Stuebner }; 282915b6a8bSHeiko Stuebner }; 283915b6a8bSHeiko Stuebner 284915b6a8bSHeiko Stuebner vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 { 285915b6a8bSHeiko Stuebner regulator-name = "vcc_1v8"; 286915b6a8bSHeiko Stuebner regulator-min-microvolt = <1800000>; 287915b6a8bSHeiko Stuebner regulator-max-microvolt = <1800000>; 288915b6a8bSHeiko Stuebner regulator-always-on; 289915b6a8bSHeiko Stuebner regulator-boot-on; 290915b6a8bSHeiko Stuebner 291915b6a8bSHeiko Stuebner regulator-state-mem { 292915b6a8bSHeiko Stuebner regulator-on-in-suspend; 293915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <1800000>; 294915b6a8bSHeiko Stuebner }; 295915b6a8bSHeiko Stuebner }; 296915b6a8bSHeiko Stuebner 297915b6a8bSHeiko Stuebner vdd_1v0: LDO_REG3 { 298915b6a8bSHeiko Stuebner regulator-name = "vdd_1v0"; 299915b6a8bSHeiko Stuebner regulator-min-microvolt = <1000000>; 300915b6a8bSHeiko Stuebner regulator-max-microvolt = <1000000>; 301915b6a8bSHeiko Stuebner regulator-always-on; 302915b6a8bSHeiko Stuebner regulator-boot-on; 303915b6a8bSHeiko Stuebner 304915b6a8bSHeiko Stuebner regulator-state-mem { 305915b6a8bSHeiko Stuebner regulator-on-in-suspend; 306915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <1000000>; 307915b6a8bSHeiko Stuebner }; 308915b6a8bSHeiko Stuebner }; 309915b6a8bSHeiko Stuebner 310915b6a8bSHeiko Stuebner vcc3v0_pmu: LDO_REG4 { 311915b6a8bSHeiko Stuebner regulator-name = "vcc3v0_pmu"; 312915b6a8bSHeiko Stuebner regulator-min-microvolt = <3000000>; 313915b6a8bSHeiko Stuebner regulator-max-microvolt = <3000000>; 314915b6a8bSHeiko Stuebner regulator-always-on; 315915b6a8bSHeiko Stuebner regulator-boot-on; 316915b6a8bSHeiko Stuebner 317915b6a8bSHeiko Stuebner regulator-state-mem { 318915b6a8bSHeiko Stuebner regulator-on-in-suspend; 319915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <3000000>; 320915b6a8bSHeiko Stuebner }; 321915b6a8bSHeiko Stuebner }; 322915b6a8bSHeiko Stuebner 323915b6a8bSHeiko Stuebner vccio_sd: LDO_REG5 { 324915b6a8bSHeiko Stuebner regulator-name = "vccio_sd"; 325915b6a8bSHeiko Stuebner regulator-min-microvolt = <1800000>; 326915b6a8bSHeiko Stuebner regulator-max-microvolt = <3300000>; 327915b6a8bSHeiko Stuebner regulator-always-on; 328915b6a8bSHeiko Stuebner regulator-boot-on; 329915b6a8bSHeiko Stuebner 330915b6a8bSHeiko Stuebner regulator-state-mem { 331915b6a8bSHeiko Stuebner regulator-on-in-suspend; 332915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <3300000>; 333915b6a8bSHeiko Stuebner }; 334915b6a8bSHeiko Stuebner }; 335915b6a8bSHeiko Stuebner 336915b6a8bSHeiko Stuebner vcc_sd: LDO_REG6 { 337915b6a8bSHeiko Stuebner regulator-name = "vcc_sd"; 338915b6a8bSHeiko Stuebner regulator-min-microvolt = <3300000>; 339915b6a8bSHeiko Stuebner regulator-max-microvolt = <3300000>; 340915b6a8bSHeiko Stuebner regulator-boot-on; 341915b6a8bSHeiko Stuebner 342915b6a8bSHeiko Stuebner regulator-state-mem { 343915b6a8bSHeiko Stuebner regulator-on-in-suspend; 344915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <3300000>; 345915b6a8bSHeiko Stuebner }; 346915b6a8bSHeiko Stuebner }; 347915b6a8bSHeiko Stuebner 348915b6a8bSHeiko Stuebner vcc2v8_dvp: LDO_REG7 { 349915b6a8bSHeiko Stuebner regulator-name = "vcc2v8_dvp"; 350915b6a8bSHeiko Stuebner regulator-min-microvolt = <2800000>; 351915b6a8bSHeiko Stuebner regulator-max-microvolt = <2800000>; 352915b6a8bSHeiko Stuebner regulator-boot-on; 353915b6a8bSHeiko Stuebner 354915b6a8bSHeiko Stuebner regulator-state-mem { 355915b6a8bSHeiko Stuebner regulator-off-in-suspend; 356915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <2800000>; 357915b6a8bSHeiko Stuebner }; 358915b6a8bSHeiko Stuebner }; 359915b6a8bSHeiko Stuebner 360915b6a8bSHeiko Stuebner vcc1v8_dvp: LDO_REG8 { 361915b6a8bSHeiko Stuebner regulator-name = "vcc1v8_dvp"; 362915b6a8bSHeiko Stuebner regulator-min-microvolt = <1800000>; 363915b6a8bSHeiko Stuebner regulator-max-microvolt = <1800000>; 364915b6a8bSHeiko Stuebner regulator-boot-on; 365915b6a8bSHeiko Stuebner 366915b6a8bSHeiko Stuebner regulator-state-mem { 367915b6a8bSHeiko Stuebner regulator-on-in-suspend; 368915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <1800000>; 369915b6a8bSHeiko Stuebner }; 370915b6a8bSHeiko Stuebner }; 371915b6a8bSHeiko Stuebner 372915b6a8bSHeiko Stuebner vcc1v5_dvp: LDO_REG9 { 373915b6a8bSHeiko Stuebner regulator-name = "vcc1v5_dvp"; 374915b6a8bSHeiko Stuebner regulator-min-microvolt = <1500000>; 375915b6a8bSHeiko Stuebner regulator-max-microvolt = <1500000>; 376915b6a8bSHeiko Stuebner regulator-boot-on; 377915b6a8bSHeiko Stuebner 378915b6a8bSHeiko Stuebner regulator-state-mem { 379915b6a8bSHeiko Stuebner regulator-off-in-suspend; 380915b6a8bSHeiko Stuebner regulator-suspend-microvolt = <1500000>; 381915b6a8bSHeiko Stuebner }; 382915b6a8bSHeiko Stuebner }; 383915b6a8bSHeiko Stuebner 384915b6a8bSHeiko Stuebner vcc3v3_lcd: SWITCH_REG1 { 385915b6a8bSHeiko Stuebner regulator-name = "vcc3v3_lcd"; 386915b6a8bSHeiko Stuebner regulator-boot-on; 387915b6a8bSHeiko Stuebner }; 388915b6a8bSHeiko Stuebner 389915b6a8bSHeiko Stuebner vcc5v0_host: SWITCH_REG2 { 390915b6a8bSHeiko Stuebner regulator-name = "vcc5v0_host"; 391915b6a8bSHeiko Stuebner regulator-always-on; 392915b6a8bSHeiko Stuebner regulator-boot-on; 393915b6a8bSHeiko Stuebner }; 394915b6a8bSHeiko Stuebner }; 395915b6a8bSHeiko Stuebner }; 3964afbce84SLiang Chen}; 3974afbce84SLiang Chen 39852462ac6SHeiko Stuebner&i2c1 { 39952462ac6SHeiko Stuebner status = "okay"; 40052462ac6SHeiko Stuebner 40152462ac6SHeiko Stuebner sensor@d { 40252462ac6SHeiko Stuebner compatible = "asahi-kasei,ak8963"; 40352462ac6SHeiko Stuebner reg = <0x0d>; 40452462ac6SHeiko Stuebner gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 40552462ac6SHeiko Stuebner vdd-supply = <&vcc3v0_pmu>; 40652462ac6SHeiko Stuebner mount-matrix = "1", /* x0 */ 40752462ac6SHeiko Stuebner "0", /* y0 */ 40852462ac6SHeiko Stuebner "0", /* z0 */ 40952462ac6SHeiko Stuebner "0", /* x1 */ 41052462ac6SHeiko Stuebner "1", /* y1 */ 41152462ac6SHeiko Stuebner "0", /* z1 */ 41252462ac6SHeiko Stuebner "0", /* x2 */ 41352462ac6SHeiko Stuebner "0", /* y2 */ 41452462ac6SHeiko Stuebner "1"; /* z2 */ 41552462ac6SHeiko Stuebner }; 41652462ac6SHeiko Stuebner 41752462ac6SHeiko Stuebner touchscreen@14 { 41852462ac6SHeiko Stuebner compatible = "goodix,gt1151"; 41952462ac6SHeiko Stuebner reg = <0x14>; 42052462ac6SHeiko Stuebner interrupt-parent = <&gpio0>; 42152462ac6SHeiko Stuebner interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>; 42252462ac6SHeiko Stuebner irq-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 42352462ac6SHeiko Stuebner reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; 42452462ac6SHeiko Stuebner VDDIO-supply = <&vcc3v3_lcd>; 42552462ac6SHeiko Stuebner }; 42652462ac6SHeiko Stuebner 42752462ac6SHeiko Stuebner sensor@4c { 42852462ac6SHeiko Stuebner compatible = "fsl,mma7660"; 42952462ac6SHeiko Stuebner reg = <0x4c>; 43052462ac6SHeiko Stuebner interrupt-parent = <&gpio0>; 43152462ac6SHeiko Stuebner interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>; 43252462ac6SHeiko Stuebner }; 43352462ac6SHeiko Stuebner}; 43452462ac6SHeiko Stuebner 435474a7739SHeiko Stuebner&i2c2 { 436474a7739SHeiko Stuebner status = "okay"; 437474a7739SHeiko Stuebner 438474a7739SHeiko Stuebner clock-frequency = <100000>; 439474a7739SHeiko Stuebner 440474a7739SHeiko Stuebner /* These are relatively safe rise/fall times; TODO: measure */ 441474a7739SHeiko Stuebner i2c-scl-falling-time-ns = <50>; 442474a7739SHeiko Stuebner i2c-scl-rising-time-ns = <300>; 443474a7739SHeiko Stuebner 444474a7739SHeiko Stuebner ov5695: ov5695@36 { 445474a7739SHeiko Stuebner compatible = "ovti,ov5695"; 446474a7739SHeiko Stuebner reg = <0x36>; 447474a7739SHeiko Stuebner avdd-supply = <&vcc2v8_dvp>; 448474a7739SHeiko Stuebner clocks = <&cru SCLK_CIF_OUT>; 449474a7739SHeiko Stuebner clock-names = "xvclk"; 450474a7739SHeiko Stuebner dvdd-supply = <&vcc1v5_dvp>; 451474a7739SHeiko Stuebner dovdd-supply = <&vcc1v8_dvp>; 452474a7739SHeiko Stuebner pinctrl-names = "default"; 453921890caSTommaso Merciai pinctrl-0 = <&cif_clkout_m0 &mipi_pdn>; 45419d4aaf6STommaso Merciai reset-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_LOW>; 455474a7739SHeiko Stuebner 456474a7739SHeiko Stuebner port { 457474a7739SHeiko Stuebner ucam_out: endpoint { 458474a7739SHeiko Stuebner remote-endpoint = <&mipi_in_ucam>; 459474a7739SHeiko Stuebner data-lanes = <1 2>; 460474a7739SHeiko Stuebner }; 461474a7739SHeiko Stuebner }; 462474a7739SHeiko Stuebner }; 463474a7739SHeiko Stuebner}; 464474a7739SHeiko Stuebner 4654afbce84SLiang Chen&i2s1_2ch { 4664afbce84SLiang Chen status = "okay"; 4674afbce84SLiang Chen}; 4684afbce84SLiang Chen 4694afbce84SLiang Chen&io_domains { 4704afbce84SLiang Chen status = "okay"; 471915b6a8bSHeiko Stuebner 472915b6a8bSHeiko Stuebner vccio1-supply = <&vccio_sdio>; 473915b6a8bSHeiko Stuebner vccio2-supply = <&vccio_sd>; 474915b6a8bSHeiko Stuebner vccio3-supply = <&vcc_3v0>; 475915b6a8bSHeiko Stuebner vccio4-supply = <&vcc3v0_pmu>; 476915b6a8bSHeiko Stuebner vccio5-supply = <&vcc_3v0>; 477915b6a8bSHeiko Stuebner vccio6-supply = <&vccio_flash>; 4784afbce84SLiang Chen}; 4794afbce84SLiang Chen 480474a7739SHeiko Stuebner&isp { 481474a7739SHeiko Stuebner status = "okay"; 482474a7739SHeiko Stuebner 483474a7739SHeiko Stuebner ports { 484474a7739SHeiko Stuebner port@0 { 485474a7739SHeiko Stuebner mipi_in_ucam: endpoint@0 { 486474a7739SHeiko Stuebner reg = <0>; 487474a7739SHeiko Stuebner data-lanes = <1 2>; 488474a7739SHeiko Stuebner remote-endpoint = <&ucam_out>; 489474a7739SHeiko Stuebner }; 490474a7739SHeiko Stuebner }; 491474a7739SHeiko Stuebner }; 492474a7739SHeiko Stuebner}; 493474a7739SHeiko Stuebner 494474a7739SHeiko Stuebner&isp_mmu { 495474a7739SHeiko Stuebner status = "okay"; 496474a7739SHeiko Stuebner}; 497474a7739SHeiko Stuebner 4984afbce84SLiang Chen&pinctrl { 4994afbce84SLiang Chen headphone { 5004afbce84SLiang Chen hp_det: hp-det { 5014afbce84SLiang Chen rockchip,pins = 5024afbce84SLiang Chen <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; 5034afbce84SLiang Chen }; 5044afbce84SLiang Chen }; 5054afbce84SLiang Chen 50679fd8ba2SHeiko Stuebner emmc { 50779fd8ba2SHeiko Stuebner emmc_reset: emmc-reset { 50879fd8ba2SHeiko Stuebner rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 50979fd8ba2SHeiko Stuebner }; 51079fd8ba2SHeiko Stuebner }; 51179fd8ba2SHeiko Stuebner 5124afbce84SLiang Chen pmic { 5134afbce84SLiang Chen pmic_int: pmic_int { 5144afbce84SLiang Chen rockchip,pins = 5154afbce84SLiang Chen <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 5164afbce84SLiang Chen }; 5174afbce84SLiang Chen 5184afbce84SLiang Chen soc_slppin_gpio: soc_slppin_gpio { 5194afbce84SLiang Chen rockchip,pins = 5204afbce84SLiang Chen <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>; 5214afbce84SLiang Chen }; 5224afbce84SLiang Chen 5234afbce84SLiang Chen soc_slppin_slp: soc_slppin_slp { 5244afbce84SLiang Chen rockchip,pins = 525d64420e8SHeiko Stuebner <0 RK_PA4 1 &pcfg_pull_none>; 5264afbce84SLiang Chen }; 5274afbce84SLiang Chen 5284afbce84SLiang Chen soc_slppin_rst: soc_slppin_rst { 5294afbce84SLiang Chen rockchip,pins = 530d64420e8SHeiko Stuebner <0 RK_PA4 2 &pcfg_pull_none>; 5314afbce84SLiang Chen }; 5324afbce84SLiang Chen }; 5334afbce84SLiang Chen 5344afbce84SLiang Chen sdio-pwrseq { 5354afbce84SLiang Chen wifi_enable_h: wifi-enable-h { 5364afbce84SLiang Chen rockchip,pins = 5374afbce84SLiang Chen <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 5384afbce84SLiang Chen }; 5394afbce84SLiang Chen }; 5408cde9667STommaso Merciai 5418cde9667STommaso Merciai cif-m0 { 5428cde9667STommaso Merciai cif_clkout_m0: cif-clkout-m0 { 5438cde9667STommaso Merciai rockchip,pins = 5448cde9667STommaso Merciai <2 RK_PB3 1 &pcfg_pull_none_12ma>; 5458cde9667STommaso Merciai }; 5468cde9667STommaso Merciai }; 547921890caSTommaso Merciai 548921890caSTommaso Merciai mipi { 549921890caSTommaso Merciai mipi_pdn: mipi-pdn { 550921890caSTommaso Merciai rockchip,pins = <2 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 551921890caSTommaso Merciai }; 552921890caSTommaso Merciai }; 5534afbce84SLiang Chen}; 5544afbce84SLiang Chen 5554afbce84SLiang Chen&pmu_io_domains { 5564afbce84SLiang Chen status = "okay"; 557915b6a8bSHeiko Stuebner 558915b6a8bSHeiko Stuebner pmuio1-supply = <&vcc3v0_pmu>; 559915b6a8bSHeiko Stuebner pmuio2-supply = <&vcc3v0_pmu>; 5604afbce84SLiang Chen}; 5614afbce84SLiang Chen 5624afbce84SLiang Chen&pwm1 { 5634afbce84SLiang Chen status = "okay"; 5644afbce84SLiang Chen}; 5654afbce84SLiang Chen 5664afbce84SLiang Chen&saradc { 567915b6a8bSHeiko Stuebner vref-supply = <&vcc_1v8>; 5684afbce84SLiang Chen status = "okay"; 5694afbce84SLiang Chen}; 5704afbce84SLiang Chen 5714afbce84SLiang Chen&sdmmc { 5724afbce84SLiang Chen cap-mmc-highspeed; 5734afbce84SLiang Chen cap-sd-highspeed; 5744afbce84SLiang Chen card-detect-delay = <800>; 5754afbce84SLiang Chen sd-uhs-sdr12; 5764afbce84SLiang Chen sd-uhs-sdr25; 5774afbce84SLiang Chen sd-uhs-sdr50; 5784afbce84SLiang Chen sd-uhs-sdr104; 579915b6a8bSHeiko Stuebner vmmc-supply = <&vcc_sd>; 580915b6a8bSHeiko Stuebner vqmmc-supply = <&vccio_sd>; 5814afbce84SLiang Chen status = "okay"; 5824afbce84SLiang Chen}; 5834afbce84SLiang Chen 5844afbce84SLiang Chen&sdio { 5854afbce84SLiang Chen cap-sd-highspeed; 5864afbce84SLiang Chen keep-power-in-suspend; 5874afbce84SLiang Chen non-removable; 5884afbce84SLiang Chen mmc-pwrseq = <&sdio_pwrseq>; 5894afbce84SLiang Chen sd-uhs-sdr104; 5904afbce84SLiang Chen status = "okay"; 5914afbce84SLiang Chen}; 5924afbce84SLiang Chen 59367dd31f7SHeiko Stuebner&tsadc { 59467dd31f7SHeiko Stuebner rockchip,hw-tshut-mode = <1>; 59567dd31f7SHeiko Stuebner rockchip,hw-tshut-polarity = <1>; 59667dd31f7SHeiko Stuebner status = "okay"; 59767dd31f7SHeiko Stuebner}; 59867dd31f7SHeiko Stuebner 5990815dc22SHeiko Stuebner&u2phy { 6000815dc22SHeiko Stuebner status = "okay"; 6010815dc22SHeiko Stuebner 6020815dc22SHeiko Stuebner u2phy_host: host-port { 6030815dc22SHeiko Stuebner status = "okay"; 6040815dc22SHeiko Stuebner }; 6050815dc22SHeiko Stuebner 6060815dc22SHeiko Stuebner u2phy_otg: otg-port { 6070815dc22SHeiko Stuebner status = "okay"; 6080815dc22SHeiko Stuebner }; 6090815dc22SHeiko Stuebner}; 6100815dc22SHeiko Stuebner 6114afbce84SLiang Chen&uart1 { 6124afbce84SLiang Chen pinctrl-names = "default"; 6134afbce84SLiang Chen pinctrl-0 = <&uart1_xfer &uart1_cts>; 6144afbce84SLiang Chen status = "okay"; 6154afbce84SLiang Chen}; 6164afbce84SLiang Chen 6179003aacbSHeiko Stuebner&uart5 { 6184afbce84SLiang Chen status = "okay"; 6194afbce84SLiang Chen}; 6204afbce84SLiang Chen 6212ed30cfcSHeiko Stuebner&usb20_otg { 6222ed30cfcSHeiko Stuebner status = "okay"; 6232ed30cfcSHeiko Stuebner}; 6242ed30cfcSHeiko Stuebner 6254afbce84SLiang Chen&usb_host0_ehci { 6264afbce84SLiang Chen status = "okay"; 6274afbce84SLiang Chen}; 6284afbce84SLiang Chen 6294afbce84SLiang Chen&usb_host0_ohci { 6304afbce84SLiang Chen status = "okay"; 6314afbce84SLiang Chen}; 6324afbce84SLiang Chen 6334afbce84SLiang Chen&vopb { 6344afbce84SLiang Chen status = "okay"; 6354afbce84SLiang Chen}; 6364afbce84SLiang Chen 6374afbce84SLiang Chen&vopb_mmu { 6384afbce84SLiang Chen status = "okay"; 6394afbce84SLiang Chen}; 6404afbce84SLiang Chen 6414afbce84SLiang Chen&vopl { 6424afbce84SLiang Chen status = "okay"; 6434afbce84SLiang Chen}; 6444afbce84SLiang Chen 6454afbce84SLiang Chen&vopl_mmu { 6464afbce84SLiang Chen status = "okay"; 6474afbce84SLiang Chen}; 648