endef
 
 define MkuImageDtb
-       cat $(KDIR)/zImage $(LINUX_DIR)/arch/arm/boot/dts/$(2).dtb > $(KDIR)/zImage-$(1)
+       cat $(KDIR)/zImage $(DTS_DIR)/$(2).dtb > $(KDIR)/zImage-$(1)
        mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 \
                -n "OpenWrt ARM $(LINUX_VERSION)" \
                -d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
 
 define MkOftree
        cp -u $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
-       cp $(LINUX_DIR)/arch/arm/boot/dts/$(2).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-oftree.dtb
+       cp $(DTS_DIR)/$(2).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-oftree.dtb
 endef
 
 # Atmel
 
 define Image/Build/DTB
        rm -f $(KDIR)/$(1)-$(2).lzma
        rm -f $(KDIR)/$(1)-$(2).dts
-       cat $(KDIR)/$(1) $(LINUX_DIR)/arch/$(ARCH)/boot/dts/$(2).dtb > $(KDIR)/$(1)-$(2).dts;
+       cat $(KDIR)/$(1) $(DTS_DIR)/$(2).dtb > $(KDIR)/$(1)-$(2).dts;
        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/$(1)-$(2).dts $(KDIR)/$(1)-$(2).lzma -d16
 endef
 
 
 
 define Image/BuildKernel/Template
 
-       $(CP) $(LINUX_DIR)/arch/arm/boot/dts/$(1).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb
+       $(CP) $(DTS_DIR)/$(1).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb
 
        $(call Image/BuildKernel/MkFIT,$(1),$(KDIR)/zImage,$(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb,none,0x10008000,0x10008000)
        $(CP) $(KDIR)/fit-$(1).itb $(BIN_DIR)/$(IMG_PREFIX)-$(1)-fit-uImage.itb
 
  endif
 
  ifneq ($(1),)
-       $(CP) $(LINUX_DIR)/arch/arm/boot/dts/kirkwood-$(1).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb
+       $(CP) $(DTS_DIR)/kirkwood-$(1).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb
 
        $(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-$(call sanitize_profile_name)-zImage
        cat $(BIN_DIR)/$(IMG_PREFIX)-$(1).dtb >> $(BIN_DIR)/$(IMG_PREFIX)-$(call sanitize_profile_name)-zImage
 
 
 
 define Image/Prepare
-       $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/mpc8377_wlan.dts > $(BIN_DIR)/openwrt-mpc83xx-mpc8377_wlan.dtb
+       $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(DTS_DIR)/mpc8377_wlan.dts > $(BIN_DIR)/openwrt-mpc83xx-mpc8377_wlan.dtb
 endef
 
 define Image/BuildKernel
 
 define Image/BuildKernel
        cp $(KDIR)/zImage $(zImage)
        $(foreach dts,$(DTS_TARGETS),
-               $(LINUX_DIR)/scripts/dtc/dtc -I dts -O dtb $(LINUX_DIR)/arch/powerpc/boot/dts/$(dts).dts > $(BIN_DIR)/$(IMG_PREFIX)-$(dts).fdt
+               $(LINUX_DIR)/scripts/dtc/dtc -I dts -O dtb $(DTS_DIR)/$(dts).dts > $(BIN_DIR)/$(IMG_PREFIX)-$(dts).fdt
        )
 endef
 
 
 
 define Image/Build/DTB
        cp $(KDIR)/zImage$(2) $(KDIR)/zImage$(2)-$(1);
-       cat $(LINUX_DIR)/arch/$(ARCH)/boot/dts/$(1).dtb >> $(KDIR)/zImage$(2)-$(1);
+       cat $(DTS_DIR)/$(1).dtb >> $(KDIR)/zImage$(2)-$(1);
        $(call Image/Build/MkuImage,$(KDIR)/zImage$(2)-$(1),$(KDIR)/uImage$(2)-$(1))
        cp $(KDIR)/uImage$(2)-$(1) $(UIMAGE)$(2)-$(1);
 endef
 
        imx28-duckbill
 
 define Image/BuildKernel/olinuxino-bootlet
-       cat $(LINUX_DIR)/arch/arm/boot/zImage $(LINUX_DIR)/arch/arm/boot/dts/imx23-olinuxino.dtb > $(STAGING_DIR)/zImage_dtb
+       cat $(LINUX_DIR)/arch/arm/boot/zImage $(DTS_DIR)/imx23-olinuxino.dtb > $(STAGING_DIR)/zImage_dtb
        (cd $(STAGING_DIR); \
        $(STAGING_DIR)/../host/bin/elftosb -z -c ./linux_prebuilt.db -o linux.sb; \
        dd if=/dev/zero of=sd_mmc_bootstream.raw bs=512 count=4; \
   
        $(CP) $(LINUX_DIR)/arch/arm/boot/zImage $(BIN_DIR)/openwrt-$(BOARD)-zImage
        $(foreach board,$(BOARDS),
-               $(CP) $(LINUX_DIR)/arch/arm/boot/dts/$(board).dtb $(BIN_DIR)/
+               $(CP) $(DTS_DIR)/$(board).dtb $(BIN_DIR)/
        )
 endef
 
   ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_DTB),)
        mkdir -p $(TARGET_DIR)/boot
        $(foreach board,$(BOARDS),
-               $(CP) $(LINUX_DIR)/arch/arm/boot/dts/$(board).dtb $(TARGET_DIR)/boot/
+               $(CP) $(DTS_DIR)/$(board).dtb $(TARGET_DIR)/boot/
        )
   endif
 
 
  endif
  ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_DTB),)
        $(INSTALL_DIR) $(TARGET_DIR)/boot
