176c923bbSAndy Yan/* 276c923bbSAndy Yan * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd 376c923bbSAndy Yan * 476c923bbSAndy Yan * This file is dual-licensed: you can use it either under the terms 576c923bbSAndy Yan * of the GPL or the X11 license, at your option. Note that this dual 676c923bbSAndy Yan * licensing only applies to this file, and not this project as a 776c923bbSAndy Yan * whole. 876c923bbSAndy Yan * 976c923bbSAndy Yan * a) This file is free software; you can redistribute it and/or 1076c923bbSAndy Yan * modify it under the terms of the GNU General Public License as 1176c923bbSAndy Yan * published by the Free Software Foundation; either version 2 of the 1276c923bbSAndy Yan * License, or (at your option) any later version. 1376c923bbSAndy Yan * 1476c923bbSAndy Yan * This file is distributed in the hope that it will be useful, 1576c923bbSAndy Yan * but WITHOUT ANY WARRANTY; without even the implied warranty of 1676c923bbSAndy Yan * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1776c923bbSAndy Yan * GNU General Public License for more details. 1876c923bbSAndy Yan * 1976c923bbSAndy Yan * Or, alternatively, 2076c923bbSAndy Yan * 2176c923bbSAndy Yan * b) Permission is hereby granted, free of charge, to any person 2276c923bbSAndy Yan * obtaining a copy of this software and associated documentation 2376c923bbSAndy Yan * files (the "Software"), to deal in the Software without 2476c923bbSAndy Yan * restriction, including without limitation the rights to use, 2576c923bbSAndy Yan * copy, modify, merge, publish, distribute, sublicense, and/or 2676c923bbSAndy Yan * sell copies of the Software, and to permit persons to whom the 2776c923bbSAndy Yan * Software is furnished to do so, subject to the following 2876c923bbSAndy Yan * conditions: 2976c923bbSAndy Yan * 3076c923bbSAndy Yan * The above copyright notice and this permission notice shall be 3176c923bbSAndy Yan * included in all copies or substantial portions of the Software. 3276c923bbSAndy Yan * 3376c923bbSAndy Yan * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3476c923bbSAndy Yan * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3576c923bbSAndy Yan * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3676c923bbSAndy Yan * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3776c923bbSAndy Yan * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3876c923bbSAndy Yan * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 3976c923bbSAndy Yan * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4076c923bbSAndy Yan * OTHER DEALINGS IN THE SOFTWARE. 4176c923bbSAndy Yan */ 4276c923bbSAndy Yan 4376c923bbSAndy Yan/dts-v1/; 4476c923bbSAndy Yan#include "rk3368.dtsi" 4576c923bbSAndy Yan#include <dt-bindings/input/input.h> 4676c923bbSAndy Yan 4776c923bbSAndy Yan/ { 4876c923bbSAndy Yan model = "Rockchip PX5 EVB"; 4976c923bbSAndy Yan compatible = "rockchip,px5-evb", "rockchip,px5", "rockchip,rk3368"; 5076c923bbSAndy Yan 5176c923bbSAndy Yan chosen { 5276c923bbSAndy Yan stdout-path = "serial4:115200n8"; 5376c923bbSAndy Yan }; 5476c923bbSAndy Yan 5576c923bbSAndy Yan memory@0 { 5676c923bbSAndy Yan reg = <0x0 0x0 0x0 0x80000000>; 5776c923bbSAndy Yan device_type = "memory"; 5876c923bbSAndy Yan }; 5976c923bbSAndy Yan 6076c923bbSAndy Yan keys: gpio-keys { 6176c923bbSAndy Yan compatible = "gpio-keys"; 6276c923bbSAndy Yan pinctrl-names = "default"; 6376c923bbSAndy Yan pinctrl-0 = <&pwr_key>; 6476c923bbSAndy Yan 6576c923bbSAndy Yan power { 6676c923bbSAndy Yan gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; 6776c923bbSAndy Yan label = "GPIO Power"; 6876c923bbSAndy Yan linux,code = <KEY_POWER>; 6976c923bbSAndy Yan wakeup-source; 7076c923bbSAndy Yan }; 7176c923bbSAndy Yan }; 7276c923bbSAndy Yan 7376c923bbSAndy Yan vcc_sys: vcc-sys-regulator { 7476c923bbSAndy Yan compatible = "regulator-fixed"; 7576c923bbSAndy Yan regulator-name = "vcc_sys"; 7676c923bbSAndy Yan regulator-min-microvolt = <5000000>; 7776c923bbSAndy Yan regulator-max-microvolt = <5000000>; 7876c923bbSAndy Yan regulator-always-on; 7976c923bbSAndy Yan regulator-boot-on; 8076c923bbSAndy Yan }; 8176c923bbSAndy Yan}; 8276c923bbSAndy Yan 8376c923bbSAndy Yan&emmc { 8476c923bbSAndy Yan status = "okay"; 8576c923bbSAndy Yan bus-width = <8>; 8676c923bbSAndy Yan cap-mmc-highspeed; 8776c923bbSAndy Yan clock-frequency = <150000000>; 8876c923bbSAndy Yan disable-wp; 8976c923bbSAndy Yan keep-power-in-suspend; 90674c81cfSShawn Lin mmc-hs200-1_8v; 91674c81cfSShawn Lin no-sdio; 92674c81cfSShawn Lin no-sd; 9376c923bbSAndy Yan non-removable; 9476c923bbSAndy Yan num-slots = <1>; 9576c923bbSAndy Yan pinctrl-names = "default"; 9676c923bbSAndy Yan pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>; 9776c923bbSAndy Yan vmmc-supply = <&vcc_io>; 9876c923bbSAndy Yan vqmmc-supply = <&vcc18_flash>; 9976c923bbSAndy Yan}; 10076c923bbSAndy Yan 10176c923bbSAndy Yan&i2c0 { 10276c923bbSAndy Yan status = "okay"; 10376c923bbSAndy Yan 10476c923bbSAndy Yan rk808: pmic@1b { 10576c923bbSAndy Yan compatible = "rockchip,rk808"; 10676c923bbSAndy Yan reg = <0x1b>; 10776c923bbSAndy Yan interrupt-parent = <&gpio0>; 10876c923bbSAndy Yan interrupts = <5 IRQ_TYPE_LEVEL_LOW>; 10976c923bbSAndy Yan pinctrl-names = "default"; 11076c923bbSAndy Yan pinctrl-0 = <&pmic_int>, <&pmic_sleep>; 11176c923bbSAndy Yan rockchip,system-power-controller; 11276c923bbSAndy Yan vcc1-supply = <&vcc_sys>; 11376c923bbSAndy Yan vcc2-supply = <&vcc_sys>; 11476c923bbSAndy Yan vcc3-supply = <&vcc_sys>; 11576c923bbSAndy Yan vcc4-supply = <&vcc_sys>; 11676c923bbSAndy Yan vcc6-supply = <&vcc_sys>; 11776c923bbSAndy Yan vcc7-supply = <&vcc_sys>; 11876c923bbSAndy Yan vcc8-supply = <&vcc_io>; 11976c923bbSAndy Yan vcc9-supply = <&vcc_sys>; 12076c923bbSAndy Yan vcc10-supply = <&vcc_sys>; 12176c923bbSAndy Yan vcc11-supply = <&vcc_sys>; 12276c923bbSAndy Yan vcc12-supply = <&vcc_io>; 12376c923bbSAndy Yan clock-output-names = "xin32k", "rk808-clkout2"; 12476c923bbSAndy Yan #clock-cells = <1>; 12576c923bbSAndy Yan 12676c923bbSAndy Yan regulators { 12776c923bbSAndy Yan vdd_cpu: DCDC_REG1 { 12876c923bbSAndy Yan regulator-always-on; 12976c923bbSAndy Yan regulator-boot-on; 13076c923bbSAndy Yan regulator-min-microvolt = <700000>; 13176c923bbSAndy Yan regulator-max-microvolt = <1500000>; 13276c923bbSAndy Yan regulator-name = "vdd_cpu"; 13376c923bbSAndy Yan }; 13476c923bbSAndy Yan 13576c923bbSAndy Yan vdd_log: DCDC_REG2 { 13676c923bbSAndy Yan regulator-always-on; 13776c923bbSAndy Yan regulator-boot-on; 13876c923bbSAndy Yan regulator-min-microvolt = <700000>; 13976c923bbSAndy Yan regulator-max-microvolt = <1500000>; 14076c923bbSAndy Yan regulator-name = "vdd_log"; 14176c923bbSAndy Yan }; 14276c923bbSAndy Yan 14376c923bbSAndy Yan vcc_ddr: DCDC_REG3 { 14476c923bbSAndy Yan regulator-always-on; 14576c923bbSAndy Yan regulator-boot-on; 14676c923bbSAndy Yan regulator-name = "vcc_ddr"; 14776c923bbSAndy Yan }; 14876c923bbSAndy Yan 14976c923bbSAndy Yan vcc_io: DCDC_REG4 { 15076c923bbSAndy Yan regulator-always-on; 15176c923bbSAndy Yan regulator-boot-on; 15276c923bbSAndy Yan regulator-min-microvolt = <3300000>; 15376c923bbSAndy Yan regulator-max-microvolt = <3300000>; 15476c923bbSAndy Yan regulator-name = "vcc_io"; 15576c923bbSAndy Yan }; 15676c923bbSAndy Yan 15776c923bbSAndy Yan vcc18_flash: LDO_REG1 { 15876c923bbSAndy Yan regulator-always-on; 15976c923bbSAndy Yan regulator-boot-on; 16076c923bbSAndy Yan regulator-min-microvolt = <1800000>; 16176c923bbSAndy Yan regulator-max-microvolt = <1800000>; 16276c923bbSAndy Yan regulator-name = "vcc18_flash"; 16376c923bbSAndy Yan }; 16476c923bbSAndy Yan 16576c923bbSAndy Yan vcca_33: LDO_REG2 { 16676c923bbSAndy Yan regulator-always-on; 16776c923bbSAndy Yan regulator-boot-on; 16876c923bbSAndy Yan regulator-min-microvolt = <3300000>; 16976c923bbSAndy Yan regulator-max-microvolt = <3300000>; 17076c923bbSAndy Yan regulator-name = "vcca_33"; 17176c923bbSAndy Yan }; 17276c923bbSAndy Yan 17376c923bbSAndy Yan vdd_10: LDO_REG3 { 17476c923bbSAndy Yan regulator-always-on; 17576c923bbSAndy Yan regulator-boot-on; 17676c923bbSAndy Yan regulator-min-microvolt = <1000000>; 17776c923bbSAndy Yan regulator-max-microvolt = <1000000>; 17876c923bbSAndy Yan regulator-name = "vdd_10"; 17976c923bbSAndy Yan }; 18076c923bbSAndy Yan 18176c923bbSAndy Yan avdd_33: LDO_REG4 { 18276c923bbSAndy Yan regulator-min-microvolt = <3300000>; 18376c923bbSAndy Yan regulator-max-microvolt = <3300000>; 18476c923bbSAndy Yan regulator-name = "avdd_33"; 18576c923bbSAndy Yan }; 18676c923bbSAndy Yan 18776c923bbSAndy Yan vccio_sd: LDO_REG5 { 18876c923bbSAndy Yan regulator-always-on; 18976c923bbSAndy Yan regulator-boot-on; 19076c923bbSAndy Yan regulator-min-microvolt = <1800000>; 19176c923bbSAndy Yan regulator-max-microvolt = <3300000>; 19276c923bbSAndy Yan regulator-name = "vccio_sd"; 19376c923bbSAndy Yan }; 19476c923bbSAndy Yan 19576c923bbSAndy Yan vdd10_lcd: LDO_REG6 { 19676c923bbSAndy Yan regulator-always-on; 19776c923bbSAndy Yan regulator-boot-on; 19876c923bbSAndy Yan regulator-min-microvolt = <1000000>; 19976c923bbSAndy Yan regulator-max-microvolt = <1000000>; 20076c923bbSAndy Yan regulator-name = "vdd10_lcd"; 20176c923bbSAndy Yan }; 20276c923bbSAndy Yan 20376c923bbSAndy Yan vcc_18: LDO_REG7 { 20476c923bbSAndy Yan regulator-always-on; 20576c923bbSAndy Yan regulator-boot-on; 20676c923bbSAndy Yan regulator-min-microvolt = <1800000>; 20776c923bbSAndy Yan regulator-max-microvolt = <1800000>; 20876c923bbSAndy Yan regulator-name = "vcc_18"; 20976c923bbSAndy Yan }; 21076c923bbSAndy Yan 21176c923bbSAndy Yan vcc18_lcd: LDO_REG8 { 21276c923bbSAndy Yan regulator-always-on; 21376c923bbSAndy Yan regulator-boot-on; 21476c923bbSAndy Yan regulator-min-microvolt = <1800000>; 21576c923bbSAndy Yan regulator-max-microvolt = <1800000>; 21676c923bbSAndy Yan regulator-name = "vcc18_lcd"; 21776c923bbSAndy Yan }; 21876c923bbSAndy Yan 21976c923bbSAndy Yan vcc_sd: SWITCH_REG1 { 22076c923bbSAndy Yan regulator-name = "vcc_sd"; 22176c923bbSAndy Yan }; 22276c923bbSAndy Yan 22376c923bbSAndy Yan vcc33_lcd: SWITCH_REG2 { 22476c923bbSAndy Yan regulator-always-on; 22576c923bbSAndy Yan regulator-boot-on; 22676c923bbSAndy Yan regulator-name = "vcc33_lcd"; 22776c923bbSAndy Yan }; 22876c923bbSAndy Yan }; 22976c923bbSAndy Yan }; 23076c923bbSAndy Yan}; 23176c923bbSAndy Yan 23276c923bbSAndy Yan&i2c1 { 23376c923bbSAndy Yan status = "okay"; 23476c923bbSAndy Yan 23576c923bbSAndy Yan accelerometer@18 { 23676c923bbSAndy Yan compatible = "bosch,bma250"; 23776c923bbSAndy Yan reg = <0x18>; 23876c923bbSAndy Yan interrupt-parent = <&gpio2>; 23976c923bbSAndy Yan interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 24076c923bbSAndy Yan }; 24176c923bbSAndy Yan}; 24276c923bbSAndy Yan 24376c923bbSAndy Yan&i2c2 { 24476c923bbSAndy Yan status = "okay"; 24576c923bbSAndy Yan 24676c923bbSAndy Yan gsl1680: touchscreen@40 { 24776c923bbSAndy Yan compatible = "silead,gsl1680"; 24876c923bbSAndy Yan reg = <0x40>; 24976c923bbSAndy Yan interrupt-parent = <&gpio3>; 25076c923bbSAndy Yan interrupts = <28 IRQ_TYPE_EDGE_FALLING>; 25176c923bbSAndy Yan power-gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 25276c923bbSAndy Yan touchscreen-size-x = <800>; 25376c923bbSAndy Yan touchscreen-size-y = <1280>; 25476c923bbSAndy Yan silead,max-fingers = <5>; 25576c923bbSAndy Yan }; 25676c923bbSAndy Yan}; 25776c923bbSAndy Yan 25876c923bbSAndy Yan&pinctrl { 25976c923bbSAndy Yan keys { 26076c923bbSAndy Yan pwr_key: pwr-key { 26176c923bbSAndy Yan rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_none>; 26276c923bbSAndy Yan }; 26376c923bbSAndy Yan }; 26476c923bbSAndy Yan 26576c923bbSAndy Yan pmic { 26676c923bbSAndy Yan pmic_sleep: pmic-sleep { 26776c923bbSAndy Yan rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>; 26876c923bbSAndy Yan }; 26976c923bbSAndy Yan 27076c923bbSAndy Yan pmic_int: pmic-int { 27176c923bbSAndy Yan rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 27276c923bbSAndy Yan }; 27376c923bbSAndy Yan }; 27476c923bbSAndy Yan}; 27576c923bbSAndy Yan 276*41a603b9SShawn Lin&sdmmc { 277*41a603b9SShawn Lin status = "okay"; 278*41a603b9SShawn Lin bus-width = <4>; 279*41a603b9SShawn Lin cap-mmc-highspeed; 280*41a603b9SShawn Lin cap-sd-highspeed; 281*41a603b9SShawn Lin card-detect-delay = <200>; 282*41a603b9SShawn Lin no-emmc; 283*41a603b9SShawn Lin no-sdio; 284*41a603b9SShawn Lin num-slots = <1>; 285*41a603b9SShawn Lin sd-uhs-sdr12; 286*41a603b9SShawn Lin sd-uhs-sdr25; 287*41a603b9SShawn Lin pinctrl-names = "default"; 288*41a603b9SShawn Lin pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_bus4>, <&sdmmc_cd>; 289*41a603b9SShawn Lin rockchip,default-sample-phase = <90>; 290*41a603b9SShawn Lin vmmc-supply = <&vcc_sd>; 291*41a603b9SShawn Lin vqmmc-supply = <&vccio_sd>; 292*41a603b9SShawn Lin}; 293*41a603b9SShawn Lin 29476c923bbSAndy Yan&tsadc { 29576c923bbSAndy Yan status = "okay"; 29676c923bbSAndy Yan rockchip,hw-tshut-mode = <0>; /* CRU */ 29776c923bbSAndy Yan rockchip,hw-tshut-polarity = <1>; /* high */ 29876c923bbSAndy Yan}; 29976c923bbSAndy Yan 30076c923bbSAndy Yan&uart4 { 30176c923bbSAndy Yan status = "okay"; 30276c923bbSAndy Yan}; 30376c923bbSAndy Yan 30476c923bbSAndy Yan&usb_host0_ehci { 30576c923bbSAndy Yan status = "okay"; 30676c923bbSAndy Yan}; 30776c923bbSAndy Yan 30876c923bbSAndy Yan&usb_otg { 30976c923bbSAndy Yan status = "okay"; 31076c923bbSAndy Yan}; 31176c923bbSAndy Yan 31276c923bbSAndy Yan&wdt { 31376c923bbSAndy Yan status = "okay"; 31476c923bbSAndy Yan}; 315