// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
 */
#define USB_CLASS_HUB			9

#include "rockchip-u-boot.dtsi"

/ {
	aliases {
		mmc0 = &sdhci;
		mmc1 = &sdmmc;
		pci0 = &pcie0;
		spi1 = &spi1;
	};

	cic: syscon@ff620000 {
		bootph-all;
		compatible = "rockchip,rk3399-cic", "syscon";
		reg = <0x0 0xff620000 0x0 0x100>;
	};

	dfi: dfi@ff630000 {
		bootph-all;
		reg = <0x00 0xff630000 0x00 0x4000>;
		compatible = "rockchip,rk3399-dfi";
		rockchip,pmu = <&pmugrf>;
		clocks = <&cru PCLK_DDR_MON>;
		clock-names = "pclk_ddr_mon";
	};

	rng: rng@ff8b8000 {
		compatible = "rockchip,rk3399-crypto";
		reg = <0x0 0xff8b8000 0x0 0x1000>;
		status = "okay";
	};

	dmc: dmc {
		bootph-all;
		compatible = "rockchip,rk3399-dmc";
		devfreq-events = <&dfi>;
		interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 0>;
		clocks = <&cru SCLK_DDRCLK>;
		clock-names = "dmc_clk";
		reg = <0x0 0xffa80000 0x0 0x0800
		       0x0 0xffa80800 0x0 0x1800
		       0x0 0xffa82000 0x0 0x2000
		       0x0 0xffa84000 0x0 0x1000
		       0x0 0xffa88000 0x0 0x0800
		       0x0 0xffa88800 0x0 0x1800
		       0x0 0xffa8a000 0x0 0x2000
		       0x0 0xffa8c000 0x0 0x1000>;
	};

	pmusgrf: syscon@ff330000 {
		bootph-all;
		compatible = "rockchip,rk3399-pmusgrf", "syscon";
		reg = <0x0 0xff330000 0x0 0xe3d4>;
	};

};

#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
&binman {
	multiple-images;
	rom {
		filename = "u-boot.rom";
		size = <0x400000>;
		pad-byte = <0xff>;

		mkimage {
			args = "-n rk3399 -T rkspi";
			u-boot-spl {
			};
		};
		u-boot-img {
			offset = <0x40000>;
		};
		u-boot {
			offset = <0x300000>;
		};
		fdtmap {
		};
	};
};
#endif /* CONFIG_ROCKCHIP_SPI_IMAGE && CONFIG_HAS_ROM */

&cru {
	bootph-all;
};

&emmc_phy {
	bootph-all;
};

&grf {
	bootph-all;
};

&pinctrl {
	bootph-all;
};

&pmu {
	bootph-all;
};

&pmugrf {
	bootph-all;
};

&pmu {
	bootph-all;
};

&pmucru {
	bootph-all;
};

&sdhci {
	max-frequency = <200000000>;
	bootph-all;
	u-boot,spl-fifo-mode;
};

&sdmmc {
	bootph-all;

	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
	u-boot,spl-fifo-mode;
};

&spi1 {
	bootph-all;
};

&uart0 {
	bootph-all;
};

&uart2 {
	bootph-all;
};

&vopb {
	bootph-all;
};

&vopl {
	bootph-all;
};
