#
# SPDX-License-Identifier:	GPL-2.0+
#

dtb-$(CONFIG_S5PC100) += s5pc1xx-smdkc100.dtb
dtb-$(CONFIG_S5PC110) += s5pc1xx-goni.dtb
dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \
	exynos4210-smdkv310.dtb \
	exynos4210-universal_c210.dtb \
	exynos4210-trats.dtb \
	exynos4412-trats2.dtb \
	exynos4412-odroid.dtb

dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
	exynos5250-snow.dtb \
	exynos5250-spring.dtb \
	exynos5250-smdk5250.dtb \
	exynos5420-smdk5420.dtb \
	exynos5420-peach-pit.dtb \
	exynos5800-peach-pi.dtb \
	exynos5422-odroidxu3.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += \
	rk3288-firefly.dtb \
	rk3288-jerry.dtb \
	rk3288-rock2-square.dtb \
	rk3036-sdk.dtb
dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
	tegra20-medcom-wide.dtb \
	tegra20-paz00.dtb \
	tegra20-plutux.dtb \
	tegra20-seaboard.dtb \
	tegra20-tec.dtb \
	tegra20-trimslice.dtb \
	tegra20-ventana.dtb \
	tegra20-whistler.dtb \
	tegra20-colibri.dtb \
	tegra30-apalis.dtb \
	tegra30-beaver.dtb \
	tegra30-cardhu.dtb \
	tegra30-colibri.dtb \
	tegra30-tec-ng.dtb \
	tegra114-dalmore.dtb \
	tegra124-jetson-tk1.dtb \
	tegra124-nyan-big.dtb \
	tegra124-venice2.dtb \
	tegra210-e2220-1170.dtb \
	tegra210-p2371-0000.dtb \
	tegra210-p2371-2180.dtb \
	tegra210-p2571.dtb

dtb-$(CONFIG_ARCH_MVEBU) +=			\
	armada-388-clearfog.dtb			\
	armada-388-gp.dtb			\
	armada-xp-gp.dtb			\
	armada-xp-maxbcm.dtb			\
	armada-xp-synology-ds414.dtb		\
	armada-xp-theadorable.dtb

dtb-$(CONFIG_ARCH_UNIPHIER) += \
	uniphier-ph1-ld11-ref.dtb \
	uniphier-ph1-ld20-ref.dtb \
	uniphier-ph1-ld4-ref.dtb \
	uniphier-ph1-ld6b-ref.dtb \
	uniphier-ph1-pro4-ace.dtb \
	uniphier-ph1-pro4-ref.dtb \
	uniphier-ph1-pro4-sanji.dtb \
	uniphier-ph1-pro5-4kbox.dtb \
	uniphier-ph1-sld3-ref.dtb \
	uniphier-ph1-sld8-ref.dtb \
	uniphier-proxstream2-gentil.dtb \
	uniphier-proxstream2-vodka.dtb
dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \
	zynq-zc706.dtb \
	zynq-zed.dtb \
	zynq-zybo.dtb \
	zynq-microzed.dtb \
	zynq-picozed.dtb \
	zynq-zc770-xm010.dtb \
	zynq-zc770-xm011.dtb \
	zynq-zc770-xm012.dtb \
	zynq-zc770-xm013.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += \
	zynqmp-ep108.dtb
dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-evm.dtb
dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb
dtb-$(CONFIG_THUNDERX) += thunderx-88xx.dtb

dtb-$(CONFIG_ARCH_SOCFPGA) +=				\
	socfpga_arria5_socdk.dtb			\
	socfpga_cyclone5_mcvevk.dtb			\
	socfpga_cyclone5_socdk.dtb			\
	socfpga_cyclone5_de0_nano_soc.dtb			\
	socfpga_cyclone5_sockit.dtb			\
	socfpga_cyclone5_socrates.dtb			\
	socfpga_cyclone5_sr1500.dtb

dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb
dtb-$(CONFIG_TARGET_BEAGLE_X15) += am57xx-beagle-x15.dtb
dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb

dtb-$(CONFIG_LS102XA) += ls1021a-qds-duart.dtb \
	ls1021a-qds-lpuart.dtb \
	ls1021a-twr-duart.dtb ls1021a-twr-lpuart.dtb
dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
	fsl-ls2080a-rdb.dtb
dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
	fsl-ls1043a-qds-lpuart.dtb \
	fsl-ls1043a-rdb.dtb

dtb-$(CONFIG_MACH_SUN4I) += \
	sun4i-a10-a1000.dtb \
	sun4i-a10-ba10-tvbox.dtb \
	sun4i-a10-chuwi-v7-cw0825.dtb \
	sun4i-a10-cubieboard.dtb \
	sun4i-a10-dserve-dsrv9703c.dtb \
	sun4i-a10-gemei-g9.dtb \
	sun4i-a10-hackberry.dtb \
	sun4i-a10-hyundai-a7hd.dtb \
	sun4i-a10-inet1.dtb \
	sun4i-a10-inet-3f.dtb \
	sun4i-a10-inet-3w.dtb \
	sun4i-a10-inet97fv2.dtb \
	sun4i-a10-inet9f-rev03.dtb \
	sun4i-a10-itead-iteaduino-plus.dtb \
	sun4i-a10-jesurun-q5.dtb \
	sun4i-a10-marsboard.dtb \
	sun4i-a10-mini-xplus.dtb \
	sun4i-a10-mk802.dtb \
	sun4i-a10-mk802ii.dtb \
	sun4i-a10-olinuxino-lime.dtb \
	sun4i-a10-pcduino.dtb \
	sun4i-a10-pcduino2.dtb \
	sun4i-a10-pov-protab2-ips9.dtb
