// 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 {
		u-boot,dm-pre-reloc;
		compatible = "rockchip,rk3399-cic", "syscon";
		reg = <0x0 0xff620000 0x0 0x100>;
	};

	dfi: dfi@ff630000 {
		u-boot,dm-pre-reloc;
		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,cryptov1-rng";
		reg = <0x0 0xff8b8000 0x0 0x1000>;
		status = "okay";
	};

	dmc: dmc {
		u-boot,dm-pre-reloc;
		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 {
		u-boot,dm-pre-reloc;
		compatible = "rockchip,rk3399-pmusgrf", "syscon";
		reg = <0x0 0xff330000 0x0 0xe3d4>;
	};

};

#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
&binman {
	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

&cru {
	u-boot,dm-pre-reloc;
};

&grf {
	u-boot,dm-pre-reloc;
};

&pinctrl {
	u-boot,dm-pre-reloc;
};

&pmu {
	u-boot,dm-pre-reloc;
};

&pmugrf {
	u-boot,dm-pre-reloc;
};

&pmu {
	u-boot,dm-pre-reloc;
};

&pmucru {
	u-boot,dm-pre-reloc;
};

&sdhci {
	max-frequency = <200000000>;
	u-boot,dm-pre-reloc;
};

&sdmmc {
	u-boot,dm-pre-reloc;

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

&spi1 {
	u-boot,dm-pre-reloc;
};

&uart0 {
	u-boot,dm-pre-reloc;
};

&uart2 {
	u-boot,dm-pre-reloc;
};

&vopb {
	u-boot,dm-pre-reloc;
};

&vopl {
	u-boot,dm-pre-reloc;
};
