From 38cfea183f315dd6c5057d6227bcdb90736dd634 Mon Sep 17 00:00:00 2001 From: Tushar Behera Date: Thu, 20 Feb 2014 11:07:59 +0530 Subject: Arndale Octa: Add support for Android build Adding initial support for Arndale-Octa board for linaro-android-media-create. Assumptions: BL1 filename is arndale-octa.bl1.bin SPL filename is smdk5420-spl.signed.bin TZSW filename is arndale-octa.tzsw.bin These files have to be copied from vendor folder to boot folder through some script. Change-Id: Ia1321df31ab9f8a4e44c873a24f560b90938e640 Signed-off-by: Tushar Behera Signed-off-by: Fathi Boudra --- linaro_image_tools/media_create/android_boards.py | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/linaro_image_tools/media_create/android_boards.py b/linaro_image_tools/media_create/android_boards.py index 01f9bc1..2bdb308 100644 --- a/linaro_image_tools/media_create/android_boards.py +++ b/linaro_image_tools/media_create/android_boards.py @@ -36,6 +36,7 @@ from linaro_image_tools.hwpack.hwpack_fields import FORMAT_FIELD from linaro_image_tools.media_create.partitions import SECTOR_SIZE from linaro_image_tools.media_create.boards import ( ArndaleConfig, + ArndaleOctaConfig, BeagleConfig, BoardConfig, BoardConfigException, @@ -565,6 +566,43 @@ class AndroidArndaleConfig(AndroidSamsungConfig, ArndaleConfig): _dd(file_path, boot_device_or_file, seek=boot_bin['seek']) +class AndroidArndaleOctaConfig(AndroidArndaleConfig, ArndaleOctaConfig): + """Placeholder class for Arndale-Octa configuration inheritance.""" + def __init__(self): + super(AndroidArndaleOctaConfig, self).__init__() + self.samsung_env_start = 1231 + self.mmc_option = '0:2' + self.kernel_addr = '0x20007000' + self.initrd_addr = '0x21000000' + self.dtb_addr = '0x21f00000' + self.dtb_name = 'exynos5420-arndale-octa.dtb' + self._android_specific_args = ( + 'init=/init androidboot.console=ttySAC3 console=ttySAC3 initrd=%s' + % self.initrd_addr) + self._extra_serial_options = 'ttySAC3,115200n8' + self._extra_boot_args_options = 'rootdelay=3' + + def populate_raw_partition(self, boot_device_or_file, chroot_dir): + boot_bin_0 = {'name': 'arndale-octa.bl1.bin', 'seek': 1} + boot_bin_1 = {'name': 'smdk5420-spl.signed.bin', 'seek': 31} + boot_bin_2 = {'name': 'u-boot.bin', 'seek': 63} + boot_bin_3 = {'name': 'arndale-octa.tzsw.bin', 'seek': 719} + boot_bins = [boot_bin_0, boot_bin_1, boot_bin_2, boot_bin_3] + + boot_partition = 'boot' + + # Zero the env so that the boot_script will get loaded + _dd("/dev/zero", boot_device_or_file, count=self.samsung_env_len, + seek=self.samsung_env_start) + + for boot_bin in boot_bins: + name = boot_bin['name'] + file_path = os.path.join(chroot_dir, boot_partition, name) + if not os.path.exists(file_path): + raise BoardException( + "File '%s' does not exists. Cannot proceed." % name) + _dd(file_path, boot_device_or_file, seek=boot_bin['seek']) + # This dictionary is composed as follows: # : # The is the command line argument passed to l-a-m-c, the @@ -573,6 +611,7 @@ class AndroidArndaleConfig(AndroidSamsungConfig, ArndaleConfig): # general AndroidBoardConfig class. android_board_configs = { 'arndale': AndroidArndaleConfig, + 'arndale-octa': AndroidArndaleOctaConfig, 'beagle': AndroidBeagleConfig, 'iMX53': AndroidMx53LoCoConfig, 'mx53loco': AndroidMx53LoCoConfig, -- cgit v1.2.3