dtb-$(CONFIG_MACH_SUN5I) += \
	sun5i-a10s-auxtek-t003.dtb \
	sun5i-a10s-auxtek-t004.dtb \
	sun5i-a10s-mk802.dtb \
	sun5i-a10s-olinuxino-micro.dtb \
	sun5i-a10s-r7-tv-dongle.dtb \
	sun5i-a10s-wobo-i5.dtb \
	sun5i-a13-ampe-a76.dtb \
	sun5i-a13-difrnce-dit4350.dtb \
	sun5i-a13-empire-electronix-d709.dtb \
	sun5i-a13-hsg-h702.dtb \
	sun5i-a13-inet-86vs.dtb \
	sun5i-a13-inet-98v-rev2.dtb \
	sun5i-a13-olinuxino.dtb \
	sun5i-a13-olinuxino-micro.dtb \
	sun5i-a13-q8-tablet.dtb \
	sun5i-a13-utoo-p66.dtb \
	sun5i-r8-chip.dtb
dtb-$(CONFIG_MACH_SUN6I) += \
	sun6i-a31-app4-evb1.dtb \
	sun6i-a31-colombus.dtb \
	sun6i-a31-hummingbird.dtb \
	sun6i-a31-i7.dtb \
	sun6i-a31-m9.dtb \
	sun6i-a31-mele-a1000g-quad.dtb \
	sun6i-a31-mixtile-loftq.dtb \
	sun6i-a31s-colorfly-e708-q1.dtb \
	sun6i-a31s-cs908.dtb \
	sun6i-a31s-primo81.dtb \
	sun6i-a31s-sina31s.dtb \
	sun6i-a31s-sinovoip-bpi-m2.dtb \
	sun6i-a31s-yones-toptech-bs1078-v2.dtb
dtb-$(CONFIG_MACH_SUN7I) += \
	sun7i-a20-ainol-aw1.dtb \
	sun7i-a20-bananapi.dtb \
	sun7i-a20-bananapro.dtb \
	sun7i-a20-cubieboard2.dtb \
	sun7i-a20-cubietruck.dtb \
	sun7i-a20-hummingbird.dtb \
	sun7i-a20-i12-tvbox.dtb \
	sun7i-a20-icnova-swac.dtb \
	sun7i-a20-itead-ibox.dtb \
	sun7i-a20-lamobo-r1.dtb \
	sun7i-a20-m3.dtb \
	sun7i-a20-m5.dtb \
	sun7i-a20-mk808c.dtb \
	sun7i-a20-olimex-som-evb.dtb \
	sun7i-a20-olinuxino-lime.dtb \
	sun7i-a20-olinuxino-lime2.dtb \
	sun7i-a20-olinuxino-micro.dtb \
	sun7i-a20-orangepi.dtb \
	sun7i-a20-orangepi-mini.dtb \
	sun7i-a20-pcduino3.dtb \
	sun7i-a20-pcduino3-nano.dtb \
	sun7i-a20-primo73.dtb \
	sun7i-a20-wexler-tab7200.dtb \
	sun7i-a20-wits-pro-a20-dkt.dtb \
	sun7i-a20-yones-toptech-bd1078.dtb
dtb-$(CONFIG_MACH_SUN8I_A23) += \
	sun8i-a23-evb.dtb \
	sun8i-a23-gt90h-v4.dtb \
	sun8i-a23-polaroid-mid2809pxe04.dtb \
	sun8i-a23-q8-tablet.dtb
dtb-$(CONFIG_MACH_SUN8I_A33) += \
	sun8i-a33-ga10h-v1.1.dtb \
	sun8i-a33-q8-tablet.dtb \
	sun8i-a33-sinlinx-sina33.dtb
dtb-$(CONFIG_MACH_SUN8I_A83T) += \
	sun8i-a83t-allwinner-h8homlet-v2.dtb \
	sun8i-a83t-cubietruck-plus.dtb \
	sun8i-a83t-sinovoip-bpi-m3.dtb
dtb-$(CONFIG_MACH_SUN8I_H3) += \
	sun8i-h3-orangepi-2.dtb \
	sun8i-h3-orangepi-pc.dtb \
	sun8i-h3-orangepi-plus.dtb
dtb-$(CONFIG_MACH_SUN9I) += \
	sun9i-a80-optimus.dtb \
	sun9i-a80-cubieboard4.dtb

dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
	vf610-colibri.dtb \
	vf610-twr.dtb \
	pcm052.dtb

dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \
	k2l-evm.dtb \
	k2e-evm.dtb \
	k2g-evm.dtb

targets += $(dtb-y)

# Add any required device tree compiler flags here
DTC_FLAGS +=

PHONY += dtbs
dtbs: $(addprefix $(obj)/, $(dtb-y))
	@:

clean-files := *.dtb
