1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (c) 2018 MundoReader S.L. 4*724ba675SRob Herring * Author: Heiko Stuebner <heiko.stuebner@bq.com> 5*724ba675SRob Herring */ 6*724ba675SRob Herring 7*724ba675SRob Herring/dts-v1/; 8*724ba675SRob Herring#include <dt-bindings/i2c/i2c.h> 9*724ba675SRob Herring#include <dt-bindings/input/input.h> 10*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 11*724ba675SRob Herring#include "rk3188.dtsi" 12*724ba675SRob Herring 13*724ba675SRob Herring/ { 14*724ba675SRob Herring model = "BQ Edison2 Quad-Core"; 15*724ba675SRob Herring compatible = "mundoreader,bq-edison2qc", "rockchip,rk3188"; 16*724ba675SRob Herring 17*724ba675SRob Herring aliases { 18*724ba675SRob Herring mmc0 = &mmc0; 19*724ba675SRob Herring mmc1 = &mmc1; 20*724ba675SRob Herring mmc2 = &emmc; 21*724ba675SRob Herring }; 22*724ba675SRob Herring 23*724ba675SRob Herring memory@60000000 { 24*724ba675SRob Herring device_type = "memory"; 25*724ba675SRob Herring reg = <0x60000000 0x80000000>; 26*724ba675SRob Herring }; 27*724ba675SRob Herring 28*724ba675SRob Herring backlight: backlight { 29*724ba675SRob Herring compatible = "pwm-backlight"; 30*724ba675SRob Herring power-supply = <&vsys>; 31*724ba675SRob Herring pwms = <&pwm1 0 25000>; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring gpio-keys { 35*724ba675SRob Herring compatible = "gpio-keys"; 36*724ba675SRob Herring autorepeat; 37*724ba675SRob Herring pinctrl-names = "default"; 38*724ba675SRob Herring pinctrl-0 = <&pwr_key &usb_int>; 39*724ba675SRob Herring 40*724ba675SRob Herring key-power { 41*724ba675SRob Herring gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 42*724ba675SRob Herring linux,code = <KEY_POWER>; 43*724ba675SRob Herring label = "GPIO Key Power"; 44*724ba675SRob Herring linux,input-type = <1>; 45*724ba675SRob Herring debounce-interval = <100>; 46*724ba675SRob Herring wakeup-source; 47*724ba675SRob Herring }; 48*724ba675SRob Herring 49*724ba675SRob Herring wake_on_usb: key-wake-on-usb { 50*724ba675SRob Herring label = "Wake-on-USB"; 51*724ba675SRob Herring gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 52*724ba675SRob Herring linux,code = <KEY_WAKEUP>; 53*724ba675SRob Herring wakeup-source; 54*724ba675SRob Herring }; 55*724ba675SRob Herring }; 56*724ba675SRob Herring 57*724ba675SRob Herring gpio-poweroff { 58*724ba675SRob Herring compatible = "gpio-poweroff"; 59*724ba675SRob Herring gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; 60*724ba675SRob Herring pinctrl-names = "default"; 61*724ba675SRob Herring pinctrl-0 = <&pwr_hold>; 62*724ba675SRob Herring /* only drive the pin low until device is off */ 63*724ba675SRob Herring active-delay-ms = <3000>; 64*724ba675SRob Herring }; 65*724ba675SRob Herring 66*724ba675SRob Herring lvds-encoder { 67*724ba675SRob Herring compatible = "ti,sn75lvds83", "lvds-encoder"; 68*724ba675SRob Herring 69*724ba675SRob Herring ports { 70*724ba675SRob Herring #address-cells = <1>; 71*724ba675SRob Herring #size-cells = <0>; 72*724ba675SRob Herring 73*724ba675SRob Herring port@0 { 74*724ba675SRob Herring reg = <0>; 75*724ba675SRob Herring 76*724ba675SRob Herring lvds_in_vop0: endpoint { 77*724ba675SRob Herring remote-endpoint = <&vop0_out_lvds>; 78*724ba675SRob Herring }; 79*724ba675SRob Herring }; 80*724ba675SRob Herring 81*724ba675SRob Herring port@1 { 82*724ba675SRob Herring reg = <1>; 83*724ba675SRob Herring 84*724ba675SRob Herring lvds_out_panel: endpoint { 85*724ba675SRob Herring remote-endpoint = <&panel_in_lvds>; 86*724ba675SRob Herring }; 87*724ba675SRob Herring }; 88*724ba675SRob Herring }; 89*724ba675SRob Herring }; 90*724ba675SRob Herring 91*724ba675SRob Herring panel { 92*724ba675SRob Herring compatible = "innolux,ee101ia-01d", "panel-lvds"; 93*724ba675SRob Herring backlight = <&backlight>; 94*724ba675SRob Herring 95*724ba675SRob Herring /* pin LCD_CS, Nshtdn input of lvds-encoder */ 96*724ba675SRob Herring enable-gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 97*724ba675SRob Herring pinctrl-names = "default"; 98*724ba675SRob Herring pinctrl-0 = <&lcd_cs>; 99*724ba675SRob Herring power-supply = <&vcc_lcd>; 100*724ba675SRob Herring 101*724ba675SRob Herring data-mapping = "vesa-24"; 102*724ba675SRob Herring height-mm = <163>; 103*724ba675SRob Herring width-mm = <261>; 104*724ba675SRob Herring 105*724ba675SRob Herring panel-timing { 106*724ba675SRob Herring clock-frequency = <72000000>; 107*724ba675SRob Herring hactive = <1280>; 108*724ba675SRob Herring vactive = <800>; 109*724ba675SRob Herring hback-porch = <160>; 110*724ba675SRob Herring hfront-porch = <16>; 111*724ba675SRob Herring hsync-len = <10>; 112*724ba675SRob Herring vback-porch = <23>; 113*724ba675SRob Herring vfront-porch = <12>; 114*724ba675SRob Herring vsync-len = <3>; 115*724ba675SRob Herring }; 116*724ba675SRob Herring 117*724ba675SRob Herring port { 118*724ba675SRob Herring panel_in_lvds: endpoint { 119*724ba675SRob Herring remote-endpoint = <&lvds_out_panel>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring }; 122*724ba675SRob Herring }; 123*724ba675SRob Herring 124*724ba675SRob Herring sdio_pwrseq: sdio-pwrseq { 125*724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 126*724ba675SRob Herring clocks = <&hym8563>; 127*724ba675SRob Herring clock-names = "ext_clock"; 128*724ba675SRob Herring pinctrl-names = "default"; 129*724ba675SRob Herring pinctrl-0 = <&wifi_reg_on>; 130*724ba675SRob Herring reset-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>; 131*724ba675SRob Herring }; 132*724ba675SRob Herring 133*724ba675SRob Herring avdd_cif: cif-avdd-regulator { 134*724ba675SRob Herring compatible = "regulator-fixed"; 135*724ba675SRob Herring regulator-name = "avdd-cif"; 136*724ba675SRob Herring regulator-min-microvolt = <2800000>; 137*724ba675SRob Herring regulator-max-microvolt = <2800000>; 138*724ba675SRob Herring gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; 139*724ba675SRob Herring pinctrl-names = "default"; 140*724ba675SRob Herring pinctrl-0 = <&cif_avdd_en>; 141*724ba675SRob Herring startup-delay-us = <100000>; 142*724ba675SRob Herring vin-supply = <&vcc28_cif>; 143*724ba675SRob Herring }; 144*724ba675SRob Herring 145*724ba675SRob Herring vcc_5v: vcc-5v-regulator { 146*724ba675SRob Herring compatible = "regulator-fixed"; 147*724ba675SRob Herring regulator-name = "vcc-5v"; 148*724ba675SRob Herring regulator-min-microvolt = <5000000>; 149*724ba675SRob Herring regulator-max-microvolt = <5000000>; 150*724ba675SRob Herring enable-active-high; 151*724ba675SRob Herring gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; 152*724ba675SRob Herring pinctrl-names = "default"; 153*724ba675SRob Herring pinctrl-0 = <&v5_drv>; 154*724ba675SRob Herring vin-supply = <&vsys>; 155*724ba675SRob Herring }; 156*724ba675SRob Herring 157*724ba675SRob Herring vcc_lcd: lcd-regulator { 158*724ba675SRob Herring compatible = "regulator-fixed"; 159*724ba675SRob Herring regulator-name = "vcc-lcd"; 160*724ba675SRob Herring gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>; 161*724ba675SRob Herring pinctrl-names = "default"; 162*724ba675SRob Herring pinctrl-0 = <&lcd_en>; 163*724ba675SRob Herring startup-delay-us = <50000>; 164*724ba675SRob Herring vin-supply = <&vcc_io>; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring vcc_otg: usb-otg-regulator { 168*724ba675SRob Herring compatible = "regulator-fixed"; 169*724ba675SRob Herring regulator-name = "vcc-otg"; 170*724ba675SRob Herring regulator-min-microvolt = <5000000>; 171*724ba675SRob Herring regulator-max-microvolt = <5000000>; 172*724ba675SRob Herring enable-active-high; 173*724ba675SRob Herring gpio = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>; 174*724ba675SRob Herring pinctrl-names = "default"; 175*724ba675SRob Herring pinctrl-0 = <&otg_drv>; 176*724ba675SRob Herring startup-delay-us = <100000>; 177*724ba675SRob Herring vin-supply = <&vcc_5v>; 178*724ba675SRob Herring }; 179*724ba675SRob Herring 180*724ba675SRob Herring vcc_sd: sdmmc-regulator { 181*724ba675SRob Herring compatible = "regulator-fixed"; 182*724ba675SRob Herring regulator-name = "vcc-sd"; 183*724ba675SRob Herring regulator-min-microvolt = <3300000>; 184*724ba675SRob Herring regulator-max-microvolt = <3300000>; 185*724ba675SRob Herring gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; 186*724ba675SRob Herring pinctrl-names = "default"; 187*724ba675SRob Herring pinctrl-0 = <&sdmmc_pwr>; 188*724ba675SRob Herring startup-delay-us = <100000>; 189*724ba675SRob Herring vin-supply = <&vcc_io>; 190*724ba675SRob Herring }; 191*724ba675SRob Herring 192*724ba675SRob Herring vccq_emmc: emmc-vccq-regulator { 193*724ba675SRob Herring compatible = "regulator-fixed"; 194*724ba675SRob Herring regulator-name = "vccq-emmc"; 195*724ba675SRob Herring regulator-min-microvolt = <2800000>; 196*724ba675SRob Herring regulator-max-microvolt = <2800000>; 197*724ba675SRob Herring vin-supply = <&vcc_io>; 198*724ba675SRob Herring }; 199*724ba675SRob Herring 200*724ba675SRob Herring /* supplied from the bq24196 */ 201*724ba675SRob Herring vsys: vsys-regulator { 202*724ba675SRob Herring compatible = "regulator-fixed"; 203*724ba675SRob Herring regulator-name = "vsys"; 204*724ba675SRob Herring regulator-min-microvolt = <5000000>; 205*724ba675SRob Herring regulator-max-microvolt = <5000000>; 206*724ba675SRob Herring regulator-boot-on; 207*724ba675SRob Herring }; 208*724ba675SRob Herring}; 209*724ba675SRob Herring 210*724ba675SRob Herring&cpu0 { 211*724ba675SRob Herring cpu-supply = <&vdd_arm>; 212*724ba675SRob Herring}; 213*724ba675SRob Herring 214*724ba675SRob Herring&cpu1 { 215*724ba675SRob Herring cpu-supply = <&vdd_arm>; 216*724ba675SRob Herring}; 217*724ba675SRob Herring 218*724ba675SRob Herring&cpu2 { 219*724ba675SRob Herring cpu-supply = <&vdd_arm>; 220*724ba675SRob Herring}; 221*724ba675SRob Herring 222*724ba675SRob Herring&cpu3 { 223*724ba675SRob Herring cpu-supply = <&vdd_arm>; 224*724ba675SRob Herring}; 225*724ba675SRob Herring 226*724ba675SRob Herring&cru { 227*724ba675SRob Herring assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, 228*724ba675SRob Herring <&cru ACLK_CPU>, 229*724ba675SRob Herring <&cru HCLK_CPU>, <&cru PCLK_CPU>, 230*724ba675SRob Herring <&cru ACLK_PERI>, <&cru HCLK_PERI>, 231*724ba675SRob Herring <&cru PCLK_PERI>; 232*724ba675SRob Herring assigned-clock-rates = <594000000>, <504000000>, 233*724ba675SRob Herring <300000000>, 234*724ba675SRob Herring <150000000>, <75000000>, 235*724ba675SRob Herring <300000000>, <150000000>, 236*724ba675SRob Herring <75000000>; 237*724ba675SRob Herring}; 238*724ba675SRob Herring 239*724ba675SRob Herring&emmc { 240*724ba675SRob Herring bus-width = <8>; 241*724ba675SRob Herring cap-mmc-highspeed; 242*724ba675SRob Herring non-removable; 243*724ba675SRob Herring pinctrl-names = "default"; 244*724ba675SRob Herring pinctrl-0 = <&emmc_clk &emmc_cmd>; 245*724ba675SRob Herring vmmc-supply = <&vcc_io>; 246*724ba675SRob Herring vqmmc-supply = <&vccq_emmc>; 247*724ba675SRob Herring status = "okay"; 248*724ba675SRob Herring}; 249*724ba675SRob Herring 250*724ba675SRob Herring&gpu { 251*724ba675SRob Herring status = "okay"; 252*724ba675SRob Herring}; 253*724ba675SRob Herring 254*724ba675SRob Herring&i2c0 { 255*724ba675SRob Herring clock-frequency = <400000>; 256*724ba675SRob Herring status = "okay"; 257*724ba675SRob Herring 258*724ba675SRob Herring lis3de: accelerometer@29 { 259*724ba675SRob Herring compatible = "st,lis3de"; 260*724ba675SRob Herring reg = <0x29>; 261*724ba675SRob Herring interrupt-parent = <&gpio0>; 262*724ba675SRob Herring interrupts = <RK_PB7 IRQ_TYPE_EDGE_RISING>; 263*724ba675SRob Herring pinctrl-names = "default"; 264*724ba675SRob Herring pinctrl-0 = <&gsensor_int>; 265*724ba675SRob Herring rotation-matrix = "1", "0", "0", 266*724ba675SRob Herring "0", "-1", "0", 267*724ba675SRob Herring "0", "0", "1"; 268*724ba675SRob Herring vdd-supply = <&vcc_io>; 269*724ba675SRob Herring }; 270*724ba675SRob Herring}; 271*724ba675SRob Herring 272*724ba675SRob Herring&i2c1 { 273*724ba675SRob Herring clock-frequency = <400000>; 274*724ba675SRob Herring status = "okay"; 275*724ba675SRob Herring 276*724ba675SRob Herring tmp108@48 { 277*724ba675SRob Herring compatible = "ti,tmp108"; 278*724ba675SRob Herring reg = <0x48>; 279*724ba675SRob Herring interrupt-parent = <&gpio1>; 280*724ba675SRob Herring interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 281*724ba675SRob Herring pinctrl-names = "default"; 282*724ba675SRob Herring pinctrl-0 = <&tmp_alrt>; 283*724ba675SRob Herring #thermal-sensor-cells = <0>; 284*724ba675SRob Herring }; 285*724ba675SRob Herring 286*724ba675SRob Herring hym8563: rtc@51 { 287*724ba675SRob Herring compatible = "haoyu,hym8563"; 288*724ba675SRob Herring reg = <0x51>; 289*724ba675SRob Herring interrupt-parent = <&gpio0>; 290*724ba675SRob Herring interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; 291*724ba675SRob Herring pinctrl-names = "default"; 292*724ba675SRob Herring pinctrl-0 = <&rtc_int>; 293*724ba675SRob Herring #clock-cells = <0>; 294*724ba675SRob Herring clock-output-names = "xin32k"; 295*724ba675SRob Herring }; 296*724ba675SRob Herring 297*724ba675SRob Herring bat: battery@55 { 298*724ba675SRob Herring compatible = "ti,bq27541"; 299*724ba675SRob Herring reg = <0x55>; 300*724ba675SRob Herring power-supplies = <&bq24196>; 301*724ba675SRob Herring }; 302*724ba675SRob Herring 303*724ba675SRob Herring act8846: pmic@5a { 304*724ba675SRob Herring compatible = "active-semi,act8846"; 305*724ba675SRob Herring reg = <0x5a>; 306*724ba675SRob Herring pinctrl-names = "default"; 307*724ba675SRob Herring pinctrl-0 = <&dvs0_ctl &pmic_int>; 308*724ba675SRob Herring 309*724ba675SRob Herring vp1-supply = <&vsys>; 310*724ba675SRob Herring vp2-supply = <&vsys>; 311*724ba675SRob Herring vp3-supply = <&vsys>; 312*724ba675SRob Herring vp4-supply = <&vsys>; 313*724ba675SRob Herring inl1-supply = <&vcc_io>; 314*724ba675SRob Herring inl2-supply = <&vsys>; 315*724ba675SRob Herring inl3-supply = <&vsys>; 316*724ba675SRob Herring 317*724ba675SRob Herring regulators { 318*724ba675SRob Herring vcc_ddr: REG1 { 319*724ba675SRob Herring regulator-name = "VCC_DDR"; 320*724ba675SRob Herring regulator-min-microvolt = <1200000>; 321*724ba675SRob Herring regulator-max-microvolt = <1200000>; 322*724ba675SRob Herring regulator-always-on; 323*724ba675SRob Herring }; 324*724ba675SRob Herring 325*724ba675SRob Herring vdd_log: REG2 { 326*724ba675SRob Herring regulator-name = "VDD_LOG"; 327*724ba675SRob Herring regulator-min-microvolt = <1000000>; 328*724ba675SRob Herring regulator-max-microvolt = <1200000>; 329*724ba675SRob Herring regulator-always-on; 330*724ba675SRob Herring }; 331*724ba675SRob Herring 332*724ba675SRob Herring vdd_arm: REG3 { 333*724ba675SRob Herring regulator-name = "VDD_ARM"; 334*724ba675SRob Herring regulator-min-microvolt = <875000>; 335*724ba675SRob Herring regulator-max-microvolt = <1350000>; 336*724ba675SRob Herring regulator-always-on; 337*724ba675SRob Herring }; 338*724ba675SRob Herring 339*724ba675SRob Herring vcc_io: vcc_hdmi: REG4 { 340*724ba675SRob Herring regulator-name = "VCC_IO"; 341*724ba675SRob Herring regulator-min-microvolt = <3000000>; 342*724ba675SRob Herring regulator-max-microvolt = <3000000>; 343*724ba675SRob Herring regulator-always-on; 344*724ba675SRob Herring }; 345*724ba675SRob Herring 346*724ba675SRob Herring vdd_10: REG5 { 347*724ba675SRob Herring regulator-name = "VDD_10"; 348*724ba675SRob Herring regulator-min-microvolt = <1000000>; 349*724ba675SRob Herring regulator-max-microvolt = <1000000>; 350*724ba675SRob Herring regulator-always-on; 351*724ba675SRob Herring }; 352*724ba675SRob Herring 353*724ba675SRob Herring vdd_12: REG6 { 354*724ba675SRob Herring regulator-name = "VDD_12"; 355*724ba675SRob Herring regulator-min-microvolt = <1200000>; 356*724ba675SRob Herring regulator-max-microvolt = <1200000>; 357*724ba675SRob Herring regulator-always-on; 358*724ba675SRob Herring }; 359*724ba675SRob Herring 360*724ba675SRob Herring vcc18_cif: REG7 { 361*724ba675SRob Herring regulator-name = "VCC18_CIF"; 362*724ba675SRob Herring regulator-min-microvolt = <1800000>; 363*724ba675SRob Herring regulator-max-microvolt = <1800000>; 364*724ba675SRob Herring regulator-always-on; 365*724ba675SRob Herring }; 366*724ba675SRob Herring 367*724ba675SRob Herring vcca_33: REG8 { 368*724ba675SRob Herring regulator-name = "VCCA_33"; 369*724ba675SRob Herring regulator-min-microvolt = <3300000>; 370*724ba675SRob Herring regulator-max-microvolt = <3300000>; 371*724ba675SRob Herring regulator-always-on; 372*724ba675SRob Herring }; 373*724ba675SRob Herring 374*724ba675SRob Herring vcc_tp: REG9 { 375*724ba675SRob Herring regulator-name = "VCC_TP"; 376*724ba675SRob Herring regulator-min-microvolt = <3300000>; 377*724ba675SRob Herring regulator-max-microvolt = <3300000>; 378*724ba675SRob Herring regulator-always-on; 379*724ba675SRob Herring }; 380*724ba675SRob Herring 381*724ba675SRob Herring vccio_wl: REG10 { 382*724ba675SRob Herring regulator-name = "VCCIO_WL"; 383*724ba675SRob Herring regulator-min-microvolt = <2800000>; 384*724ba675SRob Herring regulator-max-microvolt = <2800000>; 385*724ba675SRob Herring regulator-always-on; 386*724ba675SRob Herring }; 387*724ba675SRob Herring 388*724ba675SRob Herring vcc_18: REG11 { 389*724ba675SRob Herring regulator-name = "VCC_18"; 390*724ba675SRob Herring regulator-min-microvolt = <1800000>; 391*724ba675SRob Herring regulator-max-microvolt = <1800000>; 392*724ba675SRob Herring regulator-always-on; 393*724ba675SRob Herring }; 394*724ba675SRob Herring 395*724ba675SRob Herring vcc28_cif: REG12 { 396*724ba675SRob Herring regulator-name = "VCC28_CIF"; 397*724ba675SRob Herring regulator-min-microvolt = <2800000>; 398*724ba675SRob Herring regulator-max-microvolt = <2800000>; 399*724ba675SRob Herring regulator-always-on; 400*724ba675SRob Herring }; 401*724ba675SRob Herring }; 402*724ba675SRob Herring }; 403*724ba675SRob Herring 404*724ba675SRob Herring bq24196: charger@6b { 405*724ba675SRob Herring compatible = "ti,bq24196"; 406*724ba675SRob Herring reg = <0x6b>; 407*724ba675SRob Herring interrupt-parent = <&gpio0>; 408*724ba675SRob Herring interrupts = <RK_PD7 IRQ_TYPE_EDGE_FALLING>; 409*724ba675SRob Herring pinctrl-names = "default"; 410*724ba675SRob Herring pinctrl-0 = <&charger_int &chg_ctl &otg_en>; 411*724ba675SRob Herring ti,system-minimum-microvolt = <3200000>; 412*724ba675SRob Herring monitored-battery = <&bat>; 413*724ba675SRob Herring omit-battery-class; 414*724ba675SRob Herring 415*724ba675SRob Herring usb_otg_vbus: usb-otg-vbus { }; 416*724ba675SRob Herring }; 417*724ba675SRob Herring}; 418*724ba675SRob Herring 419*724ba675SRob Herring&i2c2 { 420*724ba675SRob Herring clock-frequency = <400000>; 421*724ba675SRob Herring status = "okay"; 422*724ba675SRob Herring 423*724ba675SRob Herring ft5606: touchscreen@3e { 424*724ba675SRob Herring compatible = "edt,edt-ft5506"; 425*724ba675SRob Herring reg = <0x3e>; 426*724ba675SRob Herring interrupt-parent = <&gpio1>; 427*724ba675SRob Herring interrupts = <RK_PB7 IRQ_TYPE_EDGE_FALLING>; 428*724ba675SRob Herring pinctrl-names = "default"; 429*724ba675SRob Herring pinctrl-0 = <&tp_int &tp_rst>; 430*724ba675SRob Herring reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; 431*724ba675SRob Herring touchscreen-inverted-y; 432*724ba675SRob Herring /* hw ts resolution does not match display */ 433*724ba675SRob Herring touchscreen-size-y = <1024>; 434*724ba675SRob Herring touchscreen-size-x = <768>; 435*724ba675SRob Herring touchscreen-swapped-x-y; 436*724ba675SRob Herring }; 437*724ba675SRob Herring}; 438*724ba675SRob Herring 439*724ba675SRob Herring&i2c3 { 440*724ba675SRob Herring clock-frequency = <400000>; 441*724ba675SRob Herring status = "okay"; 442*724ba675SRob Herring}; 443*724ba675SRob Herring 444*724ba675SRob Herring&i2c4 { 445*724ba675SRob Herring clock-frequency = <400000>; 446*724ba675SRob Herring status = "okay"; 447*724ba675SRob Herring 448*724ba675SRob Herring rt5616: codec@1b { 449*724ba675SRob Herring compatible = "realtek,rt5616"; 450*724ba675SRob Herring reg = <0x1b>; 451*724ba675SRob Herring clocks = <&cru SCLK_I2S0>; 452*724ba675SRob Herring clock-names = "mclk"; 453*724ba675SRob Herring #sound-dai-cells = <0>; 454*724ba675SRob Herring }; 455*724ba675SRob Herring}; 456*724ba675SRob Herring 457*724ba675SRob Herring&i2s0 { 458*724ba675SRob Herring status = "okay"; 459*724ba675SRob Herring}; 460*724ba675SRob Herring 461*724ba675SRob Herring&mmc0 { 462*724ba675SRob Herring bus-width = <4>; 463*724ba675SRob Herring cap-mmc-highspeed; 464*724ba675SRob Herring cap-sd-highspeed; 465*724ba675SRob Herring disable-wp; 466*724ba675SRob Herring pinctrl-names = "default"; 467*724ba675SRob Herring pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; 468*724ba675SRob Herring vmmc-supply = <&vcc_sd>; 469*724ba675SRob Herring status = "okay"; 470*724ba675SRob Herring}; 471*724ba675SRob Herring 472*724ba675SRob Herring&mmc1 { 473*724ba675SRob Herring bus-width = <4>; 474*724ba675SRob Herring cap-sd-highspeed; 475*724ba675SRob Herring keep-power-in-suspend; 476*724ba675SRob Herring mmc-pwrseq = <&sdio_pwrseq>; 477*724ba675SRob Herring non-removable; 478*724ba675SRob Herring pinctrl-names = "default"; 479*724ba675SRob Herring pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; 480*724ba675SRob Herring vqmmc-supply = <&vccio_wl>; 481*724ba675SRob Herring #address-cells = <1>; 482*724ba675SRob Herring #size-cells = <0>; 483*724ba675SRob Herring status = "okay"; 484*724ba675SRob Herring 485*724ba675SRob Herring brcmf: wifi@1 { 486*724ba675SRob Herring reg = <1>; 487*724ba675SRob Herring compatible = "brcm,bcm4329-fmac"; 488*724ba675SRob Herring interrupt-parent = <&gpio3>; 489*724ba675SRob Herring interrupts = <RK_PD2 IRQ_TYPE_NONE>; 490*724ba675SRob Herring interrupt-names = "host-wake"; 491*724ba675SRob Herring brcm,drive-strength = <5>; 492*724ba675SRob Herring pinctrl-names = "default"; 493*724ba675SRob Herring pinctrl-0 = <&wifi_host_wake>; 494*724ba675SRob Herring }; 495*724ba675SRob Herring}; 496*724ba675SRob Herring 497*724ba675SRob Herring&pwm1 { 498*724ba675SRob Herring status = "okay"; 499*724ba675SRob Herring}; 500*724ba675SRob Herring 501*724ba675SRob Herring&pinctrl { 502*724ba675SRob Herring pcfg_output_high: pcfg-output-high { 503*724ba675SRob Herring output-high; 504*724ba675SRob Herring }; 505*724ba675SRob Herring 506*724ba675SRob Herring pcfg_output_low: pcfg-output-low { 507*724ba675SRob Herring output-low; 508*724ba675SRob Herring }; 509*724ba675SRob Herring 510*724ba675SRob Herring act8846 { 511*724ba675SRob Herring dvs0_ctl: dvs0-ctl { 512*724ba675SRob Herring rockchip,pins = <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_low>; 513*724ba675SRob Herring }; 514*724ba675SRob Herring 515*724ba675SRob Herring pmic_int: pmic-int { 516*724ba675SRob Herring rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>; 517*724ba675SRob Herring }; 518*724ba675SRob Herring }; 519*724ba675SRob Herring 520*724ba675SRob Herring bq24196 { 521*724ba675SRob Herring charger_int: charger-int { 522*724ba675SRob Herring rockchip,pins = <0 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>; 523*724ba675SRob Herring }; 524*724ba675SRob Herring 525*724ba675SRob Herring /* pin hog to make it select usb profile */ 526*724ba675SRob Herring chg_ctl: chg-ctl { 527*724ba675SRob Herring rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>; 528*724ba675SRob Herring }; 529*724ba675SRob Herring 530*724ba675SRob Herring /* low: charging, high: complete, fault: blinking */ 531*724ba675SRob Herring chg_det: chg-det { 532*724ba675SRob Herring rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 533*724ba675SRob Herring }; 534*724ba675SRob Herring 535*724ba675SRob Herring /* charging enabled when pin low and register set */ 536*724ba675SRob Herring chg_en: chg-en { 537*724ba675SRob Herring rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_output_low>; 538*724ba675SRob Herring }; 539*724ba675SRob Herring 540*724ba675SRob Herring /* bq29196 powergood (when low) signal */ 541*724ba675SRob Herring dc_det: dc-det { 542*724ba675SRob Herring rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 543*724ba675SRob Herring }; 544*724ba675SRob Herring 545*724ba675SRob Herring /* wire bq24196 otg pin to high, to enable 500mA charging */ 546*724ba675SRob Herring otg_en: otg-en { 547*724ba675SRob Herring rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>; 548*724ba675SRob Herring }; 549*724ba675SRob Herring }; 550*724ba675SRob Herring 551*724ba675SRob Herring camera { 552*724ba675SRob Herring cif0_pdn: cif0-pdn { 553*724ba675SRob Herring rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 554*724ba675SRob Herring }; 555*724ba675SRob Herring 556*724ba675SRob Herring cif1_pdn: cif1-pdn { 557*724ba675SRob Herring rockchip,pins = <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 558*724ba675SRob Herring }; 559*724ba675SRob Herring 560*724ba675SRob Herring cif_avdd_en: cif-avdd-en { 561*724ba675SRob Herring rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 562*724ba675SRob Herring }; 563*724ba675SRob Herring }; 564*724ba675SRob Herring 565*724ba675SRob Herring display { 566*724ba675SRob Herring lcd_cs: lcd-cs { 567*724ba675SRob Herring rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 568*724ba675SRob Herring }; 569*724ba675SRob Herring 570*724ba675SRob Herring lcd_en: lcd-en { 571*724ba675SRob Herring rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 572*724ba675SRob Herring }; 573*724ba675SRob Herring }; 574*724ba675SRob Herring 575*724ba675SRob Herring ft5606 { 576*724ba675SRob Herring tp_int: tp-int { 577*724ba675SRob Herring rockchip,pins = <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>; 578*724ba675SRob Herring }; 579*724ba675SRob Herring 580*724ba675SRob Herring tp_rst: tp-rst { 581*724ba675SRob Herring rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 582*724ba675SRob Herring }; 583*724ba675SRob Herring }; 584*724ba675SRob Herring 585*724ba675SRob Herring hdmi { 586*724ba675SRob Herring hdmi_int: hdmi-int { 587*724ba675SRob Herring rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 588*724ba675SRob Herring }; 589*724ba675SRob Herring 590*724ba675SRob Herring hdmi_rst: hdmi-rst { 591*724ba675SRob Herring rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 592*724ba675SRob Herring }; 593*724ba675SRob Herring }; 594*724ba675SRob Herring 595*724ba675SRob Herring hym8563 { 596*724ba675SRob Herring rtc_int: rtc-int { 597*724ba675SRob Herring rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 598*724ba675SRob Herring }; 599*724ba675SRob Herring }; 600*724ba675SRob Herring 601*724ba675SRob Herring keys { 602*724ba675SRob Herring pwr_hold: pwr-hold { 603*724ba675SRob Herring rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 604*724ba675SRob Herring }; 605*724ba675SRob Herring 606*724ba675SRob Herring pwr_key: pwr-key { 607*724ba675SRob Herring rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 608*724ba675SRob Herring }; 609*724ba675SRob Herring }; 610*724ba675SRob Herring 611*724ba675SRob Herring lis3de { 612*724ba675SRob Herring gsensor_int: gsensor-int { 613*724ba675SRob Herring rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 614*724ba675SRob Herring }; 615*724ba675SRob Herring }; 616*724ba675SRob Herring 617*724ba675SRob Herring mmc { 618*724ba675SRob Herring sdmmc_pwr: sdmmc-pwr { 619*724ba675SRob Herring rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 620*724ba675SRob Herring }; 621*724ba675SRob Herring }; 622*724ba675SRob Herring 623*724ba675SRob Herring tmp108 { 624*724ba675SRob Herring tmp_alrt: tmp-alrt { 625*724ba675SRob Herring rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; 626*724ba675SRob Herring }; 627*724ba675SRob Herring }; 628*724ba675SRob Herring 629*724ba675SRob Herring usb { 630*724ba675SRob Herring v5_drv: v5-drv { 631*724ba675SRob Herring rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 632*724ba675SRob Herring }; 633*724ba675SRob Herring 634*724ba675SRob Herring otg_drv: otg-drv { 635*724ba675SRob Herring rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 636*724ba675SRob Herring }; 637*724ba675SRob Herring 638*724ba675SRob Herring usb_int: usb-int { 639*724ba675SRob Herring rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 640*724ba675SRob Herring }; 641*724ba675SRob Herring }; 642*724ba675SRob Herring 643*724ba675SRob Herring rk903 { 644*724ba675SRob Herring bt_host_wake: bt-host-wake { 645*724ba675SRob Herring rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 646*724ba675SRob Herring }; 647*724ba675SRob Herring 648*724ba675SRob Herring bt_reg_on: bt-reg-on { 649*724ba675SRob Herring rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 650*724ba675SRob Herring }; 651*724ba675SRob Herring 652*724ba675SRob Herring /* pin hog to pull the reset high */ 653*724ba675SRob Herring bt_rst: bt-rst { 654*724ba675SRob Herring rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_output_high>; 655*724ba675SRob Herring }; 656*724ba675SRob Herring 657*724ba675SRob Herring bt_wake: bt-wake { 658*724ba675SRob Herring rockchip,pins = <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 659*724ba675SRob Herring }; 660*724ba675SRob Herring 661*724ba675SRob Herring wifi_host_wake: wifi-host-wake { 662*724ba675SRob Herring rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; 663*724ba675SRob Herring }; 664*724ba675SRob Herring 665*724ba675SRob Herring wifi_reg_on: wifi-reg-on { 666*724ba675SRob Herring rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 667*724ba675SRob Herring }; 668*724ba675SRob Herring }; 669*724ba675SRob Herring}; 670*724ba675SRob Herring 671*724ba675SRob Herring&saradc { 672*724ba675SRob Herring vref-supply = <&vcc_18>; 673*724ba675SRob Herring status = "okay"; 674*724ba675SRob Herring}; 675*724ba675SRob Herring 676*724ba675SRob Herring&spdif { 677*724ba675SRob Herring status = "okay"; 678*724ba675SRob Herring}; 679*724ba675SRob Herring 680*724ba675SRob Herring&uart0 { 681*724ba675SRob Herring pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 682*724ba675SRob Herring status = "okay"; 683*724ba675SRob Herring 684*724ba675SRob Herring bluetooth { 685*724ba675SRob Herring compatible = "brcm,bcm43438-bt"; 686*724ba675SRob Herring max-speed = <2000000>; 687*724ba675SRob Herring device-wakeup-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; 688*724ba675SRob Herring host-wakeup-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 689*724ba675SRob Herring shutdown-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>; 690*724ba675SRob Herring pinctrl-names = "default"; 691*724ba675SRob Herring pinctrl-0 = <&bt_host_wake &bt_reg_on &bt_rst &bt_wake>; 692*724ba675SRob Herring }; 693*724ba675SRob Herring}; 694*724ba675SRob Herring 695*724ba675SRob Herring&uart1 { 696*724ba675SRob Herring status = "okay"; 697*724ba675SRob Herring}; 698*724ba675SRob Herring 699*724ba675SRob Herring&uart2 { 700*724ba675SRob Herring status = "okay"; 701*724ba675SRob Herring}; 702*724ba675SRob Herring 703*724ba675SRob Herring&uart3 { 704*724ba675SRob Herring pinctrl-0 = <&uart3_xfer &uart3_cts &uart3_rts>; 705*724ba675SRob Herring status = "okay"; 706*724ba675SRob Herring}; 707*724ba675SRob Herring 708*724ba675SRob Herring&usbphy { 709*724ba675SRob Herring status = "okay"; 710*724ba675SRob Herring}; 711*724ba675SRob Herring 712*724ba675SRob Herring&usb_host { 713*724ba675SRob Herring status = "okay"; 714*724ba675SRob Herring}; 715*724ba675SRob Herring 716*724ba675SRob Herring&usb_otg { 717*724ba675SRob Herring status = "okay"; 718*724ba675SRob Herring}; 719*724ba675SRob Herring 720*724ba675SRob Herring&vop0 { 721*724ba675SRob Herring status = "okay"; 722*724ba675SRob Herring}; 723*724ba675SRob Herring 724*724ba675SRob Herring&vop0_out { 725*724ba675SRob Herring vop0_out_lvds: endpoint { 726*724ba675SRob Herring remote-endpoint = <&lvds_in_vop0>; 727*724ba675SRob Herring }; 728*724ba675SRob Herring}; 729*724ba675SRob Herring 730*724ba675SRob Herring&vop1 { 731*724ba675SRob Herring pinctrl-names = "default"; 732*724ba675SRob Herring pinctrl-0 = <&lcdc1_dclk &lcdc1_den &lcdc1_hsync 733*724ba675SRob Herring &lcdc1_vsync &lcdc1_rgb24>; 734*724ba675SRob Herring status = "okay"; 735*724ba675SRob Herring}; 736*724ba675SRob Herring 737*724ba675SRob Herring&wdt { 738*724ba675SRob Herring status = "okay"; 739*724ba675SRob Herring}; 740