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 164afbce84SLiang Chen chosen { 174afbce84SLiang Chen stdout-path = "serial2:1500000n8"; 184afbce84SLiang Chen }; 194afbce84SLiang Chen 204afbce84SLiang Chen adc-keys { 214afbce84SLiang Chen compatible = "adc-keys"; 224afbce84SLiang Chen io-channels = <&saradc 2>; 234afbce84SLiang Chen io-channel-names = "buttons"; 244afbce84SLiang Chen keyup-threshold-microvolt = <1800000>; 254afbce84SLiang Chen poll-interval = <100>; 264afbce84SLiang Chen 274afbce84SLiang Chen esc-key { 284afbce84SLiang Chen label = "esc"; 294afbce84SLiang Chen linux,code = <KEY_ESC>; 304afbce84SLiang Chen press-threshold-microvolt = <1310000>; 314afbce84SLiang Chen }; 324afbce84SLiang Chen 334afbce84SLiang Chen home-key { 344afbce84SLiang Chen label = "home"; 354afbce84SLiang Chen linux,code = <KEY_HOME>; 364afbce84SLiang Chen press-threshold-microvolt = <624000>; 374afbce84SLiang Chen }; 384afbce84SLiang Chen 394afbce84SLiang Chen menu-key { 404afbce84SLiang Chen label = "menu"; 414afbce84SLiang Chen linux,code = <KEY_MENU>; 424afbce84SLiang Chen press-threshold-microvolt = <987000>; 434afbce84SLiang Chen }; 444afbce84SLiang Chen 454afbce84SLiang Chen vol-down-key { 464afbce84SLiang Chen label = "volume down"; 474afbce84SLiang Chen linux,code = <KEY_VOLUMEDOWN>; 484afbce84SLiang Chen press-threshold-microvolt = <300000>; 494afbce84SLiang Chen }; 504afbce84SLiang Chen 514afbce84SLiang Chen vol-up-key { 524afbce84SLiang Chen label = "volume up"; 534afbce84SLiang Chen linux,code = <KEY_VOLUMEUP>; 544afbce84SLiang Chen press-threshold-microvolt = <17000>; 554afbce84SLiang Chen }; 564afbce84SLiang Chen }; 574afbce84SLiang Chen 584afbce84SLiang Chen backlight: backlight { 594afbce84SLiang Chen compatible = "pwm-backlight"; 604afbce84SLiang Chen pwms = <&pwm1 0 25000 0>; 614afbce84SLiang Chen }; 624afbce84SLiang Chen 634afbce84SLiang Chen sdio_pwrseq: sdio-pwrseq { 644afbce84SLiang Chen compatible = "mmc-pwrseq-simple"; 654afbce84SLiang Chen pinctrl-names = "default"; 664afbce84SLiang Chen pinctrl-0 = <&wifi_enable_h>; 674afbce84SLiang Chen 684afbce84SLiang Chen /* 694afbce84SLiang Chen * On the module itself this is one of these (depending 704afbce84SLiang Chen * on the actual card populated): 714afbce84SLiang Chen * - SDIO_RESET_L_WL_REG_ON 724afbce84SLiang Chen * - PDN (power down when low) 734afbce84SLiang Chen */ 744afbce84SLiang Chen reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */ 754afbce84SLiang Chen }; 764afbce84SLiang Chen 774afbce84SLiang Chen vcc_phy: vcc-phy-regulator { 784afbce84SLiang Chen compatible = "regulator-fixed"; 794afbce84SLiang Chen regulator-name = "vcc_phy"; 804afbce84SLiang Chen regulator-always-on; 814afbce84SLiang Chen regulator-boot-on; 824afbce84SLiang Chen }; 834afbce84SLiang Chen 844afbce84SLiang Chen vcc5v0_sys: vccsys { 854afbce84SLiang Chen compatible = "regulator-fixed"; 864afbce84SLiang Chen regulator-name = "vcc5v0_sys"; 874afbce84SLiang Chen regulator-always-on; 884afbce84SLiang Chen regulator-boot-on; 894afbce84SLiang Chen regulator-min-microvolt = <5000000>; 904afbce84SLiang Chen regulator-max-microvolt = <5000000>; 914afbce84SLiang Chen }; 924afbce84SLiang Chen}; 934afbce84SLiang Chen 944afbce84SLiang Chen&display_subsystem { 954afbce84SLiang Chen status = "okay"; 964afbce84SLiang Chen}; 974afbce84SLiang Chen 984afbce84SLiang Chen&emmc { 994afbce84SLiang Chen bus-width = <8>; 1004afbce84SLiang Chen cap-mmc-highspeed; 1014afbce84SLiang Chen mmc-hs200-1_8v; 1024afbce84SLiang Chen non-removable; 1034afbce84SLiang Chen status = "okay"; 1044afbce84SLiang Chen}; 1054afbce84SLiang Chen 1064afbce84SLiang Chen&gmac { 1074afbce84SLiang Chen clock_in_out = "output"; 1084afbce84SLiang Chen phy-supply = <&vcc_phy>; 1094afbce84SLiang Chen snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>; 1104afbce84SLiang Chen snps,reset-active-low; 1114afbce84SLiang Chen snps,reset-delays-us = <0 50000 50000>; 1124afbce84SLiang Chen status = "okay"; 1134afbce84SLiang Chen}; 1144afbce84SLiang Chen 1154afbce84SLiang Chen&i2c0 { 1164afbce84SLiang Chen status = "okay"; 1174afbce84SLiang Chen}; 1184afbce84SLiang Chen 1194afbce84SLiang Chen&i2s1_2ch { 1204afbce84SLiang Chen status = "okay"; 1214afbce84SLiang Chen}; 1224afbce84SLiang Chen 1234afbce84SLiang Chen&io_domains { 1244afbce84SLiang Chen status = "okay"; 1254afbce84SLiang Chen}; 1264afbce84SLiang Chen 1274afbce84SLiang Chen&pinctrl { 1284afbce84SLiang Chen headphone { 1294afbce84SLiang Chen hp_det: hp-det { 1304afbce84SLiang Chen rockchip,pins = 1314afbce84SLiang Chen <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; 1324afbce84SLiang Chen }; 1334afbce84SLiang Chen }; 1344afbce84SLiang Chen 1354afbce84SLiang Chen pmic { 1364afbce84SLiang Chen pmic_int: pmic_int { 1374afbce84SLiang Chen rockchip,pins = 1384afbce84SLiang Chen <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 1394afbce84SLiang Chen }; 1404afbce84SLiang Chen 1414afbce84SLiang Chen soc_slppin_gpio: soc_slppin_gpio { 1424afbce84SLiang Chen rockchip,pins = 1434afbce84SLiang Chen <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>; 1444afbce84SLiang Chen }; 1454afbce84SLiang Chen 1464afbce84SLiang Chen soc_slppin_slp: soc_slppin_slp { 1474afbce84SLiang Chen rockchip,pins = 1484afbce84SLiang Chen <0 RK_PA4 RK_FUNC_1 &pcfg_pull_none>; 1494afbce84SLiang Chen }; 1504afbce84SLiang Chen 1514afbce84SLiang Chen soc_slppin_rst: soc_slppin_rst { 1524afbce84SLiang Chen rockchip,pins = 1534afbce84SLiang Chen <0 RK_PA4 RK_FUNC_2 &pcfg_pull_none>; 1544afbce84SLiang Chen }; 1554afbce84SLiang Chen }; 1564afbce84SLiang Chen 1574afbce84SLiang Chen sdio-pwrseq { 1584afbce84SLiang Chen wifi_enable_h: wifi-enable-h { 1594afbce84SLiang Chen rockchip,pins = 1604afbce84SLiang Chen <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 1614afbce84SLiang Chen }; 1624afbce84SLiang Chen }; 1634afbce84SLiang Chen}; 1644afbce84SLiang Chen 1654afbce84SLiang Chen&pmu_io_domains { 1664afbce84SLiang Chen status = "okay"; 1674afbce84SLiang Chen}; 1684afbce84SLiang Chen 1694afbce84SLiang Chen&pwm1 { 1704afbce84SLiang Chen status = "okay"; 1714afbce84SLiang Chen}; 1724afbce84SLiang Chen 1734afbce84SLiang Chen&saradc { 1744afbce84SLiang Chen status = "okay"; 1754afbce84SLiang Chen}; 1764afbce84SLiang Chen 1774afbce84SLiang Chen&sdmmc { 1784afbce84SLiang Chen bus-width = <4>; 1794afbce84SLiang Chen cap-mmc-highspeed; 1804afbce84SLiang Chen cap-sd-highspeed; 1814afbce84SLiang Chen card-detect-delay = <800>; 1824afbce84SLiang Chen sd-uhs-sdr12; 1834afbce84SLiang Chen sd-uhs-sdr25; 1844afbce84SLiang Chen sd-uhs-sdr50; 1854afbce84SLiang Chen sd-uhs-sdr104; 1864afbce84SLiang Chen status = "okay"; 1874afbce84SLiang Chen}; 1884afbce84SLiang Chen 1894afbce84SLiang Chen&sdio { 1904afbce84SLiang Chen bus-width = <4>; 1914afbce84SLiang Chen cap-sd-highspeed; 1924afbce84SLiang Chen keep-power-in-suspend; 1934afbce84SLiang Chen non-removable; 1944afbce84SLiang Chen mmc-pwrseq = <&sdio_pwrseq>; 1954afbce84SLiang Chen sd-uhs-sdr104; 1964afbce84SLiang Chen status = "okay"; 1974afbce84SLiang Chen}; 1984afbce84SLiang Chen 1994afbce84SLiang Chen&uart1 { 2004afbce84SLiang Chen pinctrl-names = "default"; 2014afbce84SLiang Chen pinctrl-0 = <&uart1_xfer &uart1_cts>; 2024afbce84SLiang Chen status = "okay"; 2034afbce84SLiang Chen}; 2044afbce84SLiang Chen 2054afbce84SLiang Chen&uart2 { 2064afbce84SLiang Chen status = "okay"; 2074afbce84SLiang Chen}; 2084afbce84SLiang Chen 2092ed30cfcSHeiko Stuebner&usb20_otg { 2102ed30cfcSHeiko Stuebner status = "okay"; 2112ed30cfcSHeiko Stuebner}; 2122ed30cfcSHeiko Stuebner 2134afbce84SLiang Chen&usb_host0_ehci { 2144afbce84SLiang Chen status = "okay"; 2154afbce84SLiang Chen}; 2164afbce84SLiang Chen 2174afbce84SLiang Chen&usb_host0_ohci { 2184afbce84SLiang Chen status = "okay"; 2194afbce84SLiang Chen}; 2204afbce84SLiang Chen 2214afbce84SLiang Chen&vopb { 2224afbce84SLiang Chen status = "okay"; 2234afbce84SLiang Chen}; 2244afbce84SLiang Chen 2254afbce84SLiang Chen&vopb_mmu { 2264afbce84SLiang Chen status = "okay"; 2274afbce84SLiang Chen}; 2284afbce84SLiang Chen 2294afbce84SLiang Chen&vopl { 2304afbce84SLiang Chen status = "okay"; 2314afbce84SLiang Chen}; 2324afbce84SLiang Chen 2334afbce84SLiang Chen&vopl_mmu { 2344afbce84SLiang Chen status = "okay"; 2354afbce84SLiang Chen}; 236