1*68b08c40SSimon Glass/* 2*68b08c40SSimon Glass * This file is dual-licensed: you can use it either under the terms 3*68b08c40SSimon Glass * of the GPL or the X11 license, at your option. Note that this dual 4*68b08c40SSimon Glass * licensing only applies to this file, and not this project as a 5*68b08c40SSimon Glass * whole. 6*68b08c40SSimon Glass * 7*68b08c40SSimon Glass * a) This file is free software; you can redistribute it and/or 8*68b08c40SSimon Glass * modify it under the terms of the GNU General Public License as 9*68b08c40SSimon Glass * published by the Free Software Foundation; either version 2 of the 10*68b08c40SSimon Glass * License, or (at your option) any later version. 11*68b08c40SSimon Glass * 12*68b08c40SSimon Glass * This file is distributed in the hope that it will be useful, 13*68b08c40SSimon Glass * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*68b08c40SSimon Glass * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*68b08c40SSimon Glass * GNU General Public License for more details. 16*68b08c40SSimon Glass * 17*68b08c40SSimon Glass * Or, alternatively, 18*68b08c40SSimon Glass * 19*68b08c40SSimon Glass * b) Permission is hereby granted, free of charge, to any person 20*68b08c40SSimon Glass * obtaining a copy of this software and associated documentation 21*68b08c40SSimon Glass * files (the "Software"), to deal in the Software without 22*68b08c40SSimon Glass * restriction, including without limitation the rights to use, 23*68b08c40SSimon Glass * copy, modify, merge, publish, distribute, sublicense, and/or 24*68b08c40SSimon Glass * sell copies of the Software, and to permit persons to whom the 25*68b08c40SSimon Glass * Software is furnished to do so, subject to the following 26*68b08c40SSimon Glass * conditions: 27*68b08c40SSimon Glass * 28*68b08c40SSimon Glass * The above copyright notice and this permission notice shall be 29*68b08c40SSimon Glass * included in all copies or substantial portions of the Software. 30*68b08c40SSimon Glass * 31*68b08c40SSimon Glass * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 32*68b08c40SSimon Glass * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 33*68b08c40SSimon Glass * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 34*68b08c40SSimon Glass * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 35*68b08c40SSimon Glass * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 36*68b08c40SSimon Glass * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 37*68b08c40SSimon Glass * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 38*68b08c40SSimon Glass * OTHER DEALINGS IN THE SOFTWARE. 39*68b08c40SSimon Glass */ 40*68b08c40SSimon Glass 41*68b08c40SSimon Glass#include <dt-bindings/pwm/pwm.h> 42*68b08c40SSimon Glass#include "rk3288.dtsi" 43*68b08c40SSimon Glass 44*68b08c40SSimon Glass/ { 45*68b08c40SSimon Glass memory { 46*68b08c40SSimon Glass reg = <0x0 0x80000000>; 47*68b08c40SSimon Glass device_type = "memory"; 48*68b08c40SSimon Glass }; 49*68b08c40SSimon Glass 50*68b08c40SSimon Glass emmc_pwrseq: emmc-pwrseq { 51*68b08c40SSimon Glass compatible = "mmc-pwrseq-emmc"; 52*68b08c40SSimon Glass pinctrl-0 = <&emmc_reset>; 53*68b08c40SSimon Glass pinctrl-names = "default"; 54*68b08c40SSimon Glass reset-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>; 55*68b08c40SSimon Glass }; 56*68b08c40SSimon Glass 57*68b08c40SSimon Glass ext_gmac: external-gmac-clock { 58*68b08c40SSimon Glass compatible = "fixed-clock"; 59*68b08c40SSimon Glass #clock-cells = <0>; 60*68b08c40SSimon Glass clock-frequency = <125000000>; 61*68b08c40SSimon Glass clock-output-names = "ext_gmac"; 62*68b08c40SSimon Glass }; 63*68b08c40SSimon Glass 64*68b08c40SSimon Glass vcc_sys: vsys-regulator { 65*68b08c40SSimon Glass compatible = "regulator-fixed"; 66*68b08c40SSimon Glass regulator-name = "vcc_sys"; 67*68b08c40SSimon Glass regulator-min-microvolt = <5000000>; 68*68b08c40SSimon Glass regulator-max-microvolt = <5000000>; 69*68b08c40SSimon Glass regulator-always-on; 70*68b08c40SSimon Glass regulator-boot-on; 71*68b08c40SSimon Glass }; 72*68b08c40SSimon Glass}; 73*68b08c40SSimon Glass 74*68b08c40SSimon Glass&cpu0 { 75*68b08c40SSimon Glass cpu0-supply = <&vdd_cpu>; 76*68b08c40SSimon Glass}; 77*68b08c40SSimon Glass 78*68b08c40SSimon Glass&emmc { 79*68b08c40SSimon Glass bus-width = <8>; 80*68b08c40SSimon Glass cap-mmc-highspeed; 81*68b08c40SSimon Glass disable-wp; 82*68b08c40SSimon Glass non-removable; 83*68b08c40SSimon Glass num-slots = <1>; 84*68b08c40SSimon Glass mmc-pwrseq = <&emmc_pwrseq>; 85*68b08c40SSimon Glass pinctrl-names = "default"; 86*68b08c40SSimon Glass pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 87*68b08c40SSimon Glass vmmc-supply = <&vcc_io>; 88*68b08c40SSimon Glass status = "okay"; 89*68b08c40SSimon Glass}; 90*68b08c40SSimon Glass 91*68b08c40SSimon Glass&gmac { 92*68b08c40SSimon Glass assigned-clocks = <&cru SCLK_MAC>; 93*68b08c40SSimon Glass assigned-clock-parents = <&ext_gmac>; 94*68b08c40SSimon Glass clock_in_out = "input"; 95*68b08c40SSimon Glass phy-mode = "rgmii"; 96*68b08c40SSimon Glass phy-supply = <&vccio_pmu>; 97*68b08c40SSimon Glass pinctrl-names = "default"; 98*68b08c40SSimon Glass pinctrl-0 = <&rgmii_pins &phy_rst>; 99*68b08c40SSimon Glass snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>; 100*68b08c40SSimon Glass snps,reset-active-low; 101*68b08c40SSimon Glass snps,reset-delays-us = <0 10000 30000>; 102*68b08c40SSimon Glass rx_delay = <0x10>; 103*68b08c40SSimon Glass tx_delay = <0x30>; 104*68b08c40SSimon Glass}; 105*68b08c40SSimon Glass 106*68b08c40SSimon Glass&i2c0 { 107*68b08c40SSimon Glass status = "okay"; 108*68b08c40SSimon Glass 109*68b08c40SSimon Glass act8846: act8846@5a { 110*68b08c40SSimon Glass compatible = "active-semi,act8846"; 111*68b08c40SSimon Glass reg = <0x5a>; 112*68b08c40SSimon Glass system-power-controller; 113*68b08c40SSimon Glass inl1-supply = <&vcc_io>; 114*68b08c40SSimon Glass inl2-supply = <&vcc_sys>; 115*68b08c40SSimon Glass inl3-supply = <&vcc_20>; 116*68b08c40SSimon Glass vp1-supply = <&vcc_sys>; 117*68b08c40SSimon Glass vp2-supply = <&vcc_sys>; 118*68b08c40SSimon Glass vp3-supply = <&vcc_sys>; 119*68b08c40SSimon Glass vp4-supply = <&vcc_sys>; 120*68b08c40SSimon Glass 121*68b08c40SSimon Glass regulators { 122*68b08c40SSimon Glass vcc_ddr: REG1 { 123*68b08c40SSimon Glass regulator-name = "VCC_DDR"; 124*68b08c40SSimon Glass regulator-min-microvolt = <1200000>; 125*68b08c40SSimon Glass regulator-max-microvolt = <1200000>; 126*68b08c40SSimon Glass regulator-always-on; 127*68b08c40SSimon Glass }; 128*68b08c40SSimon Glass 129*68b08c40SSimon Glass vcc_io: REG2 { 130*68b08c40SSimon Glass regulator-name = "VCC_IO"; 131*68b08c40SSimon Glass regulator-min-microvolt = <3300000>; 132*68b08c40SSimon Glass regulator-max-microvolt = <3300000>; 133*68b08c40SSimon Glass regulator-always-on; 134*68b08c40SSimon Glass }; 135*68b08c40SSimon Glass 136*68b08c40SSimon Glass vdd_log: REG3 { 137*68b08c40SSimon Glass regulator-name = "VDD_LOG"; 138*68b08c40SSimon Glass regulator-min-microvolt = <1000000>; 139*68b08c40SSimon Glass regulator-max-microvolt = <1000000>; 140*68b08c40SSimon Glass regulator-always-on; 141*68b08c40SSimon Glass }; 142*68b08c40SSimon Glass 143*68b08c40SSimon Glass vcc_20: REG4 { 144*68b08c40SSimon Glass regulator-name = "VCC_20"; 145*68b08c40SSimon Glass regulator-min-microvolt = <2000000>; 146*68b08c40SSimon Glass regulator-max-microvolt = <2000000>; 147*68b08c40SSimon Glass regulator-always-on; 148*68b08c40SSimon Glass }; 149*68b08c40SSimon Glass 150*68b08c40SSimon Glass vccio_sd: REG5 { 151*68b08c40SSimon Glass regulator-name = "VCCIO_SD"; 152*68b08c40SSimon Glass regulator-min-microvolt = <3300000>; 153*68b08c40SSimon Glass regulator-max-microvolt = <3300000>; 154*68b08c40SSimon Glass regulator-always-on; 155*68b08c40SSimon Glass }; 156*68b08c40SSimon Glass 157*68b08c40SSimon Glass vdd10_lcd: REG6 { 158*68b08c40SSimon Glass regulator-name = "VDD10_LCD"; 159*68b08c40SSimon Glass regulator-min-microvolt = <1000000>; 160*68b08c40SSimon Glass regulator-max-microvolt = <1000000>; 161*68b08c40SSimon Glass regulator-always-on; 162*68b08c40SSimon Glass }; 163*68b08c40SSimon Glass 164*68b08c40SSimon Glass vcca_codec: REG7 { 165*68b08c40SSimon Glass regulator-name = "VCCA_CODEC"; 166*68b08c40SSimon Glass regulator-min-microvolt = <3300000>; 167*68b08c40SSimon Glass regulator-max-microvolt = <3300000>; 168*68b08c40SSimon Glass regulator-always-on; 169*68b08c40SSimon Glass }; 170*68b08c40SSimon Glass 171*68b08c40SSimon Glass vcca_tp: REG8 { 172*68b08c40SSimon Glass regulator-name = "VCCA_TP"; 173*68b08c40SSimon Glass regulator-min-microvolt = <3300000>; 174*68b08c40SSimon Glass regulator-max-microvolt = <3300000>; 175*68b08c40SSimon Glass regulator-always-on; 176*68b08c40SSimon Glass }; 177*68b08c40SSimon Glass 178*68b08c40SSimon Glass vccio_pmu: REG9 { 179*68b08c40SSimon Glass regulator-name = "VCCIO_PMU"; 180*68b08c40SSimon Glass regulator-min-microvolt = <3300000>; 181*68b08c40SSimon Glass regulator-max-microvolt = <3300000>; 182*68b08c40SSimon Glass regulator-always-on; 183*68b08c40SSimon Glass }; 184*68b08c40SSimon Glass 185*68b08c40SSimon Glass vdd_10: REG10 { 186*68b08c40SSimon Glass regulator-name = "VDD_10"; 187*68b08c40SSimon Glass regulator-min-microvolt = <1000000>; 188*68b08c40SSimon Glass regulator-max-microvolt = <1000000>; 189*68b08c40SSimon Glass regulator-always-on; 190*68b08c40SSimon Glass }; 191*68b08c40SSimon Glass 192*68b08c40SSimon Glass vcc_18: REG11 { 193*68b08c40SSimon Glass regulator-name = "VCC_18"; 194*68b08c40SSimon Glass regulator-min-microvolt = <1800000>; 195*68b08c40SSimon Glass regulator-max-microvolt = <1800000>; 196*68b08c40SSimon Glass regulator-always-on; 197*68b08c40SSimon Glass }; 198*68b08c40SSimon Glass 199*68b08c40SSimon Glass vcc18_lcd: REG12 { 200*68b08c40SSimon Glass regulator-name = "VCC18_LCD"; 201*68b08c40SSimon Glass regulator-min-microvolt = <1800000>; 202*68b08c40SSimon Glass regulator-max-microvolt = <1800000>; 203*68b08c40SSimon Glass regulator-always-on; 204*68b08c40SSimon Glass }; 205*68b08c40SSimon Glass }; 206*68b08c40SSimon Glass }; 207*68b08c40SSimon Glass 208*68b08c40SSimon Glass vdd_cpu: syr827@40 { 209*68b08c40SSimon Glass compatible = "silergy,syr827"; 210*68b08c40SSimon Glass reg = <0x40>; 211*68b08c40SSimon Glass fcs,suspend-voltage-selector = <1>; 212*68b08c40SSimon Glass regulator-always-on; 213*68b08c40SSimon Glass regulator-boot-on; 214*68b08c40SSimon Glass regulator-enable-ramp-delay = <300>; 215*68b08c40SSimon Glass regulator-name = "vdd_cpu"; 216*68b08c40SSimon Glass regulator-min-microvolt = <850000>; 217*68b08c40SSimon Glass regulator-max-microvolt = <1350000>; 218*68b08c40SSimon Glass regulator-ramp-delay = <8000>; 219*68b08c40SSimon Glass vin-supply = <&vcc_sys>; 220*68b08c40SSimon Glass }; 221*68b08c40SSimon Glass 222*68b08c40SSimon Glass vdd_gpu: syr828@41 { 223*68b08c40SSimon Glass compatible = "silergy,syr828"; 224*68b08c40SSimon Glass reg = <0x41>; 225*68b08c40SSimon Glass fcs,suspend-voltage-selector = <1>; 226*68b08c40SSimon Glass regulator-always-on; 227*68b08c40SSimon Glass regulator-enable-ramp-delay = <300>; 228*68b08c40SSimon Glass regulator-min-microvolt = <850000>; 229*68b08c40SSimon Glass regulator-max-microvolt = <1350000>; 230*68b08c40SSimon Glass regulator-name = "vdd_gpu"; 231*68b08c40SSimon Glass regulator-ramp-delay = <8000>; 232*68b08c40SSimon Glass vin-supply = <&vcc_sys>; 233*68b08c40SSimon Glass }; 234*68b08c40SSimon Glass}; 235*68b08c40SSimon Glass 236*68b08c40SSimon Glass&pinctrl { 237*68b08c40SSimon Glass pcfg_output_high: pcfg-output-high { 238*68b08c40SSimon Glass output-high; 239*68b08c40SSimon Glass }; 240*68b08c40SSimon Glass 241*68b08c40SSimon Glass emmc { 242*68b08c40SSimon Glass emmc_reset: emmc-reset { 243*68b08c40SSimon Glass rockchip,pins = <3 9 RK_FUNC_GPIO &pcfg_pull_none>; 244*68b08c40SSimon Glass }; 245*68b08c40SSimon Glass }; 246*68b08c40SSimon Glass 247*68b08c40SSimon Glass gmac { 248*68b08c40SSimon Glass phy_rst: phy-rst { 249*68b08c40SSimon Glass rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 250*68b08c40SSimon Glass }; 251*68b08c40SSimon Glass }; 252*68b08c40SSimon Glass}; 253*68b08c40SSimon Glass 254*68b08c40SSimon Glass&tsadc { 255*68b08c40SSimon Glass rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 256*68b08c40SSimon Glass rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 257*68b08c40SSimon Glass status = "okay"; 258*68b08c40SSimon Glass}; 259*68b08c40SSimon Glass 260*68b08c40SSimon Glass&vopb { 261*68b08c40SSimon Glass status = "okay"; 262*68b08c40SSimon Glass}; 263*68b08c40SSimon Glass 264*68b08c40SSimon Glass&vopb_mmu { 265*68b08c40SSimon Glass status = "okay"; 266*68b08c40SSimon Glass}; 267*68b08c40SSimon Glass 268*68b08c40SSimon Glass&vopl { 269*68b08c40SSimon Glass status = "okay"; 270*68b08c40SSimon Glass}; 271*68b08c40SSimon Glass 272*68b08c40SSimon Glass&vopl_mmu { 273*68b08c40SSimon Glass status = "okay"; 274*68b08c40SSimon Glass}; 275*68b08c40SSimon Glass 276*68b08c40SSimon Glass&wdt { 277*68b08c40SSimon Glass status = "okay"; 278*68b08c40SSimon Glass}; 279