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

dtb-$(CONFIG_AT91FAMILY) += at91sam9260-smartweb.dtb \
	at91sam9g20-taurus.dtb \
	at91sam9g45-corvus.dtb \
	at91sam9g45-gurnard.dtb

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_TARGET_HIKEY) += hi6220-hikey.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_EXYNOS7420) += exynos7420-espresso7420.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += \
	rk3288-firefly.dtb \
	rk3288-jerry.dtb \
	rk3288-rock2-square.dtb \
	rk3288-evb.dtb \
	rk3288-fennec.dtb \
	rk3288-miniarm.dtb \
	rk3288-popmetal.dtb \
	rk3036-sdk.dtb \
	rk3399-evb.dtb
dtb-$(CONFIG_ARCH_MESON) += \
	meson-gxbb-odroidc2.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-cei-tk1-som.dtb \
	tegra124-venice2.dtb \
	tegra186-p2771-0000-000.dtb \
	tegra186-p2771-0000-500.dtb \
	tegra210-e2220-1170.dtb \
	tegra210-p2371-0000.dtb \
	tegra210-p2371-2180.dtb \
	tegra210-p2571.dtb

dtb-$(CONFIG_ARCH_MVEBU) +=			\
	armada-375-db.dtb			\
	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			\
	zynqmp-zcu102.dtb			\
	zynqmp-zcu102-revB.dtb			\
	zynqmp-zc1751-xm015-dc1.dtb		\
	zynqmp-zc1751-xm016-dc2.dtb		\
	zynqmp-zc1751-xm018-dc4.dtb		\
	zynqmp-zc1751-xm019-dc5.dtb
dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-bone.dtb \
	am335x-draco.dtb \
	am335x-evm.dtb \
	am335x-evmsk.dtb \
	am335x-bonegreen.dtb \
	am335x-icev2.dtb \
	am335x-pxm50.dtb \
	am335x-rut.dtb
dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb	\
	am43x-epos-evm.dtb \
	am437x-idk-evm.dtb
dtb-$(CONFIG_THUNDERX) += thunderx-88xx.dtb

dtb-$(CONFIG_ARCH_SOCFPGA) +=				\
	socfpga_arria5_socdk.dtb			\
	socfpga_cyclone5_is1.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			\
	socfpga_cyclone5_vining_fpga.dtb

dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb
dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \
	am572x-idk.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 \
	fsl-ls1012a-qds.dtb \
	fsl-ls1012a-rdb.dtb \
	fsl-ls1012a-frdm.dtb

dtb-$(CONFIG_ARCH_SNAPDRAGON) += dragonboard410c.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-empire-electronix-m712.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-inet-q972.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-bananapi-m1-plus.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-lime2-emmc.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-inet86dz.dtb \
	sun8i-a23-polaroid-mid2407pxe03.dtb \
	sun8i-a23-polaroid-mid2809pxe04.dtb \
	sun8i-a23-q8-tablet.dtb
dtb-$(CONFIG_MACH_SUN8I_A33) += \
	sun8i-a33-ga10h-v1.1.dtb \
	sun8i-a33-inet-d978-rev2.dtb \
	sun8i-a33-olinuxino.dtb \
	sun8i-a33-q8-tablet.dtb \
	sun8i-a33-sinlinx-sina33.dtb \
	sun8i-r16-parrot.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-bananapi-m2-plus.dtb \
	sun8i-h3-orangepi-2.dtb \
	sun8i-h3-orangepi-lite.dtb \
	sun8i-h3-orangepi-one.dtb \
	sun8i-h3-orangepi-pc.dtb \
	sun8i-h3-orangepi-pc-plus.dtb \
	sun8i-h3-orangepi-plus.dtb \
	sun8i-h3-orangepi-plus2e.dtb
dtb-$(CONFIG_MACH_SUN50I) += \
	sun50i-a64-pine64-plus.dtb \
	sun50i-a64-pine64.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

dtb-$(CONFIG_TARGET_SAMA5D2_XPLAINED) += \
	at91-sama5d2_xplained.dtb

targets += $(dtb-y)

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

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

clean-files := *.dtb
