diff options
-rw-r--r-- | package/bcm2835-bootloader/Makefile | 11 | ||||
-rwxr-xr-x | scripts/install.sh | 7 | ||||
-rw-r--r-- | target/arm/Makefile | 10 | ||||
-rw-r--r-- | target/linux/config/Config.in.kernel | 6 |
4 files changed, 29 insertions, 5 deletions
diff --git a/package/bcm2835-bootloader/Makefile b/package/bcm2835-bootloader/Makefile index 42db6521f..98bedaf84 100644 --- a/package/bcm2835-bootloader/Makefile +++ b/package/bcm2835-bootloader/Makefile @@ -47,5 +47,16 @@ ifeq ($(ADK_PACKAGE_BCM2835_BOOTLOADER_CUTDOWN),y) endif printf "gpu_mem=$(ADK_TARGET_GPU_MEM)\n" >> \ $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt +ifeq ($(ADK_KERNEL_BCM2708_DT),y) + printf "device_tree=bcm2708-rpi-b.dtb\n" >> \ + $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt + printf "device_tree_address=0x100\n" >> \ + $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt + printf "kernel_address=0x8000\n" >> \ + $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt + printf "disable_commandline_tags=2\n" >> \ + $(IDIR_BCM2835_BOOTLOADER)/boot/config.txt +endif + include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/scripts/install.sh b/scripts/install.sh index 740dd7f7e..5957c6959 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -496,9 +496,10 @@ else fi dd if="$T/firsttrack" of="$tgt" > /dev/null 2>&1 +fwdir=$(dirname "$src") + case $target { (solidrun-imx6) - fwdir=$(dirname "$src") dd if="$fwdir/SPL" of="$tgt" bs=1024 seek=1 > /dev/null 2>&1 dd if="$fwdir/u-boot.img" of="$tgt" bs=1024 seek=42 > /dev/null 2>&1 ;; @@ -542,6 +543,10 @@ case $target { [[ -e "$x" ]] && mv -f "$R"/boot/* "$B/" break done + for x in "$fwdir"/*.dtb; do + [[ -e "$x" ]] && cp "$fwdir"/*.dtb "$B/" + break + done umount_fs "$B" ;; (solidrun-imx6) diff --git a/target/arm/Makefile b/target/arm/Makefile index b15206558..72cd87c59 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -100,6 +100,12 @@ kernel-install: kernel-strip @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL) dtb-install: +ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y) + env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ + dtbs + $(CP) $(LINUX_DIR)/arch/arm/boot/dts/*.dtb \ + $(FW_DIR) +endif ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y) env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb imx6q-hummingboard.dtb $(MAKE_TRACE) @@ -109,11 +115,7 @@ endif # filesystem specific targets ifeq ($(ADK_TARGET_FS),archive) -ifeq ($(ADK_TARGET_SYSTEM_SOLIDRUN_IMX6),y) imageinstall: dtb-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp -else -imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp -endif endif ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel index 816982b12..1da519c1c 100644 --- a/target/linux/config/Config.in.kernel +++ b/target/linux/config/Config.in.kernel @@ -203,6 +203,12 @@ config ADK_KERNEL_PREEMPT bool "Enable preemptive kernel" default n +config ADK_KERNEL_BCM2708_DT + bool "Enable Devicetree support" + depends on ADK_TARGET_SYSTEM_RASPBERRY_PI + depends on ADK_KERNEL_VERSION_3_18 + default n + config ADK_KERNEL_CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" # does not boot in qemu |