-       $(CP) $(LINUX_DIR)/arch/arm/boot/dts/am335x*.dtb $(TARGET_DIR)/boot/
-       $(CP) $(LINUX_DIR)/arch/arm/boot/dts/omap3*.dtb $(TARGET_DIR)/boot/
-       $(CP) $(LINUX_DIR)/arch/arm/boot/dts/omap4*.dtb $(TARGET_DIR)/boot/
+       $(CP) $(DTS_DIR)/am335x*.dtb $(TARGET_DIR)/boot/
+       $(CP) $(DTS_DIR)/omap3*.dtb $(TARGET_DIR)/boot/
+       $(CP) $(DTS_DIR)/omap4*.dtb $(TARGET_DIR)/boot/
  endif
        -mkdir $(BIN_DIR)/dtbs
-       -$(CP) $(LINUX_DIR)/arch/arm/boot/dts/am335x*.dtb $(BIN_DIR)/dtbs/
-       -$(CP) $(LINUX_DIR)/arch/arm/boot/dts/omap3*.dtb $(BIN_DIR)/dtbs/
-       -$(CP) $(LINUX_DIR)/arch/arm/boot/dts/omap4*.dtb $(BIN_DIR)/dtbs/
+       -$(CP) $(DTS_DIR)/am335x*.dtb $(BIN_DIR)/dtbs/
+       -$(CP) $(DTS_DIR)/omap3*.dtb $(BIN_DIR)/dtbs/
+       -$(CP) $(DTS_DIR)/omap4*.dtb $(BIN_DIR)/dtbs/
 endef
 
 define Image/Build
 
 JFFS2_BLOCKSIZE=128k 64k
 
 define Image/Prepare
-       $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/kilauea.dts > $(KDIR)/openwrt-kilauea.dtb
+       $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(DTS_DIR)/kilauea.dts > $(KDIR)/openwrt-kilauea.dtb
 endef
 
 define Image/BuildKernel
 
 JFFS2_BLOCKSIZE=256k
 
 define Image/Prepare
-       $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/canyonlands.dts > $(KDIR)/openwrt-canyonlands.dtb
+       $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(DTS_DIR)/canyonlands.dts > $(KDIR)/openwrt-canyonlands.dtb
 endef
 
 define Image/BuildKernel
 
     endif
 
        $(foreach board,$(BOARDS),
-               $(CP) $(LINUX_DIR)/arch/arm/boot/dts/$(board).dtb $(BIN_DIR)/
+               $(CP) $(DTS_DIR)/$(board).dtb $(BIN_DIR)/
        )
 endef