xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3288-rock2-som.dtsi (revision c22f479c2b2028dd9089075991f61ae46b44cc52)
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