[ELDK] [PATCH 2/3] m53evk-specific-support

Lothar Rubusch l.rubusch at gmx.ch
Fri Sep 13 15:12:44 CEST 2013


m53evk support:
linux-eldk 3.9; sdcard image with u-boot, uImage / FDT and rootfs;
sdma-firmware;
a patch for a corresponding u-boot m53evk.h;
hard float support enabled, and tested


Signed-off-by: Lothar Rubusch <l.rubusch at gmx.ch>
---
 meta-eldk/classes/image_types_m53evk.bbclass       |  103 +++++++
 meta-eldk/conf/machine/m53evk.conf                 |   48 ++++
 .../u-boot/m53evk/u-boot__m53evk-h__ext__v2.patch  |  124 +++++++++
 meta-eldk/recipes-bsp/uboot/u-boot_2013.07.bb      |    9 +-
 .../linux/linux-eldk/m53evk/defconfig              |  290 ++++++++++++++++++++
 meta-eldk/recipes-kernel/linux/linux-eldk_3.9.bb   |   66 +++++
 .../sdma-firmware/sdma-firmware_HEAD.bb            |   22 ++
 .../tools/installer/targets/m53evk/target.conf     |    4 +
 8 files changed, 665 insertions(+), 1 deletion(-)
 create mode 100644 meta-eldk/classes/image_types_m53evk.bbclass
 create mode 100644 meta-eldk/conf/machine/m53evk.conf
 create mode 100644 meta-eldk/recipes-bsp/uboot/u-boot/m53evk/u-boot__m53evk-h__ext__v2.patch
 create mode 100644 meta-eldk/recipes-kernel/linux/linux-eldk/m53evk/defconfig
 create mode 100644 meta-eldk/recipes-kernel/linux/linux-eldk_3.9.bb
 create mode 100644 meta-eldk/recipes-kernel/sdma-firmware/sdma-firmware_HEAD.bb
 create mode 100644 meta-eldk/tools/installer/targets/m53evk/target.conf

