summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbrodkorb@conet.de>2015-01-28 09:47:10 +0100
committerWaldemar Brodkorb <wbrodkorb@conet.de>2015-01-28 09:47:10 +0100
commitf4d07b4d155c15a640692a9b0d44303e32110ece (patch)
tree8a0305d37ef90f30a611c3bba14c20584d88b61c
parent01967529cb4c8ee829e55844432d811efc412c7b (diff)
add devicetree support for raspberry pi and kernel 3.18
-rw-r--r--package/bcm2835-bootloader/Makefile11
-rwxr-xr-xscripts/install.sh7
-rw-r--r--target/arm/Makefile10
-rw-r--r--target/linux/config/Config.in.kernel6
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