1bafcf2dbSWadim Egorov/* 2bafcf2dbSWadim Egorov * Device tree file for Phytec phyCORE-RK3288 SoM 3bafcf2dbSWadim Egorov * Copyright (C) 2017 PHYTEC Messtechnik GmbH 4bafcf2dbSWadim Egorov * Author: Wadim Egorov <w.egorov@phytec.de> 5bafcf2dbSWadim Egorov * 6bafcf2dbSWadim Egorov * This file is dual-licensed: you can use it either under the terms 7bafcf2dbSWadim Egorov * of the GPL or the X11 license, at your option. Note that this dual 8bafcf2dbSWadim Egorov * licensing only applies to this file, and not this project as a 9bafcf2dbSWadim Egorov * whole. 10bafcf2dbSWadim Egorov * 11bafcf2dbSWadim Egorov * a) This file is free software; you can redistribute it and/or 12bafcf2dbSWadim Egorov * modify it under the terms of the GNU General Public License as 13bafcf2dbSWadim Egorov * published by the Free Software Foundation; either version 2 of the 14bafcf2dbSWadim Egorov * License, or (at your option) any later version. 15bafcf2dbSWadim Egorov * 16bafcf2dbSWadim Egorov * This file is distributed in the hope that it will be useful, 17bafcf2dbSWadim Egorov * but WITHOUT ANY WARRANTY; without even the implied warranty of 18bafcf2dbSWadim Egorov * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19bafcf2dbSWadim Egorov * GNU General Public License for more details. 20bafcf2dbSWadim Egorov * 21bafcf2dbSWadim Egorov * Or, alternatively, 22bafcf2dbSWadim Egorov * 23bafcf2dbSWadim Egorov * b) Permission is hereby granted, free of charge, to any person 24bafcf2dbSWadim Egorov * obtaining a copy of this software and associated documentation 25bafcf2dbSWadim Egorov * files (the "Software"), to deal in the Software without 26bafcf2dbSWadim Egorov * restriction, including without limitation the rights to use, 27bafcf2dbSWadim Egorov * copy, modify, merge, publish, distribute, sublicense, and/or 28bafcf2dbSWadim Egorov * sell copies of the Software, and to permit persons to whom the 29bafcf2dbSWadim Egorov * Software is furnished to do so, subject to the following 30bafcf2dbSWadim Egorov * conditions: 31bafcf2dbSWadim Egorov * 32bafcf2dbSWadim Egorov * The above copyright notice and this permission notice shall be 33bafcf2dbSWadim Egorov * included in all copies or substantial portions of the Software. 34bafcf2dbSWadim Egorov * 35bafcf2dbSWadim Egorov * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36bafcf2dbSWadim Egorov * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37bafcf2dbSWadim Egorov * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38bafcf2dbSWadim Egorov * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39bafcf2dbSWadim Egorov * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40bafcf2dbSWadim Egorov * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41bafcf2dbSWadim Egorov * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42bafcf2dbSWadim Egorov * OTHER DEALINGS IN THE SOFTWARE. 43bafcf2dbSWadim Egorov */ 44bafcf2dbSWadim Egorov 45bafcf2dbSWadim Egorov#include <dt-bindings/net/ti-dp83867.h> 46bafcf2dbSWadim Egorov#include "rk3288.dtsi" 47bafcf2dbSWadim Egorov 48bafcf2dbSWadim Egorov/ { 49bafcf2dbSWadim Egorov model = "Phytec RK3288 phyCORE"; 50bafcf2dbSWadim Egorov compatible = "phytec,rk3288-phycore-som", "rockchip,rk3288"; 51bafcf2dbSWadim Egorov 52bafcf2dbSWadim Egorov /* 53bafcf2dbSWadim Egorov * Set the minimum memory size here and 54bafcf2dbSWadim Egorov * let the bootloader set the real size. 55bafcf2dbSWadim Egorov */ 56bafcf2dbSWadim Egorov memory { 57bafcf2dbSWadim Egorov device_type = "memory"; 58bafcf2dbSWadim Egorov reg = <0 0x8000000>; 59bafcf2dbSWadim Egorov }; 60bafcf2dbSWadim Egorov 61bafcf2dbSWadim Egorov aliases { 62bafcf2dbSWadim Egorov rtc0 = &i2c_rtc; 63bafcf2dbSWadim Egorov rtc1 = &rk818; 64*c03635c3SWadim Egorov eeprom0 = &i2c_eeprom_id; 65bafcf2dbSWadim Egorov }; 66bafcf2dbSWadim Egorov 67bafcf2dbSWadim Egorov ext_gmac: external-gmac-clock { 68bafcf2dbSWadim Egorov compatible = "fixed-clock"; 69bafcf2dbSWadim Egorov #clock-cells = <0>; 70bafcf2dbSWadim Egorov clock-frequency = <125000000>; 71bafcf2dbSWadim Egorov clock-output-names = "ext_gmac"; 72bafcf2dbSWadim Egorov }; 73bafcf2dbSWadim Egorov 74bafcf2dbSWadim Egorov io_domains: io_domains { 75bafcf2dbSWadim Egorov compatible = "rockchip,rk3288-io-voltage-domain"; 76bafcf2dbSWadim Egorov 77bafcf2dbSWadim Egorov status = "okay"; 78bafcf2dbSWadim Egorov sdcard-supply = <&vdd_io_sd>; 79bafcf2dbSWadim Egorov flash0-supply = <&vdd_emmc_io>; 80bafcf2dbSWadim Egorov flash1-supply = <&vdd_misc_1v8>; 81bafcf2dbSWadim Egorov gpio1830-supply = <&vdd_3v3_io>; 82bafcf2dbSWadim Egorov gpio30-supply = <&vdd_3v3_io>; 83bafcf2dbSWadim Egorov bb-supply = <&vdd_3v3_io>; 84bafcf2dbSWadim Egorov dvp-supply = <&vdd_3v3_io>; 85bafcf2dbSWadim Egorov lcdc-supply = <&vdd_3v3_io>; 86bafcf2dbSWadim Egorov wifi-supply = <&vdd_3v3_io>; 87bafcf2dbSWadim Egorov audio-supply = <&vdd_3v3_io>; 88bafcf2dbSWadim Egorov }; 89bafcf2dbSWadim Egorov 90bafcf2dbSWadim Egorov leds: user-leds { 91bafcf2dbSWadim Egorov compatible = "gpio-leds"; 92bafcf2dbSWadim Egorov pinctrl-names = "default"; 93bafcf2dbSWadim Egorov pinctrl-0 = <&user_led>; 94bafcf2dbSWadim Egorov 95bafcf2dbSWadim Egorov user { 96bafcf2dbSWadim Egorov label = "green_led"; 97bafcf2dbSWadim Egorov gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>; 98bafcf2dbSWadim Egorov linux,default-trigger = "heartbeat"; 99bafcf2dbSWadim Egorov default-state = "keep"; 100bafcf2dbSWadim Egorov }; 101bafcf2dbSWadim Egorov }; 102bafcf2dbSWadim Egorov 103bafcf2dbSWadim Egorov vdd_emmc_io: vdd-emmc-io { 104bafcf2dbSWadim Egorov compatible = "regulator-fixed"; 105bafcf2dbSWadim Egorov regulator-name = "vdd_emmc_io"; 106bafcf2dbSWadim Egorov regulator-min-microvolt = <1800000>; 107bafcf2dbSWadim Egorov regulator-max-microvolt = <1800000>; 108bafcf2dbSWadim Egorov vin-supply = <&vdd_3v3_io>; 109bafcf2dbSWadim Egorov }; 110bafcf2dbSWadim Egorov 111bafcf2dbSWadim Egorov vdd_in_otg_out: vdd-in-otg-out { 112bafcf2dbSWadim Egorov compatible = "regulator-fixed"; 113bafcf2dbSWadim Egorov regulator-name = "vdd_in_otg_out"; 114bafcf2dbSWadim Egorov regulator-always-on; 115bafcf2dbSWadim Egorov regulator-boot-on; 116bafcf2dbSWadim Egorov regulator-min-microvolt = <5000000>; 117bafcf2dbSWadim Egorov regulator-max-microvolt = <5000000>; 118bafcf2dbSWadim Egorov }; 119bafcf2dbSWadim Egorov 120bafcf2dbSWadim Egorov vdd_misc_1v8: vdd-misc-1v8 { 121bafcf2dbSWadim Egorov compatible = "regulator-fixed"; 122bafcf2dbSWadim Egorov regulator-name = "vdd_misc_1v8"; 123bafcf2dbSWadim Egorov regulator-always-on; 124bafcf2dbSWadim Egorov regulator-boot-on; 125bafcf2dbSWadim Egorov regulator-min-microvolt = <1800000>; 126bafcf2dbSWadim Egorov regulator-max-microvolt = <1800000>; 127bafcf2dbSWadim Egorov }; 128bafcf2dbSWadim Egorov}; 129bafcf2dbSWadim Egorov 130bafcf2dbSWadim Egorov&cpu0 { 131bafcf2dbSWadim Egorov cpu0-supply = <&vdd_cpu>; 132bafcf2dbSWadim Egorov operating-points = < 133bafcf2dbSWadim Egorov /* KHz uV */ 134bafcf2dbSWadim Egorov 1800000 1400000 135bafcf2dbSWadim Egorov 1608000 1350000 136bafcf2dbSWadim Egorov 1512000 1300000 137bafcf2dbSWadim Egorov 1416000 1200000 138bafcf2dbSWadim Egorov 1200000 1100000 139bafcf2dbSWadim Egorov 1008000 1050000 140bafcf2dbSWadim Egorov 816000 1000000 141bafcf2dbSWadim Egorov 696000 950000 142bafcf2dbSWadim Egorov 600000 900000 143bafcf2dbSWadim Egorov 408000 900000 144bafcf2dbSWadim Egorov 312000 900000 145bafcf2dbSWadim Egorov 216000 900000 146bafcf2dbSWadim Egorov 126000 900000 147bafcf2dbSWadim Egorov >; 148bafcf2dbSWadim Egorov}; 149bafcf2dbSWadim Egorov 150bafcf2dbSWadim Egorov&emmc { 151bafcf2dbSWadim Egorov status = "okay"; 152bafcf2dbSWadim Egorov u-boot,dm-pre-reloc; 153bafcf2dbSWadim Egorov 154bafcf2dbSWadim Egorov bus-width = <8>; 155bafcf2dbSWadim Egorov cap-mmc-highspeed; 156bafcf2dbSWadim Egorov disable-wp; 157bafcf2dbSWadim Egorov non-removable; 158bafcf2dbSWadim Egorov num-slots = <1>; 159bafcf2dbSWadim Egorov pinctrl-names = "default"; 160bafcf2dbSWadim Egorov pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; 161bafcf2dbSWadim Egorov vmmc-supply = <&vdd_3v3_io>; 162bafcf2dbSWadim Egorov vqmmc-supply = <&vdd_emmc_io>; 163bafcf2dbSWadim Egorov}; 164bafcf2dbSWadim Egorov 165bafcf2dbSWadim Egorov&gmac { 166bafcf2dbSWadim Egorov assigned-clocks = <&cru SCLK_MAC>; 167bafcf2dbSWadim Egorov assigned-clock-parents = <&ext_gmac>; 168bafcf2dbSWadim Egorov clock_in_out = "input"; 169bafcf2dbSWadim Egorov pinctrl-names = "default"; 170bafcf2dbSWadim Egorov pinctrl-0 = <&rgmii_pins &phy_rst &phy_int>; 171bafcf2dbSWadim Egorov phy-handle = <&phy0>; 172bafcf2dbSWadim Egorov phy-supply = <&vdd_eth_2v5>; 173bafcf2dbSWadim Egorov phy-mode = "rgmii-id"; 174bafcf2dbSWadim Egorov snps,reset-active-low; 175bafcf2dbSWadim Egorov snps,reset-delays-us = <0 10000 1000000>; 176bafcf2dbSWadim Egorov snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; 177bafcf2dbSWadim Egorov tx_delay = <0x0>; 178bafcf2dbSWadim Egorov rx_delay = <0x0>; 179bafcf2dbSWadim Egorov 180bafcf2dbSWadim Egorov mdio0 { 181bafcf2dbSWadim Egorov compatible = "snps,dwmac-mdio"; 182bafcf2dbSWadim Egorov #address-cells = <1>; 183bafcf2dbSWadim Egorov #size-cells = <0>; 184bafcf2dbSWadim Egorov 185bafcf2dbSWadim Egorov phy0: ethernet-phy@0 { 186bafcf2dbSWadim Egorov compatible = "ethernet-phy-ieee802.3-c22"; 187bafcf2dbSWadim Egorov reg = <0>; 188bafcf2dbSWadim Egorov interrupt-parent = <&gpio4>; 189bafcf2dbSWadim Egorov interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 190bafcf2dbSWadim Egorov ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 191bafcf2dbSWadim Egorov ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 192bafcf2dbSWadim Egorov ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 193bafcf2dbSWadim Egorov enet-phy-lane-no-swap; 194bafcf2dbSWadim Egorov }; 195bafcf2dbSWadim Egorov }; 196bafcf2dbSWadim Egorov}; 197bafcf2dbSWadim Egorov 198bafcf2dbSWadim Egorov&hdmi { 199bafcf2dbSWadim Egorov ddc-i2c-bus = <&i2c5>; 200bafcf2dbSWadim Egorov}; 201bafcf2dbSWadim Egorov 202bafcf2dbSWadim Egorov&i2c0 { 203bafcf2dbSWadim Egorov status = "okay"; 204bafcf2dbSWadim Egorov u-boot,dm-pre-reloc; 205bafcf2dbSWadim Egorov 206bafcf2dbSWadim Egorov clock-frequency = <400000>; 207bafcf2dbSWadim Egorov 208bafcf2dbSWadim Egorov rk818: pmic@1c { 209bafcf2dbSWadim Egorov status = "okay"; 210bafcf2dbSWadim Egorov compatible = "rockchip,rk818"; 211bafcf2dbSWadim Egorov reg = <0x1c>; 212bafcf2dbSWadim Egorov interrupt-parent = <&gpio0>; 213bafcf2dbSWadim Egorov interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 214bafcf2dbSWadim Egorov pinctrl-names = "default"; 215bafcf2dbSWadim Egorov pinctrl-0 = <&pmic_int>; 216bafcf2dbSWadim Egorov rockchip,system-power-controller; 217bafcf2dbSWadim Egorov wakeup-source; 218bafcf2dbSWadim Egorov #clock-cells = <1>; 219bafcf2dbSWadim Egorov u-boot,dm-pre-reloc; 220bafcf2dbSWadim Egorov 221bafcf2dbSWadim Egorov vcc1-supply = <&vdd_sys>; 222bafcf2dbSWadim Egorov vcc2-supply = <&vdd_sys>; 223bafcf2dbSWadim Egorov vcc3-supply = <&vdd_sys>; 224bafcf2dbSWadim Egorov vcc4-supply = <&vdd_sys>; 225bafcf2dbSWadim Egorov boost-supply = <&vdd_in_otg_out>; 226bafcf2dbSWadim Egorov vcc6-supply = <&vdd_sys>; 227bafcf2dbSWadim Egorov vcc7-supply = <&vdd_misc_1v8>; 228bafcf2dbSWadim Egorov vcc8-supply = <&vdd_misc_1v8>; 229bafcf2dbSWadim Egorov vcc9-supply = <&vdd_3v3_io>; 230bafcf2dbSWadim Egorov vddio-supply = <&vdd_3v3_io>; 231bafcf2dbSWadim Egorov 232bafcf2dbSWadim Egorov regulators { 233bafcf2dbSWadim Egorov u-boot,dm-pre-reloc; 234bafcf2dbSWadim Egorov vdd_log: DCDC_REG1 { 235bafcf2dbSWadim Egorov regulator-name = "vdd_log"; 236bafcf2dbSWadim Egorov regulator-always-on; 237bafcf2dbSWadim Egorov regulator-boot-on; 238bafcf2dbSWadim Egorov regulator-min-microvolt = <1100000>; 239bafcf2dbSWadim Egorov regulator-max-microvolt = <1100000>; 240bafcf2dbSWadim Egorov regulator-state-mem { 241bafcf2dbSWadim Egorov regulator-off-in-suspend; 242bafcf2dbSWadim Egorov }; 243bafcf2dbSWadim Egorov }; 244bafcf2dbSWadim Egorov 245bafcf2dbSWadim Egorov vdd_gpu: DCDC_REG2 { 246bafcf2dbSWadim Egorov regulator-name = "vdd_gpu"; 247bafcf2dbSWadim Egorov regulator-always-on; 248bafcf2dbSWadim Egorov regulator-boot-on; 249bafcf2dbSWadim Egorov regulator-min-microvolt = <800000>; 250bafcf2dbSWadim Egorov regulator-max-microvolt = <1250000>; 251bafcf2dbSWadim Egorov regulator-state-mem { 252bafcf2dbSWadim Egorov regulator-on-in-suspend; 253bafcf2dbSWadim Egorov regulator-suspend-microvolt = <1000000>; 254bafcf2dbSWadim Egorov }; 255bafcf2dbSWadim Egorov }; 256bafcf2dbSWadim Egorov 257bafcf2dbSWadim Egorov vcc_ddr: DCDC_REG3 { 258bafcf2dbSWadim Egorov regulator-name = "vcc_ddr"; 259bafcf2dbSWadim Egorov regulator-always-on; 260bafcf2dbSWadim Egorov regulator-boot-on; 261bafcf2dbSWadim Egorov regulator-state-mem { 262bafcf2dbSWadim Egorov regulator-on-in-suspend; 263bafcf2dbSWadim Egorov }; 264bafcf2dbSWadim Egorov }; 265bafcf2dbSWadim Egorov 266bafcf2dbSWadim Egorov vdd_3v3_io: DCDC_REG4 { 267bafcf2dbSWadim Egorov regulator-name = "vdd_3v3_io"; 268bafcf2dbSWadim Egorov regulator-always-on; 269bafcf2dbSWadim Egorov regulator-boot-on; 270bafcf2dbSWadim Egorov regulator-min-microvolt = <3300000>; 271bafcf2dbSWadim Egorov regulator-max-microvolt = <3300000>; 272bafcf2dbSWadim Egorov regulator-state-mem { 273bafcf2dbSWadim Egorov regulator-on-in-suspend; 274bafcf2dbSWadim Egorov regulator-suspend-microvolt = <3300000>; 275bafcf2dbSWadim Egorov }; 276bafcf2dbSWadim Egorov }; 277bafcf2dbSWadim Egorov 278bafcf2dbSWadim Egorov vdd_sys: DCDC_BOOST { 279bafcf2dbSWadim Egorov regulator-name = "vdd_sys"; 280bafcf2dbSWadim Egorov regulator-always-on; 281bafcf2dbSWadim Egorov regulator-boot-on; 282bafcf2dbSWadim Egorov regulator-min-microvolt = <5000000>; 283bafcf2dbSWadim Egorov regulator-max-microvolt = <5000000>; 284bafcf2dbSWadim Egorov regulator-state-mem { 285bafcf2dbSWadim Egorov regulator-on-in-suspend; 286bafcf2dbSWadim Egorov regulator-suspend-microvolt = <5000000>; 287bafcf2dbSWadim Egorov }; 288bafcf2dbSWadim Egorov }; 289bafcf2dbSWadim Egorov 290bafcf2dbSWadim Egorov /* vcc9 */ 291bafcf2dbSWadim Egorov vdd_sd: SWITCH_REG { 292bafcf2dbSWadim Egorov regulator-name = "vdd_sd"; 293bafcf2dbSWadim Egorov regulator-always-on; 294bafcf2dbSWadim Egorov regulator-boot-on; 295bafcf2dbSWadim Egorov regulator-state-mem { 296bafcf2dbSWadim Egorov regulator-off-in-suspend; 297bafcf2dbSWadim Egorov }; 298bafcf2dbSWadim Egorov }; 299bafcf2dbSWadim Egorov 300bafcf2dbSWadim Egorov /* vcc6 */ 301bafcf2dbSWadim Egorov vdd_eth_2v5: LDO_REG2 { 302bafcf2dbSWadim Egorov regulator-name = "vdd_eth_2v5"; 303bafcf2dbSWadim Egorov regulator-always-on; 304bafcf2dbSWadim Egorov regulator-boot-on; 305bafcf2dbSWadim Egorov regulator-min-microvolt = <2500000>; 306bafcf2dbSWadim Egorov regulator-max-microvolt = <2500000>; 307bafcf2dbSWadim Egorov regulator-state-mem { 308bafcf2dbSWadim Egorov regulator-on-in-suspend; 309bafcf2dbSWadim Egorov regulator-suspend-microvolt = <2500000>; 310bafcf2dbSWadim Egorov }; 311bafcf2dbSWadim Egorov }; 312bafcf2dbSWadim Egorov 313bafcf2dbSWadim Egorov /* vcc7 */ 314bafcf2dbSWadim Egorov vdd_1v0: LDO_REG3 { 315bafcf2dbSWadim Egorov regulator-name = "vdd_1v0"; 316bafcf2dbSWadim Egorov regulator-always-on; 317bafcf2dbSWadim Egorov regulator-boot-on; 318bafcf2dbSWadim Egorov regulator-min-microvolt = <1000000>; 319bafcf2dbSWadim Egorov regulator-max-microvolt = <1000000>; 320bafcf2dbSWadim Egorov regulator-state-mem { 321bafcf2dbSWadim Egorov regulator-on-in-suspend; 322bafcf2dbSWadim Egorov regulator-suspend-microvolt = <1000000>; 323bafcf2dbSWadim Egorov }; 324bafcf2dbSWadim Egorov }; 325bafcf2dbSWadim Egorov 326bafcf2dbSWadim Egorov /* vcc8 */ 327bafcf2dbSWadim Egorov vdd_1v8_lcd_ldo: LDO_REG4 { 328bafcf2dbSWadim Egorov regulator-name = "vdd_1v8_lcd_ldo"; 329bafcf2dbSWadim Egorov regulator-always-on; 330bafcf2dbSWadim Egorov regulator-boot-on; 331bafcf2dbSWadim Egorov regulator-min-microvolt = <1800000>; 332bafcf2dbSWadim Egorov regulator-max-microvolt = <1800000>; 333bafcf2dbSWadim Egorov regulator-state-mem { 334bafcf2dbSWadim Egorov regulator-on-in-suspend; 335bafcf2dbSWadim Egorov regulator-suspend-microvolt = <1800000>; 336bafcf2dbSWadim Egorov }; 337bafcf2dbSWadim Egorov }; 338bafcf2dbSWadim Egorov 339bafcf2dbSWadim Egorov /* vcc8 */ 340bafcf2dbSWadim Egorov vdd_1v0_lcd: LDO_REG6 { 341bafcf2dbSWadim Egorov regulator-name = "vdd_1v0_lcd"; 342bafcf2dbSWadim Egorov regulator-always-on; 343bafcf2dbSWadim Egorov regulator-boot-on; 344bafcf2dbSWadim Egorov regulator-min-microvolt = <1000000>; 345bafcf2dbSWadim Egorov regulator-max-microvolt = <1000000>; 346bafcf2dbSWadim Egorov regulator-state-mem { 347bafcf2dbSWadim Egorov regulator-on-in-suspend; 348bafcf2dbSWadim Egorov regulator-suspend-microvolt = <1000000>; 349bafcf2dbSWadim Egorov }; 350bafcf2dbSWadim Egorov }; 351bafcf2dbSWadim Egorov 352bafcf2dbSWadim Egorov /* vcc7 */ 353bafcf2dbSWadim Egorov vdd_1v8_ldo: LDO_REG7 { 354bafcf2dbSWadim Egorov regulator-name = "vdd_1v8_ldo"; 355bafcf2dbSWadim Egorov regulator-always-on; 356bafcf2dbSWadim Egorov regulator-boot-on; 357bafcf2dbSWadim Egorov regulator-min-microvolt = <1800000>; 358bafcf2dbSWadim Egorov regulator-max-microvolt = <1800000>; 359bafcf2dbSWadim Egorov regulator-state-mem { 360bafcf2dbSWadim Egorov regulator-off-in-suspend; 361bafcf2dbSWadim Egorov regulator-suspend-microvolt = <1800000>; 362bafcf2dbSWadim Egorov }; 363bafcf2dbSWadim Egorov }; 364bafcf2dbSWadim Egorov 365bafcf2dbSWadim Egorov /* vcc9 */ 366bafcf2dbSWadim Egorov vdd_io_sd: LDO_REG9 { 367bafcf2dbSWadim Egorov regulator-name = "vdd_io_sd"; 368bafcf2dbSWadim Egorov regulator-always-on; 369bafcf2dbSWadim Egorov regulator-boot-on; 370bafcf2dbSWadim Egorov regulator-min-microvolt = <3300000>; 371bafcf2dbSWadim Egorov regulator-max-microvolt = <3300000>; 372bafcf2dbSWadim Egorov regulator-state-mem { 373bafcf2dbSWadim Egorov regulator-on-in-suspend; 374bafcf2dbSWadim Egorov regulator-suspend-microvolt = <3300000>; 375bafcf2dbSWadim Egorov }; 376bafcf2dbSWadim Egorov }; 377bafcf2dbSWadim Egorov }; 378bafcf2dbSWadim Egorov }; 379bafcf2dbSWadim Egorov 380bafcf2dbSWadim Egorov /* M24C32-D */ 381bafcf2dbSWadim Egorov i2c_eeprom: eeprom@50 { 382bafcf2dbSWadim Egorov compatible = "atmel,24c32"; 383bafcf2dbSWadim Egorov reg = <0x50>; 384bafcf2dbSWadim Egorov pagesize = <32>; 385bafcf2dbSWadim Egorov }; 386bafcf2dbSWadim Egorov 387*c03635c3SWadim Egorov /* M24C32-D Identification page */ 388*c03635c3SWadim Egorov i2c_eeprom_id: eeprom@58 { 389*c03635c3SWadim Egorov compatible = "atmel,24c32"; 390*c03635c3SWadim Egorov reg = <0x58>; 391*c03635c3SWadim Egorov pagesize = <32>; 392*c03635c3SWadim Egorov }; 393*c03635c3SWadim Egorov 394bafcf2dbSWadim Egorov vdd_cpu: regulator@60 { 395bafcf2dbSWadim Egorov compatible = "fcs,fan53555"; 396bafcf2dbSWadim Egorov reg = <0x60>; 397bafcf2dbSWadim Egorov fcs,suspend-voltage-selector = <1>; 398bafcf2dbSWadim Egorov regulator-always-on; 399bafcf2dbSWadim Egorov regulator-boot-on; 400bafcf2dbSWadim Egorov regulator-enable-ramp-delay = <300>; 401bafcf2dbSWadim Egorov regulator-name = "vdd_cpu"; 402bafcf2dbSWadim Egorov regulator-min-microvolt = <800000>; 403bafcf2dbSWadim Egorov regulator-max-microvolt = <1430000>; 404bafcf2dbSWadim Egorov regulator-ramp-delay = <8000>; 405bafcf2dbSWadim Egorov vin-supply = <&vdd_sys>; 406bafcf2dbSWadim Egorov }; 407bafcf2dbSWadim Egorov}; 408bafcf2dbSWadim Egorov 409bafcf2dbSWadim Egorov&pinctrl { 410bafcf2dbSWadim Egorov pcfg_output_high: pcfg-output-high { 411bafcf2dbSWadim Egorov output-high; 412bafcf2dbSWadim Egorov }; 413bafcf2dbSWadim Egorov 414bafcf2dbSWadim Egorov emmc { 415bafcf2dbSWadim Egorov /* 416bafcf2dbSWadim Egorov * We run eMMC at max speed; bump up drive strength. 417bafcf2dbSWadim Egorov * We also have external pulls, so disable the internal ones. 418bafcf2dbSWadim Egorov */ 419bafcf2dbSWadim Egorov emmc_clk: emmc-clk { 420bafcf2dbSWadim Egorov rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none_12ma>; 421bafcf2dbSWadim Egorov }; 422bafcf2dbSWadim Egorov 423bafcf2dbSWadim Egorov emmc_cmd: emmc-cmd { 424bafcf2dbSWadim Egorov rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none_12ma>; 425bafcf2dbSWadim Egorov }; 426bafcf2dbSWadim Egorov 427bafcf2dbSWadim Egorov emmc_bus8: emmc-bus8 { 428bafcf2dbSWadim Egorov rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_none_12ma>, 429bafcf2dbSWadim Egorov <3 1 RK_FUNC_2 &pcfg_pull_none_12ma>, 430bafcf2dbSWadim Egorov <3 2 RK_FUNC_2 &pcfg_pull_none_12ma>, 431bafcf2dbSWadim Egorov <3 3 RK_FUNC_2 &pcfg_pull_none_12ma>, 432bafcf2dbSWadim Egorov <3 4 RK_FUNC_2 &pcfg_pull_none_12ma>, 433bafcf2dbSWadim Egorov <3 5 RK_FUNC_2 &pcfg_pull_none_12ma>, 434bafcf2dbSWadim Egorov <3 6 RK_FUNC_2 &pcfg_pull_none_12ma>, 435bafcf2dbSWadim Egorov <3 7 RK_FUNC_2 &pcfg_pull_none_12ma>; 436bafcf2dbSWadim Egorov }; 437bafcf2dbSWadim Egorov }; 438bafcf2dbSWadim Egorov 439bafcf2dbSWadim Egorov gmac { 440bafcf2dbSWadim Egorov phy_int: phy-int { 441bafcf2dbSWadim Egorov rockchip,pins = <4 2 RK_FUNC_GPIO &pcfg_pull_up>; 442bafcf2dbSWadim Egorov }; 443bafcf2dbSWadim Egorov 444bafcf2dbSWadim Egorov phy_rst: phy-rst { 445bafcf2dbSWadim Egorov rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 446bafcf2dbSWadim Egorov }; 447bafcf2dbSWadim Egorov }; 448bafcf2dbSWadim Egorov 449bafcf2dbSWadim Egorov leds { 450bafcf2dbSWadim Egorov user_led: user-led { 451bafcf2dbSWadim Egorov rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_output_high>; 452bafcf2dbSWadim Egorov }; 453bafcf2dbSWadim Egorov }; 454bafcf2dbSWadim Egorov 455bafcf2dbSWadim Egorov pmic { 456bafcf2dbSWadim Egorov pmic_int: pmic-int { 457bafcf2dbSWadim Egorov rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; 458bafcf2dbSWadim Egorov }; 459bafcf2dbSWadim Egorov 460bafcf2dbSWadim Egorov /* Pin for switching state between sleep and non-sleep state */ 461bafcf2dbSWadim Egorov pmic_sleep: pmic-sleep { 462bafcf2dbSWadim Egorov rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>; 463bafcf2dbSWadim Egorov }; 464bafcf2dbSWadim Egorov }; 465bafcf2dbSWadim Egorov}; 466bafcf2dbSWadim Egorov 467bafcf2dbSWadim Egorov&pwm1 { 468bafcf2dbSWadim Egorov status = "okay"; 469bafcf2dbSWadim Egorov}; 470bafcf2dbSWadim Egorov 471bafcf2dbSWadim Egorov&saradc { 472bafcf2dbSWadim Egorov status = "okay"; 473bafcf2dbSWadim Egorov vref-supply = <&vdd_1v8_ldo>; 474bafcf2dbSWadim Egorov}; 475bafcf2dbSWadim Egorov 476bafcf2dbSWadim Egorov&spi2 { 477bafcf2dbSWadim Egorov status = "okay"; 478bafcf2dbSWadim Egorov 479bafcf2dbSWadim Egorov serial_flash: flash@0 { 480bafcf2dbSWadim Egorov compatible = "micron,n25q128a13", "jedec,spi-nor"; 481bafcf2dbSWadim Egorov reg = <0x0>; 482bafcf2dbSWadim Egorov spi-max-frequency = <50000000>; 483bafcf2dbSWadim Egorov m25p,fast-read; 484bafcf2dbSWadim Egorov #address-cells = <1>; 485bafcf2dbSWadim Egorov #size-cells = <1>; 486bafcf2dbSWadim Egorov status = "okay"; 487bafcf2dbSWadim Egorov }; 488bafcf2dbSWadim Egorov}; 489bafcf2dbSWadim Egorov 490bafcf2dbSWadim Egorov&tsadc { 491bafcf2dbSWadim Egorov status = "okay"; 492bafcf2dbSWadim Egorov rockchip,hw-tshut-mode = <0>; 493bafcf2dbSWadim Egorov rockchip,hw-tshut-polarity = <0>; 494bafcf2dbSWadim Egorov}; 495bafcf2dbSWadim Egorov 496bafcf2dbSWadim Egorov&vopb { 497bafcf2dbSWadim Egorov status = "okay"; 498bafcf2dbSWadim Egorov}; 499bafcf2dbSWadim Egorov 500bafcf2dbSWadim Egorov&vopb_mmu { 501bafcf2dbSWadim Egorov status = "okay"; 502bafcf2dbSWadim Egorov}; 503bafcf2dbSWadim Egorov 504bafcf2dbSWadim Egorov&vopl { 505bafcf2dbSWadim Egorov status = "okay"; 506bafcf2dbSWadim Egorov}; 507bafcf2dbSWadim Egorov 508bafcf2dbSWadim Egorov&vopl_mmu { 509bafcf2dbSWadim Egorov status = "okay"; 510bafcf2dbSWadim Egorov}; 511bafcf2dbSWadim Egorov 512bafcf2dbSWadim Egorov&wdt { 513bafcf2dbSWadim Egorov status = "okay"; 514bafcf2dbSWadim Egorov}; 515