diff --git a/meta-eldk/classes/image_types_m53evk.bbclass b/meta-eldk/classes/image_types_m53evk.bbclass
new file mode 100644
index 0000000..946dc77
--- /dev/null
+++ b/meta-eldk/classes/image_types_m53evk.bbclass
@@ -0,0 +1,103 @@
+inherit image_types
+
+## name of the boot partition
+BOOTDD_VOLUME_ID ?= "Boot-${MACHINE}"
+
+## boot partition size [in KiB]
+BOOT_SPACE ?= "8192"
+
+## set alignment to 4MB [in KiB]
+IMAGE_ROOTFS_ALIGNMENT = "4096"
+
+## path and name for final .sdcard image
+SDCARD = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard"
+
+UBOOT_PADDING ?= "0"
+
+## FSCL defaults
+UBOOT_SUFFIX ?= "bin"
+UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}"
+
+## general dependencies
+IMAGE_DEPENDS_sdcard = "parted-native dosfstools-native mtools-native \
+                        virtual/kernel u-boot"
+
+IMAGE_CMD_sdcard(){
+    if [[ -z "${SDCARD_ROOTFS}" ]]; then
+	bberror "SDCARD_ROOTFS is undefined. To use sdcard image from Freescale's BSP it needs to be defined."
+	exit 1
+    fi
+
+    ## align boot partition and calculate total SD card image size
+    local boot_space_aligned=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
+    boot_space_aligned=$(expr ${boot_space_aligned} - ${boot_space_aligned} % ${IMAGE_ROOTFS_ALIGNMENT})
+    local sdcard_size=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${boot_space_aligned} + ${ROOTFS_SIZE} + ${IMAGE_ROOTFS_ALIGNMENT})
+
+
+    ## initialize a sparse file
+    dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${sdcard_size})
+
+## Create an image that can by written onto a SD card using dd for use
+## with i.MX SoC family
+##
+## External variables needed:
+##   ${SDCARD_ROOTFS}    - the rootfs image to incorporate
+##   ${IMAGE_BOOTLOADER} - bootloader to use {u-boot, barebox}
+##
+## The disk layout used is:
+##
+##    0                      -> IMAGE_ROOTFS_ALIGNMENT         - reserved to bootloader (not partitioned)
+##    IMAGE_ROOTFS_ALIGNMENT -> BOOT_SPACE                     - kernel and other data
+##    BOOT_SPACE             -> SDIMG_SIZE                     - rootfs
+##
+##                                                     Default Free space = 1.3x
+##                                                     Use IMAGE_OVERHEAD_FACTOR to add more space
+##                                                     <--------->
+##            4MiB               8MiB           SDIMG_ROOTFS                    4MiB
+## <-----------------------> <----------> <----------------------> <------------------------------>
+##  ------------------------ ------------ ------------------------ -------------------------------
+## | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE            |     IMAGE_ROOTFS_ALIGNMENT    |
+##  ------------------------ ------------ ------------------------ -------------------------------
+## ^                        ^            ^                        ^                               ^
+## |                        |            |                        |                               |
+## 0                      4096     4MiB +  8MiB       4MiB +  8Mib + SDIMG_ROOTFS   4MiB +  8MiB + SDIMG_ROOTFS + 4MiB
+
+    ## create partition table
+    parted -s ${SDCARD} mklabel msdos
+    parted -s ${SDCARD} unit KiB mkpart primary ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${boot_space_aligned})
+    parted -s ${SDCARD} unit KiB mkpart primary $(expr  ${IMAGE_ROOTFS_ALIGNMENT} \+ ${boot_space_aligned}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${boot_space_aligned} \+ $ROOTFS_SIZE)
+    parted ${SDCARD} print
+
+    ## burn bootloader
+    dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=2 skip=${UBOOT_PADDING} bs=512
+
+    ## create boot partition image
+    local boot_blocks=$(LC_ALL=C parted -s ${SDCARD} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
+
+    IMAGE_BOOTFS="${WORKDIR}/boot-$(date +%Y%m%d%H%M%S)"
+    [[ ! -e "${IMAGE_BOOTFS}" ]] && mkdir -p "${IMAGE_BOOTFS}"
+
+    ## uImage
+    cp "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin" "${IMAGE_BOOTFS}/${KERNEL_IMAGETYPE}"
+
+    ## uImage, dtb
+    for dts in ${KERNEL_DEVICETREE}; do
+        local dts_basename=$(basename ${dts} | awk -F "." '{print $1}')
+        if [[ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb" ]]; then
+            local kernel_bin="$(readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin)"
+            local kernel_dtb="$(readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb)"
+            if [[ "${kernel_bin%-${MACHINE}*.bin}" == "${kernel_dtb%-${MACHINE}*.dtb}" ]]; then
+                cp "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb" "${IMAGE_BOOTFS}/${dts_basename}.dtb"
+            fi
+        else
+            die "there was a device tree in list, but it was not built"
+        fi
+    done
+
+    ## generate ext2 filesystem
+    genext2fs -L "${BOOTDD_VOLUME_ID}" -b ${boot_blocks} -d ${IMAGE_BOOTFS} ${SDCARD_BOOTFS}
+
+    ## flash it to the sdcard partition
+    dd if=${SDCARD_BOOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
+    dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${boot_space_aligned} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
+}
diff --git a/meta-eldk/conf/machine/m53evk.conf b/meta-eldk/conf/machine/m53evk.conf
new file mode 100644
index 0000000..86ac8eb
--- /dev/null
+++ b/meta-eldk/conf/machine/m53evk.conf
@@ -0,0 +1,48 @@
+#@TYPE: Machine
+#@NAME: DENX M53 SoM Evaluation Kit
+#@SOC: i.MX53
+#@DESCRIPTION: Machine configuration for DENX M53 SoM Evaluation Kit
+
+##
+## fix for arm-linux-gnueabi-gcc not found
+##
+## set default TUNE
+DEFAULTTUNE = "armv7ahf"
+
+## this TUNE file works fine until linux-eldk_3.8.bb
+require conf/machine/include/arm/arch-armv7a.inc
+
+## as an alternative for linux-eldk_3.9.bb, this TUNE file may have issues i.e. "arm-linux-gnueabi-gcc not found" in a unreproducable race condition
+#include conf/machine/include/tune-cortexa8.inc
+
+UBOOT_MACHINE = "m53evk_config"
+PREFERRED_VERSION_u-boot ?= "v2013.07+gitAUTOINC+68c517eafcb060aa8ef92ed2620f0f41c5275d89"
+
+## load addr for u-boot
+UBOOT_ENTRYPOINT := "0x70008000"
+UBOOT_MAKE_TARGET := "u-boot.imx"
+UBOOT_SUFFIX ?= "imx"
+
+IMAGE_CLASSES += " image_types_m53evk"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-eldk"
+## explicit, kernel 3.9
+PREFERRED_VERSION_linux-eldk = "3.9+gitAUTOINC+c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1"
+
+KERNEL_IMAGETYPE = "uImage"
+
+## load addr was set to uboot, but needs to be set for the kernel, too
+KERNEL_EXTRA_ARGS = "LOADADDR=${UBOOT_ENTRYPOINT}"
+
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-lite"
+
+## only 3.9 kernel has this dts file
+KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx53-m53evk.dts"
+
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+SDCARD_BOOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.bootfs.ext2"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard"
+
+SERIAL_CONSOLE = "115200 ttymxc1"
+
+MACHINE_FEATURES = "apm usbhost alsa touchscreen"
diff --git a/meta-eldk/recipes-bsp/uboot/u-boot/m53evk/u-boot__m53evk-h__ext__v2.patch b/meta-eldk/recipes-bsp/uboot/u-boot/m53evk/u-boot__m53evk-h__ext__v2.patch
new file mode 100644
index 0000000..71a986d
--- /dev/null
+++ b/meta-eldk/recipes-bsp/uboot/u-boot/m53evk/u-boot__m53evk-h__ext__v2.patch
@@ -0,0 +1,124 @@
+From e73999d08aad6005e33d7078c08c78709031e080 Mon Sep 17 00:00:00 2001
+From: Lothar Rubusch <lothar at denx.de>
+Date: Tue, 10 Sep 2013 15:03:59 +0200
+Subject: [PATCH 2/2] m53evk board specific settings
+
+
+Signed-off-by: Lothar Rubusch <lothar at denx.de>
+---
+ include/configs/m53evk.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 84 insertions(+), 1 deletion(-)
+
+diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
+index 8403d51..5a9f2c0 100644
+--- a/include/configs/m53evk.h
++++ b/include/configs/m53evk.h
+@@ -160,6 +160,7 @@
+  * Ethernet on SOC (FEC)
+  */
+ #ifdef CONFIG_CMD_NET
++#define CONFIG_ETHPRIME			"FEC0"
+ #define CONFIG_FEC_MXC
+ #define IMX_FEC_BASE			FEC_BASE_ADDR
+ #define CONFIG_FEC_MXC_PHYADDR		0x0
+@@ -224,9 +225,10 @@
+ #define CONFIG_REVISION_TAG
+ #define CONFIG_SETUP_MEMORY_TAGS
+ #define CONFIG_BOOTDELAY	3
+-#define CONFIG_BOOTFILE		"m53evk/uImage"
++#define CONFIG_BOOTFILE		"uImage"
+ #define CONFIG_BOOTARGS		"console=ttymxc1,115200"
+ #define CONFIG_LOADADDR		0x70800000
++#define CONFIG_BOOTCOMMAND	"run mmc_mmc"
+ #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
+ #define CONFIG_OF_LIBFDT
+ 
+@@ -253,4 +255,85 @@
+ #define CONFIG_SYS_NAND_SIZE		(256 * 1024 * 1024)
+ #define CONFIG_SYS_NAND_BAD_BLOCK_POS	0
+ 
++/*
++ * Extra Environments
++ */
++#define CONFIG_EXTRA_ENV_SETTINGS					\
++	"fdtfile=imx53-m53evk.dtb\0"                                    \
++	"consdev=ttymxc1\0"                                             \
++	"baudrate=115200\0"                                             \
++	"bootdev=/dev/mmcblk0p1\0"                                      \
++	"rootdev=/dev/mmcblk0p2\0"                                      \
++	"ethact=FEC0\0"                                                 \
++	"netdev=eth0\0"                                                 \
++	"hostname=m53evk\0"                                             \
++	"rootpath=/opt/eldk-5.4/armv7a-hf/rootfs-qte-sdk\0"             \
++	"kernel_addr_r=0x72000000\0"                                    \
++	"fdt_addr_r=0x71000000\0"                                       \
++	"addcons="                                                      \
++		"setenv bootargs ${bootargs} "                          \
++		"console=${consdev},${baudrate}\0"                      \
++	"addip="                                                        \
++		"setenv bootargs ${bootargs} "                          \
++		"ip=${ipaddr}:${serverip}:${gatewayip}:"                \
++			"${netmask}:${hostname}:${netdev}:off\0"        \
++	"addmisc="                                                      \
++		"setenv bootargs ${bootargs} ${miscargs}\0"             \
++	"adddfltmtd="                                                   \
++		"if test \"x${mtdparts}\" == \"x\" ; "                  \
++		"then mtdparts default ; fi\0"                          \
++	"addmtd="                                                       \
++		"run adddfltmtd ; "					\
++		"setenv bootargs ${bootargs} ${mtdparts}\0"             \
++	"addargs=run addcons addmtd addmisc\0"                          \
++	"kernel_mmcload="                                               \
++		"mmc rescan ; "                                         \
++		"ext2load mmc 0:1 ${kernel_addr_r} ${bootfile}\0"       \
++	"kernel_nandload=nand read ${kernel_addr_r} kernel\0"           \
++	"kernel_netload=tftp ${kernel_addr_r} ${bootfile}\0"            \
++	"fdt_mmcload="                                                  \
++		"mmc rescan ; "                                         \
++		"ext2load mmc 0:1 ${fdt_addr_r} ${fdtfile}\0"           \
++	"fdt_nandload=nand read ${fdt_addr_r} fdt\0"                    \
++	"fdt_netload=tftp ${fdt_addr_r} ${fdtfile}\0"                   \
++	"miscargs=nohlt panic=1\0"                                      \
++	"mmcargs=setenv bootargs root=${rootdev} rw rootwait\0"         \
++	"nandargs="                                                     \
++		"setenv bootargs ubi.mtd=6 "                            \
++		"root=ubi0:rootfs rootfstype=ubifs\0"                   \
++	"nfsargs="                                                      \
++		"setenv bootargs root=/dev/nfs rw "                     \
++			"nfsroot=${serverip}:${rootpath},v3,tcp\0"      \
++	"mmcload=run kernel_mmcload fdt_mmcload\0"                      \
++	"nandload=run kernel_nandload fdt_nandload\0"                   \
++	"netload=run kernel_netload fdt_netload\0"                      \
++	"mmc_nfs="                                                      \
++		"run mmcload nfsargs addip addargs ; "                  \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"mmc_mmc="                                                      \
++		"run mmcload mmcargs addargs ; "                        \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"mmc_nand="                                                     \
++		"run mmcload nandargs addargs ; "                       \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"nand_mmc="                                                     \
++		"run nandload mmcargs addargs ; "                       \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"nand_nfs="                                                     \
++		"run nandload nfsargs addip addargs ; "                 \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"nand_nand="                                                    \
++		"run nandload nandargs addargs ; "                      \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"net_mmc="                                                      \
++		"run netload mmcargs addargs ; "                        \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"net_nfs="                                                      \
++		"run netload nfsargs addip addargs ; "                  \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
++	"net_nand="                                                     \
++		"run netload nandargs addargs ; "                       \
++		"bootm ${kernel_addr_r} - ${fdt_addr_r}\0"
++
++
+ #endif	/* __M53EVK_CONFIG_H__ */
+-- 
+1.7.11.7
+
diff --git a/meta-eldk/recipes-bsp/uboot/u-boot_2013.07.bb b/meta-eldk/recipes-bsp/uboot/u-boot_2013.07.bb
index 30a38a6..35b9a75 100644
--- a/meta-eldk/recipes-bsp/uboot/u-boot_2013.07.bb
+++ b/meta-eldk/recipes-bsp/uboot/u-boot_2013.07.bb
@@ -18,12 +18,19 @@ SRCREV = "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c"
 ## "68c517eafcb060aa8ef92ed2620f0f41c5275d89" corresponds to "v2013.07-rc3"
 SRCREV_m28evk = "68c517eafcb060aa8ef92ed2620f0f41c5275d89"
 
+SRCREV_m53evk = "68c517eafcb060aa8ef92ed2620f0f41c5275d89"
+
 SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git"
 
-## uboot patch for m28evk
+
+## uboot patch for m28evk and m53evk
 SRC_URI_m28evk = "git://git.denx.de/u-boot.git;branch=master;protocol=git  \
                  file://u-boot__m28evk-h__ext__v2.patch"    
 
+SRC_URI_m53evk = "git://git.denx.de/u-boot.git;branch=master;protocol=git  \
+                 file://u-boot__m53evk-h__ext__v2.patch"    
+
+
 S = "${WORKDIR}/git"
 
 FILESDIR = "${@os.path.dirname(d.getVar('FILE',1))}/u-boot-git/${MACHINE}"
diff --git a/meta-eldk/recipes-kernel/linux/linux-eldk/m53evk/defconfig b/meta-eldk/recipes-kernel/linux/linux-eldk/m53evk/defconfig
new file mode 100644
index 0000000..23b29af
--- /dev/null
+++ b/meta-eldk/recipes-kernel/linux/linux-eldk/m53evk/defconfig
@@ -0,0 +1,290 @@
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZMA=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_EXPERT=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_ARCH_MULTI_V6=y
+CONFIG_ARCH_MXC=y
+CONFIG_MACH_MX31LILLY=y
+CONFIG_MACH_MX31LITE=y
+CONFIG_MACH_PCM037=y
+CONFIG_MACH_PCM037_EET=y
+CONFIG_MACH_MX31_3DS=y
+CONFIG_MACH_MX31MOBOARD=y
+CONFIG_MACH_QONG=y
+CONFIG_MACH_ARMADILLO5X0=y
+CONFIG_MACH_KZM_ARM11_01=y
+CONFIG_MACH_PCM043=y
+CONFIG_MACH_MX35_3DS=y
+CONFIG_MACH_VPR200=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_MX51_BABBAGE=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_CAN=y
+# CONFIG_CAN_BCM is not set
+# CONFIG_CAN_GW is not set
+CONFIG_CAN_FLEXCAN=y
+# CONFIG_WIRELESS is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_AT803X_PHY=y
+CONFIG_AMD_PHY=y
+CONFIG_MARVELL_PHY=y
+CONFIG_DAVICOM_PHY=y
+CONFIG_QSEMI_PHY=y
+CONFIG_LXT_PHY=y
+CONFIG_CICADA_PHY=y
+CONFIG_VITESSE_PHY=y
+CONFIG_SMSC_PHY=y
+CONFIG_BROADCOM_PHY=y
+CONFIG_BCM87XX_PHY=y
+CONFIG_ICPLUS_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_NATIONAL_PHY=y
+CONFIG_STE10XP=y
+CONFIG_LSI_ET1011C_PHY=y
+CONFIG_MICREL_PHY=y
+# CONFIG_WLAN is not set
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=800
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_MXC_RNGA=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MC9S08DZ60=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_STMPE=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_OF_VIDEOMODE=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SEQUENCER=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=y
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_PHYCORE_AC97=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_M41T80=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_DMADEVICES=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_DRM_IMX=y
+CONFIG_DRM_IMX_FB_HELPER=y
+CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
+CONFIG_DRM_IMX_IPUV3_CORE=y
+CONFIG_DRM_IMX_IPUV3=y
+CONFIG_COMMON_CLK_DEBUG=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_FTRACE is not set
+# CONFIG_ARM_UNWIND is not set
+CONFIG_SECURITYFS=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
diff --git a/meta-eldk/recipes-kernel/linux/linux-eldk_3.9.bb b/meta-eldk/recipes-kernel/linux/linux-eldk_3.9.bb
new file mode 100644
index 0000000..b2db136
--- /dev/null
+++ b/meta-eldk/recipes-kernel/linux/linux-eldk_3.9.bb
@@ -0,0 +1,66 @@
+require linux.inc
+
+# by default REDUCED PREFERENCE!!!
+DEFAULT_PREFERENCE = "-1"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+PROVIDES = "virtual/kernel linux-mainline"
+
+PR = "r1"
+
+# v3.9 c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1
+SRCREV = "c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1"
+
+# PV actually reads the version number from the filename (.bb), recursively asigning
+# even through third variables, like LINUX_VERSION fails: LINUX_VERSION ?= "${PV}"
+LINUX_VERSION ?= "3.9"
+LINUX_VERSION_EXTENSION ?= "-custom"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://git.denx.de/linux-denx.git \
+           file://defconfig"
+
+LOCALVERSION = "-denx"
+
+
+## m28evk specific
+
+## m28evk v3.9 c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1
+SRCREV_m28evk = "c1be5a5b1b355d40e6cf79cc979eb66dafa24ad1"
+
+
+LOCALVERSION_m28evk = "-denx"
+
+do_compile_append_m28evk(){
+    [[ -e ${WORKDIR}/git/arch/arm/boot/Image ]] && rm ${WORKDIR}/git/arch/arm/boot/Image
+}
+
+
+## m53evk specific
+
+## m53evk v3.9 7c75b82904fa555ce7988b97619b85a436a8ed12
+SRCREV_m53evk = "7c75b82904fa555ce7988b97619b85a436a8ed12"
+
+DEPENDS_m53evk += " sdma-firmware-native \
+                    lzop-native \
+                    gcc-cross \
+"
+
+do_configure_prepend_m53evk(){
+    ## sdma firmware
+    echo 'CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx53.bin"' >> ${WORKDIR}/defconfig
+    cp -arv ${STAGING_DIR_NATIVE}/lib/firmware/imx ${S}/firmware/ || die "no sdma-firmware found"
+}
+
+do_compile_append_m53evk(){
+    ## linux.inc would overwrite uImage with Image
+    [[ -e ${WORKDIR}/git/arch/arm/boot/Image ]] && rm ${WORKDIR}/git/arch/arm/boot/Image
+}
+
+
+COMPATIBLE_MACHINE = "m28evk|m53evk"
diff --git a/meta-eldk/recipes-kernel/sdma-firmware/sdma-firmware_HEAD.bb b/meta-eldk/recipes-kernel/sdma-firmware/sdma-firmware_HEAD.bb
new file mode 100644
index 0000000..93fc477
--- /dev/null
+++ b/meta-eldk/recipes-kernel/sdma-firmware/sdma-firmware_HEAD.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "external sdma-firmware blob"
+SECTION = "base"
+HOMEPAGE = "http://git.pengutronix.de/git/imx/sdma-firmware.git/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://sdma-gen-image.c;beginline=1;endline=19;md5=8db9f935666ba755af54af9d8611b857"
+PR = "r10"
+
+inherit autotools
+
+SRC_URI = "git://git.pengutronix.de/git/imx/sdma-firmware.git/"
+
+## curr HEAD: "4aede1eb121e8199d33fe6697f4c91405086000a"
+SRCREV = "4aede1eb121e8199d33fe6697f4c91405086000a"
+
+S = "${WORKDIR}/git"
+
+do_install(){
+    install -d ${base_libdir}/firmware/imx/sdma || die "dirpath not possible"
+    install -m 755 sdma-imx53.bin ${base_libdir}/firmware/imx/sdma/sdma-imx53.bin || die "not possible to install sdma-imx53.bin under provided path"
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-eldk/tools/installer/targets/m53evk/target.conf b/meta-eldk/tools/installer/targets/m53evk/target.conf
new file mode 100644
index 0000000..f9f4a73
--- /dev/null
+++ b/meta-eldk/tools/installer/targets/m53evk/target.conf
@@ -0,0 +1,4 @@
+MACHINE="m53evk"
+TARGET_ARCH="arm"
+TARGET_OS="linux"
+TARGET_VENDOR=""
-- 
1.7.10.4



More information about the eldk mailing list