168b08c40SSimon Glass/* 268b08c40SSimon Glass * This file is dual-licensed: you can use it either under the terms 368b08c40SSimon Glass * of the GPL or the X11 license, at your option. Note that this dual 468b08c40SSimon Glass * licensing only applies to this file, and not this project as a 568b08c40SSimon Glass * whole. 668b08c40SSimon Glass * 768b08c40SSimon Glass * a) This file is free software; you can redistribute it and/or 868b08c40SSimon Glass * modify it under the terms of the GNU General Public License as 968b08c40SSimon Glass * published by the Free Software Foundation; either version 2 of the 1068b08c40SSimon Glass * License, or (at your option) any later version. 1168b08c40SSimon Glass * 1268b08c40SSimon Glass * This file is distributed in the hope that it will be useful, 1368b08c40SSimon Glass * but WITHOUT ANY WARRANTY; without even the implied warranty of 1468b08c40SSimon Glass * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1568b08c40SSimon Glass * GNU General Public License for more details. 1668b08c40SSimon Glass * 1768b08c40SSimon Glass * Or, alternatively, 1868b08c40SSimon Glass * 1968b08c40SSimon Glass * b) Permission is hereby granted, free of charge, to any person 2068b08c40SSimon Glass * obtaining a copy of this software and associated documentation 2168b08c40SSimon Glass * files (the "Software"), to deal in the Software without 2268b08c40SSimon Glass * restriction, including without limitation the rights to use, 2368b08c40SSimon Glass * copy, modify, merge, publish, distribute, sublicense, and/or 2468b08c40SSimon Glass * sell copies of the Software, and to permit persons to whom the 2568b08c40SSimon Glass * Software is furnished to do so, subject to the following 2668b08c40SSimon Glass * conditions: 2768b08c40SSimon Glass * 2868b08c40SSimon Glass * The above copyright notice and this permission notice shall be 2968b08c40SSimon Glass * included in all copies or substantial portions of the Software. 3068b08c40SSimon Glass * 3168b08c40SSimon Glass * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3268b08c40SSimon Glass * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3368b08c40SSimon Glass * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3468b08c40SSimon Glass * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3568b08c40SSimon Glass * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3668b08c40SSimon Glass * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 3768b08c40SSimon Glass * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 3868b08c40SSimon Glass * OTHER DEALINGS IN THE SOFTWARE. 3968b08c40SSimon Glass */ 4068b08c40SSimon Glass 4168b08c40SSimon Glass#include <dt-bindings/pwm/pwm.h> 4268b08c40SSimon Glass#include "rk3288.dtsi" 43*c22f479cSJoseph Chen#include "rk3288-u-boot.dtsi" 4468b08c40SSimon Glass 4568b08c40SSimon Glass/ { 4668b08c40SSimon Glass memory { 4768b08c40SSimon Glass reg = <0x0 0x80000000>; 4868b08c40SSimon Glass device_type = "memory"; 4968b08c40SSimon Glass }; 5068b08c40SSimon Glass 5168b08c40SSimon Glass emmc_pwrseq: emmc-pwrseq { 5268b08c40SSimon Glass compatible = "mmc-pwrseq-emmc"; 5368b08c40SSimon Glass pinctrl-0 = <&emmc_reset>; 5468b08c40SSimon Glass pinctrl-names = "default"; 5568b08c40SSimon Glass reset-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>; 5668b08c40SSimon Glass }; 5768b08c40SSimon Glass 5868b08c40SSimon Glass ext_gmac: external-gmac-clock { 5968b08c40SSimon Glass compatible = "fixed-clock"; 6068b08c40SSimon Glass #clock-cells = <0>; 6168b08c40SSimon Glass clock-frequency = <125000000>; 6268b08c40SSimon Glass clock-output-names = "ext_gmac"; 6368b08c40SSimon Glass }; 6468b08c40SSimon Glass 6568b08c40SSimon Glass vcc_sys: vsys-regulator { 6668b08c40SSimon Glass compatible = "regulator-fixed"; 6768b08c40SSimon Glass regulator-name = "vcc_sys"; 6868b08c40SSimon Glass regulator-min-microvolt = <5000000>; 6968b08c40SSimon Glass regulator-max-microvolt = <5000000>; 7068b08c40SSimon Glass regulator-always-on; 7168b08c40SSimon Glass regulator-boot-on; 7268b08c40SSimon Glass }; 7368b08c40SSimon Glass}; 7468b08c40SSimon Glass 7568b08c40SSimon Glass&cpu0 { 7668b08c40SSimon Glass cpu0-supply = <&vdd_cpu>; 7768b08c40SSimon Glass}; 7868b08c40SSimon Glass 7968b08c40SSimon Glass&emmc { 8068b08c40SSimon Glass bus-width = <8>; 8168b08c40SSimon Glass cap-mmc-highspeed; 8268b08c40SSimon Glass disable-wp; 8368b08c40SSimon Glass non-removable; 8468b08c40SSimon Glass num-slots = <1>; 8568b08c40SSimon Glass mmc-pwrseq = <&emmc_pwrseq>; 8668b08c40SSimon Glass pinctrl-names = "default"; 8768b08c40SSimon Glass pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 8868b08c40SSimon Glass vmmc-supply = <&vcc_io>; 8968b08c40SSimon Glass status = "okay"; 9068b08c40SSimon Glass}; 9168b08c40SSimon Glass 9268b08c40SSimon Glass&gmac { 9368b08c40SSimon Glass assigned-clocks = <&cru SCLK_MAC>; 9468b08c40SSimon Glass assigned-clock-parents = <&ext_gmac>; 9568b08c40SSimon Glass clock_in_out = "input"; 9668b08c40SSimon Glass phy-mode = "rgmii"; 9768b08c40SSimon Glass phy-supply = <&vccio_pmu>; 9868b08c40SSimon Glass pinctrl-names = "default"; 9968b08c40SSimon Glass pinctrl-0 = <&rgmii_pins &phy_rst>; 10068b08c40SSimon Glass snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>; 10168b08c40SSimon Glass snps,reset-active-low; 10268b08c40SSimon Glass snps,reset-delays-us = <0 10000 30000>; 10368b08c40SSimon Glass rx_delay = <0x10>; 10468b08c40SSimon Glass tx_delay = <0x30>; 10568b08c40SSimon Glass}; 10668b08c40SSimon Glass 10768b08c40SSimon Glass&i2c0 { 10868b08c40SSimon Glass status = "okay"; 10968b08c40SSimon Glass 11068b08c40SSimon Glass act8846: act8846@5a { 11168b08c40SSimon Glass compatible = "active-semi,act8846"; 11268b08c40SSimon Glass reg = <0x5a>; 11368b08c40SSimon Glass system-power-controller; 11468b08c40SSimon Glass inl1-supply = <&vcc_io>; 11568b08c40SSimon Glass inl2-supply = <&vcc_sys>; 11668b08c40SSimon Glass inl3-supply = <&vcc_20>; 11768b08c40SSimon Glass vp1-supply = <&vcc_sys>; 11868b08c40SSimon Glass vp2-supply = <&vcc_sys>; 11968b08c40SSimon Glass vp3-supply = <&vcc_sys>; 12068b08c40SSimon Glass vp4-supply = <&vcc_sys>; 12168b08c40SSimon Glass 12268b08c40SSimon Glass regulators { 12368b08c40SSimon Glass vcc_ddr: REG1 { 12468b08c40SSimon Glass regulator-name = "VCC_DDR"; 12568b08c40SSimon Glass regulator-min-microvolt = <1200000>; 12668b08c40SSimon Glass regulator-max-microvolt = <1200000>; 12768b08c40SSimon Glass regulator-always-on; 12868b08c40SSimon Glass }; 12968b08c40SSimon Glass 13068b08c40SSimon Glass vcc_io: REG2 { 13168b08c40SSimon Glass regulator-name = "VCC_IO"; 13268b08c40SSimon Glass regulator-min-microvolt = <3300000>; 13368b08c40SSimon Glass regulator-max-microvolt = <3300000>; 13468b08c40SSimon Glass regulator-always-on; 13568b08c40SSimon Glass }; 13668b08c40SSimon Glass 13768b08c40SSimon Glass vdd_log: REG3 { 13868b08c40SSimon Glass regulator-name = "VDD_LOG"; 13968b08c40SSimon Glass regulator-min-microvolt = <1000000>; 14068b08c40SSimon Glass regulator-max-microvolt = <1000000>; 14168b08c40SSimon Glass regulator-always-on; 14268b08c40SSimon Glass }; 14368b08c40SSimon Glass 14468b08c40SSimon Glass vcc_20: REG4 { 14568b08c40SSimon Glass regulator-name = "VCC_20"; 14668b08c40SSimon Glass regulator-min-microvolt = <2000000>; 14768b08c40SSimon Glass regulator-max-microvolt = <2000000>; 14868b08c40SSimon Glass regulator-always-on; 14968b08c40SSimon Glass }; 15068b08c40SSimon Glass 15168b08c40SSimon Glass vccio_sd: REG5 { 15268b08c40SSimon Glass regulator-name = "VCCIO_SD"; 15368b08c40SSimon Glass regulator-min-microvolt = <3300000>; 15468b08c40SSimon Glass regulator-max-microvolt = <3300000>; 15568b08c40SSimon Glass regulator-always-on; 15668b08c40SSimon Glass }; 15768b08c40SSimon Glass 15868b08c40SSimon Glass vdd10_lcd: REG6 { 15968b08c40SSimon Glass regulator-name = "VDD10_LCD"; 16068b08c40SSimon Glass regulator-min-microvolt = <1000000>; 16168b08c40SSimon Glass regulator-max-microvolt = <1000000>; 16268b08c40SSimon Glass regulator-always-on; 16368b08c40SSimon Glass }; 16468b08c40SSimon Glass 16568b08c40SSimon Glass vcca_codec: REG7 { 16668b08c40SSimon Glass regulator-name = "VCCA_CODEC"; 16768b08c40SSimon Glass regulator-min-microvolt = <3300000>; 16868b08c40SSimon Glass regulator-max-microvolt = <3300000>; 16968b08c40SSimon Glass regulator-always-on; 17068b08c40SSimon Glass }; 17168b08c40SSimon Glass 17268b08c40SSimon Glass vcca_tp: REG8 { 17368b08c40SSimon Glass regulator-name = "VCCA_TP"; 17468b08c40SSimon Glass regulator-min-microvolt = <3300000>; 17568b08c40SSimon Glass regulator-max-microvolt = <3300000>; 17668b08c40SSimon Glass regulator-always-on; 17768b08c40SSimon Glass }; 17868b08c40SSimon Glass 17968b08c40SSimon Glass vccio_pmu: REG9 { 18068b08c40SSimon Glass regulator-name = "VCCIO_PMU"; 18168b08c40SSimon Glass regulator-min-microvolt = <3300000>; 18268b08c40SSimon Glass regulator-max-microvolt = <3300000>; 18368b08c40SSimon Glass regulator-always-on; 18468b08c40SSimon Glass }; 18568b08c40SSimon Glass 18668b08c40SSimon Glass vdd_10: REG10 { 18768b08c40SSimon Glass regulator-name = "VDD_10"; 18868b08c40SSimon Glass regulator-min-microvolt = <1000000>; 18968b08c40SSimon Glass regulator-max-microvolt = <1000000>; 19068b08c40SSimon Glass regulator-always-on; 19168b08c40SSimon Glass }; 19268b08c40SSimon Glass 19368b08c40SSimon Glass vcc_18: REG11 { 19468b08c40SSimon Glass regulator-name = "VCC_18"; 19568b08c40SSimon Glass regulator-min-microvolt = <1800000>; 19668b08c40SSimon Glass regulator-max-microvolt = <1800000>; 19768b08c40SSimon Glass regulator-always-on; 19868b08c40SSimon Glass }; 19968b08c40SSimon Glass 20068b08c40SSimon Glass vcc18_lcd: REG12 { 20168b08c40SSimon Glass regulator-name = "VCC18_LCD"; 20268b08c40SSimon Glass regulator-min-microvolt = <1800000>; 20368b08c40SSimon Glass regulator-max-microvolt = <1800000>; 20468b08c40SSimon Glass regulator-always-on; 20568b08c40SSimon Glass }; 20668b08c40SSimon Glass }; 20768b08c40SSimon Glass }; 20868b08c40SSimon Glass 20968b08c40SSimon Glass vdd_cpu: syr827@40 { 21068b08c40SSimon Glass compatible = "silergy,syr827"; 21168b08c40SSimon Glass reg = <0x40>; 21268b08c40SSimon Glass fcs,suspend-voltage-selector = <1>; 21368b08c40SSimon Glass regulator-always-on; 21468b08c40SSimon Glass regulator-boot-on; 21568b08c40SSimon Glass regulator-enable-ramp-delay = <300>; 21668b08c40SSimon Glass regulator-name = "vdd_cpu"; 21768b08c40SSimon Glass regulator-min-microvolt = <850000>; 21868b08c40SSimon Glass regulator-max-microvolt = <1350000>; 21968b08c40SSimon Glass regulator-ramp-delay = <8000>; 22068b08c40SSimon Glass vin-supply = <&vcc_sys>; 22168b08c40SSimon Glass }; 22268b08c40SSimon Glass 22368b08c40SSimon Glass vdd_gpu: syr828@41 { 22468b08c40SSimon Glass compatible = "silergy,syr828"; 22568b08c40SSimon Glass reg = <0x41>; 22668b08c40SSimon Glass fcs,suspend-voltage-selector = <1>; 22768b08c40SSimon Glass regulator-always-on; 22868b08c40SSimon Glass regulator-enable-ramp-delay = <300>; 22968b08c40SSimon Glass regulator-min-microvolt = <850000>; 23068b08c40SSimon Glass regulator-max-microvolt = <1350000>; 23168b08c40SSimon Glass regulator-name = "vdd_gpu"; 23268b08c40SSimon Glass regulator-ramp-delay = <8000>; 23368b08c40SSimon Glass vin-supply = <&vcc_sys>; 23468b08c40SSimon Glass }; 23568b08c40SSimon Glass}; 23668b08c40SSimon Glass 23768b08c40SSimon Glass&pinctrl { 23868b08c40SSimon Glass pcfg_output_high: pcfg-output-high { 23968b08c40SSimon Glass output-high; 24068b08c40SSimon Glass }; 24168b08c40SSimon Glass 24268b08c40SSimon Glass emmc { 24368b08c40SSimon Glass emmc_reset: emmc-reset { 24468b08c40SSimon Glass rockchip,pins = <3 9 RK_FUNC_GPIO &pcfg_pull_none>; 24568b08c40SSimon Glass }; 24668b08c40SSimon Glass }; 24768b08c40SSimon Glass 24868b08c40SSimon Glass gmac { 24968b08c40SSimon Glass phy_rst: phy-rst { 25068b08c40SSimon Glass rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 25168b08c40SSimon Glass }; 25268b08c40SSimon Glass }; 25368b08c40SSimon Glass}; 25468b08c40SSimon Glass 25568b08c40SSimon Glass&tsadc { 25668b08c40SSimon Glass rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 25768b08c40SSimon Glass rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 25868b08c40SSimon Glass status = "okay"; 25968b08c40SSimon Glass}; 26068b08c40SSimon Glass 26168b08c40SSimon Glass&vopb { 26268b08c40SSimon Glass status = "okay"; 26368b08c40SSimon Glass}; 26468b08c40SSimon Glass 26568b08c40SSimon Glass&vopb_mmu { 26668b08c40SSimon Glass status = "okay"; 26768b08c40SSimon Glass}; 26868b08c40SSimon Glass 26968b08c40SSimon Glass&vopl { 27068b08c40SSimon Glass status = "okay"; 27168b08c40SSimon Glass}; 27268b08c40SSimon Glass 27368b08c40SSimon Glass&vopl_mmu { 27468b08c40SSimon Glass status = "okay"; 27568b08c40SSimon Glass}; 27668b08c40SSimon Glass 27768b08c40SSimon Glass&wdt { 27868b08c40SSimon Glass status = "okay"; 27968b08c40SSimon Glass}; 280