at91: AT91SAM9G20-EK fixes
authorHauke Mehrtens <hauke@hauke-m.de>
Tue, 29 Apr 2014 21:02:05 +0000 (21:02 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 29 Apr 2014 21:02:05 +0000 (21:02 +0000)
From 272f548fe8d0b811e0589e535f650f0507f6bccd Mon Sep 17 00:00:00 2001
From: Owen Kirby <osk@exegin.com>
Date: Fri, 11 Apr 2014 17:59:55 -0700
Subject: [PATCH 2/3] [at91] AT91SAM9G20-EK fixes.

While testing the 3.10 kernel update, I found that the out-of-the-box device tree for the
the AT91SAM9G20EK uses a UBIFS rootfs and stores the DTB separately from the zImage.

Signed-off-by: Owen Kirby <osk@exegin.com>
SVN-Revision: 40597

target/linux/at91/config-default
target/linux/at91/image/Makefile
target/linux/at91/image/ubinize.cfg [new file with mode: 0644]

index 92f3893f4ac02d7d21e39056a28ebe9f84a496b2..966cf9afc9ad0b11c501e4856ff92c8fff90a1a5 100644 (file)
@@ -58,8 +58,10 @@ CONFIG_CPU_TLB_V4WBI=y
 CONFIG_CPU_USE_DOMAINS=y
 CONFIG_CRC16=y
 CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_DEFLATE=y
 CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_LZO=y
 CONFIG_DEBUG_BUGVERBOSE=y
 CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
 # CONFIG_DEBUG_PINCTRL is not set
@@ -135,6 +137,8 @@ CONFIG_JBD2=y
 CONFIG_JFFS2_ZLIB=y
 CONFIG_KTIME_SCALAR=y
 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
 CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE=y
 CONFIG_M25PXX_USE_FAST_READ=y
 CONFIG_MACB=y
@@ -156,6 +160,11 @@ CONFIG_MTD_OF_PARTS=y
 CONFIG_MTD_PHYSMAP=y
 CONFIG_MTD_PHYSMAP_OF=y
 # CONFIG_MTD_SM_COMMON is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MULTI_IRQ_HANDLER=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_KUSER_HELPERS=y
@@ -218,6 +227,11 @@ CONFIG_SPLIT_PTLOCK_CPUS=999999
 # CONFIG_STAGING is not set
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
 CONFIG_TICK_CPU_ACCOUNTING=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+# CONFIG_UBIFS_FS_XZ is not set
+CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UID16=y
 CONFIG_UIDGID_CONVERTED=y
 CONFIG_UNCOMPRESS_INCLUDE="mach/uncompress.h"
index cf175ab2e24f86204084145bcd569c11f16603b9..5c2f976446975aec7a53e2a096114170de89ae82 100644 (file)
@@ -7,6 +7,9 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
+UBIFS_OPTS = -F -m 2048 -e 126KiB -c 2048 -U
+UBI_OPTS = -m 2048 -p 128KiB -s 512
+
 define Build/Clean
        $(MAKE) -C u-boot clean
 endef
@@ -28,11 +31,16 @@ define MkuImageDtb
                -d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
 endef
 
+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
+endef
+
 # Atmel
 Image/Build/Kernel/AT91SAM9263EK=$(call MkuImageDtb,9263ek,at91sam9263ek)
 Image/Build/Kernel/AT91SAM9G15EK=$(call MkuImageDtb,9g15ek,at91sam9g15ek)
-Image/Build/Kernel/AT91SAM9G20EK=$(call MkuImageDtb,9g20ek,at91sam9g20ek)
-Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call MkuImageDtb,9g20ek_2mmc,at91sam9g20ek_2mmc)
+Image/Build/Kernel/AT91SAM9G20EK=$(call MkOftree,9g20ek,at91sam9g20ek)
+Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call MkOftree,9g20ek_2mmc,at91sam9g20ek_2mmc)
 Image/Build/Kernel/AT91SAM9G25EK=$(call MkuImageDtb,9g25ek,at91sam9g25ek)
 Image/Build/Kernel/AT91SAM9G35EK=$(call MkuImageDtb,9g35ek,at91sam9g35ek)
 Image/Build/Kernel/AT91SAM9M10G45EK=$(call MkuImageDtb,9m10g45ek,at91sam9m10g45ek)
diff --git a/target/linux/at91/image/ubinize.cfg b/target/linux/at91/image/ubinize.cfg
new file mode 100644 (file)
index 0000000..e4149ec
--- /dev/null
@@ -0,0 +1,13 @@
+[rootfs]
+# Volume mode (other option is static)
+mode=ubi
+# Source image
+image=root.ubifs
+# Volume ID in UBI image
+vol_id=0
+# Allow for dynamic resize
+vol_type=dynamic
+# Volume name
+vol_name=rootfs
+# Autoresize volume at first mount
+vol_flags=autoresize