From: Inha Song Date: Thu, 6 Nov 2014 02:37:36 +0000 (+0900) Subject: tizen: add new gpt version and add gpt version headers X-Git-Tag: submit/tizen/20150522.044923~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6dbf3b993f1ee88a061501a2cd56f04919b352a8;p=platform%2Fkernel%2Fu-boot.git tizen: add new gpt version and add gpt version headers This patch adds new gpt version and moves gpt data into separated headers. In order to be able to gpt version switch, make gpt_vxx.h files that has the partition information. - include/samsung/gpt_v08.h - include/samsung/gpt_v13.h Change-Id: I33870a54703a07468f17b0f0d7cf43e563409e65 Signed-off-by: Inha Song tizen: config: enable platform command and platform setup This patch enables "platform" command and adds multiple platform setups to tizen environment. At this stage - there are available three setups: - trats2 pit v8 - trats2 pit v13 - chosen - odroidu3 Tizen v2.x - chosen - odroidu3 Tizen v3.0 - chosen The chosen setup - is the default for each platform, and is set as an active after first boot. This should be changed manually if another setup is required. Signed-off-by: Przemyslaw Marczak samsung: gpt: fix CSA partition name Signed-off-by: Chanho Park --- diff --git a/include/samsung/gpt_v08.h b/include/samsung/gpt_v08.h new file mode 100644 index 0000000000..a02271bc37 --- /dev/null +++ b/include/samsung/gpt_v08.h @@ -0,0 +1,58 @@ +#ifndef _TIZEN_GPT_V08_H_ +#define _TIZEN_GPT_V08_H_ + +/* + * Platform: trats + * Boards: trats/trats2 + * version: Pit v8 + * + * Bootable media layout: + * dev: SD eMMC(part boot) + * BL1 1 0 + * BL2 31 30 + * UBOOT 63 62 + * TZSW 2111 2110 + * ENV 2560 2560(part user) + * + * MBR Primary partiions: + * Num Name Size Offset + * 1. BOOT: 100MiB 2MiB + * 2. ROOT: 3GiB + * 3. DATA: 3GiB + * 4. UMS: - +*/ + +/* Tizen - partitions definitions */ +#define PARTS_V8_CSA "csa-mmc" +#define PARTS_V8_BOOT "boot" +#define PARTS_V8_QBOOT "qboot" +#define PARTS_V8_CSC "csc" +#define PARTS_V8_ROOT "platform" +#define PARTS_V8_DATA "data" +#define PARTS_V8_UMS "ums" + +#define PARTS_TRATS2_GPT_V08 \ + "uuid_disk=${uuid_gpt_disk};" \ + "name="PARTS_V8_CSA",start=5MiB,size=8MiB,uuid=${uuid_gpt_"PARTS_V8_CSA"};" \ + "name="PARTS_V8_BOOT",size=60MiB,uuid=${uuid_gpt_"PARTS_V8_BOOT"};" \ + "name="PARTS_V8_QBOOT",size=100MiB,uuid=${uuid_gpt_"PARTS_V8_QBOOT"};" \ + "name="PARTS_V8_CSC",size=150MiB,uuid=${uuid_gpt_"PARTS_V8_CSC"};" \ + "name="PARTS_V8_ROOT",size=1536MiB,uuid=${uuid_gpt_"PARTS_V8_ROOT"};" \ + "name="PARTS_V8_DATA",size=3000MiB,uuid=${uuid_gpt_"PARTS_V8_DATA"};" \ + "name="PARTS_V8_UMS",size=-,uuid=${uuid_gpt_"PARTS_V8_UMS"}\0" \ + +#define DFU_ALT_SYSTEM_TRATS2_GPT_V08 \ + "/uImage ext4 0 2;" \ + "/zImage ext4 0 2;" \ + "/Image.itb ext4 0 2;" \ + "/modem.bin ext4 0 2;" \ + "/exynos4412-trats2.dtb ext4 0 2;" \ + ""PARTS_V8_CSA" part 0 1;" \ + ""PARTS_V8_BOOT" part 0 2;" \ + ""PARTS_V8_QBOOT" part 0 3;" \ + ""PARTS_V8_CSC" part 0 4;" \ + ""PARTS_V8_ROOT" part 0 5;" \ + ""PARTS_V8_DATA" part 0 6;" \ + ""PARTS_V8_UMS" part 0 7\0" + +#endif /* _TIZEN_GPT_V08_H_ */ diff --git a/include/samsung/gpt_v13.h b/include/samsung/gpt_v13.h new file mode 100644 index 0000000000..eb7a4ae972 --- /dev/null +++ b/include/samsung/gpt_v13.h @@ -0,0 +1,69 @@ +#ifndef _TIZEN_GPT_V13_H_ +#define _TIZEN_GPT_V13_H_ + +/** + * Platform: trats + * Boards: trats/trats2 + * version: Pit v13 +*/ + +/* Tizen - partitions definitions */ +#define PARTS_V13_CSA "csa" +#define PARTS_V13_BOOT "boot" +#define PARTS_V13_QBOOT "qboot" +#define PARTS_V13_CSC "csc" +#define PARTS_V13_ROOT "platform" +#define PARTS_V13_DATA "data" +#define PARTS_V13_UMS "ums" +#define PARTS_V13_EFS "EFS" +#define PARTS_V13_RECOVERY "recovery" +#define PARTS_V13_MODEM "modem" +#define PARTS_V13_RESERVED3 "reserved3" +#define PARTS_V13_RAMDISK1 "ramdisk1" +#define PARTS_V13_RAMDISK2 "ramdisk2" +#define PARTS_V13_MODULE "module" +#define PARTS_V13_FOTA "fota" +#define PARTS_V13_ROOTFS "rootfs" +#define PARTS_V13_SYSDATA "system-data" +#define PARTS_V13_USER "user" + +#define PARTS_TRATS2_GPT_V13 \ + "uuid_disk=${uuid_gpt_disk};" \ + "name="PARTS_V13_EFS",start=12MiB,size=20MiB,uuid=${uuid_gpt_"PARTS_V13_EFS"};" \ + "name="PARTS_V13_BOOT",size=14MiB,uuid=${uuid_gpt_"PARTS_V13_BOOT"};" \ + "name="PARTS_V13_RECOVERY",size=37MiB,uuid=${uuid_gpt_"PARTS_V13_RECOVERY"};" \ + "name="PARTS_V13_CSA",size=14MiB,uuid=${uuid_gpt_"PARTS_V13_CSA"};" \ + "name="PARTS_V13_MODEM",size=86MiB,uuid=${uuid_gpt_"PARTS_V13_MODEM"};" \ + "name="PARTS_V13_RESERVED3",size=14MiB,uuid=${uuid_gpt_"PARTS_V13_RESERVED3"};" \ + "name="PARTS_V13_RAMDISK1",size=20MiB,uuid=${uuid_gpt_"PARTS_V13_RAMDISK1"};" \ + "name="PARTS_V13_RAMDISK2",size=20MiB,uuid=${uuid_gpt_"PARTS_V13_RAMDISK2"};" \ + "name="PARTS_V13_MODULE",size=20MiB,uuid=${uuid_gpt_"PARTS_V13_MODULE"};" \ + "name="PARTS_V13_FOTA",size=10MiB,uuid=${uuid_gpt_"PARTS_V13_FOTA"};" \ + "name="PARTS_V13_ROOTFS",size=3000MiB,uuid=${uuid_gpt_"PARTS_V13_ROOTFS"};" \ + "name="PARTS_V13_SYSDATA",size=512MiB,uuid=${uuid_gpt_"PARTS_V13_SYSDATA"};" \ + "name="PARTS_V13_CSC",size=150MiB,uuid=${uuid_gpt_"PARTS_V13_CSC"};" \ + "name="PARTS_V13_USER",size=-,uuid=${uuid_gpt_"PARTS_V13_USER"}\0" \ + +#define DFU_ALT_SYSTEM_TRATS2_GPT_V13 \ + "/uImage ext4 0 2;" \ + "/zImage ext4 0 2;" \ + "/Image.itb ext4 0 2;" \ + "/exynos4412-trats2.dtb ext4 0 2;" \ + "/modem.bin ext4 0 5;" \ + "/modem_cdma.bin ext4 0 5;" \ + ""PARTS_V13_EFS" part 0 1;" \ + ""PARTS_V13_BOOT" part 0 2;" \ + ""PARTS_V13_RECOVERY" part 0 3;" \ + "csa-mmc part 0 4;" \ + ""PARTS_V13_MODEM" part 0 5;" \ + ""PARTS_V13_RESERVED3" part 0 6;" \ + ""PARTS_V13_RAMDISK1" part 0 7;" \ + "ramdisk-recovery part 0 8;" \ + ""PARTS_V13_MODULE" part 0 9;" \ + ""PARTS_V13_FOTA" part 0 10;" \ + ""PARTS_V13_ROOTFS" part 0 11;" \ + ""PARTS_V13_SYSDATA" part 0 12;" \ + ""PARTS_V13_CSC" part 0 13;" \ + ""PARTS_V13_USER" part 0 14\0" + +#endif /* _TIZEN_GPT_V13_H_ */ diff --git a/include/samsung/mbr_v2x.h b/include/samsung/mbr_v2x.h new file mode 100644 index 0000000000..8a77545278 --- /dev/null +++ b/include/samsung/mbr_v2x.h @@ -0,0 +1,42 @@ +#ifndef _TIZEN_MBR_V2X_H_ +#define _TIZEN_MBR_V2X_H_ + +/** + * Platform: odroid + * Boards: odroidu3/odroidx2 + * version: Tizen v2.x + * + * Bootable media layout: + * dev: SD eMMC(part boot) + * BL1 1 0 + * BL2 31 30 + * UBOOT 63 62 + * TZSW 2111 2110 + * ENV 2560 2560(part user) + * + * MBR Primary partiions: + * Num Name Size Offset + * 1. BOOT: 100MiB 2MiB + * 2. ROOT: 3GiB + * 3. DATA: 3GiB + * 4. UMS: - +*/ + +/* Tizen 2.0 - MBR partition definitions for Odroid */ +#define PARTS_V2X_BOOT "boot" +#define PARTS_V2X_ROOT "platform" +#define PARTS_V2X_DATA "data" +#define PARTS_V2X_UMS "ums" + +#define DFU_ALT_SYSTEM_ODROID_MBR_V2X \ + "uImage fat 0 1;" \ + "zImage fat 0 1;" \ + "Image.itb fat 0 1;" \ + "exynos4412-odroidu3.dtb fat 0 1;" \ + "exynos4412-odroidx2.dtb fat 0 1;" \ + ""PARTS_V2X_BOOT" part 0 1;" \ + ""PARTS_V2X_ROOT" part 0 2;" \ + ""PARTS_V2X_DATA" part 0 3;" \ + ""PARTS_V2X_UMS" part 0 4\0" + +#endif /* _TIZEN_MBR_V2X_H_ */ diff --git a/include/samsung/mbr_v30.h b/include/samsung/mbr_v30.h new file mode 100644 index 0000000000..a254f370fb --- /dev/null +++ b/include/samsung/mbr_v30.h @@ -0,0 +1,46 @@ +#ifndef _TIZEN_MBR_V30_H_ +#define _TIZEN_MBR_V30_H_ + +/** + * Platform: odroid + * Boards: odroidu3/odroidx2 + * version: Tizen v3.0 + * + * Bootable media layout: + * dev: SD eMMC(part boot) + * BL1 1 0 + * BL2 31 30 + * UBOOT 63 62 + * TZSW 2111 2110 + * ENV 2560 2560(part user) + * + * MBR Primary partiions: + * Num Name Size Offset + * 1. BOOT: 32MiB 4MiB + * 2. ROOT: 3GiB + * 3. DATA: 512MiB + * 4. Extd: + * 5. USER: - + * 6. MODULE: 20MiB +*/ + +/* Tizen 3.0 - MBR partition definitions for Odroid */ +#define PARTS_V30_BOOT "boot" +#define PARTS_V30_ROOT "rootfs" +#define PARTS_V30_DATA "system-data" +#define PARTS_V30_USER "user" +#define PARTS_V30_MODULES "modules" + +#define DFU_ALT_SYSTEM_ODROID_MBR_V30 \ + "uImage fat 0 1;" \ + "zImage fat 0 1;" \ + "Image.itb fat 0 1;" \ + "exynos4412-odroidu3.dtb fat 0 1;" \ + "exynos4412-odroidx2.dtb fat 0 1;" \ + ""PARTS_V30_BOOT" part 0 1;" \ + ""PARTS_V30_ROOT" part 0 2;" \ + ""PARTS_V30_DATA" part 0 3;" \ + ""PARTS_V30_USER" part 0 5;" \ + ""PARTS_V30_MODULES" part 0 6\0" + +#endif /* _TIZEN_MBR_V30_H_ */ diff --git a/include/samsung/platform_setup.h b/include/samsung/platform_setup.h new file mode 100644 index 0000000000..4123a16840 --- /dev/null +++ b/include/samsung/platform_setup.h @@ -0,0 +1,124 @@ +#ifndef _PLATFORM_SETUP_H_ +#define _PLATFORM_SETUP_H_ + +#include +#include +#include +#include + +/** + * Each device has predefined bootloader area which should stay unchanged + * to prevent bootloader failure. + */ +#define DFU_ALT_BOOT_EMMC_TRATS2 \ + "s-boot-mmc.bin raw 0x0 0x400 mmcpart 1;" \ + "u-boot-mmc.bin raw 0x80 0x800;" \ + "params.bin raw 0x1880 0x20\0" + +#define DFU_ALT_BOOT_SD_TRATS2 \ + "This boot mode is not used\0" + +#define DFU_ALT_BOOT_EMMC_ODROID \ + "u-boot raw 0x3e 0x800 mmcpart 1;" \ + "bl1 raw 0x0 0x1e mmcpart 1;" \ + "bl2 raw 0x1e 0x1d mmcpart 1;" \ + "tzsw raw 0x83e 0x138 mmcpart 1;" \ + "params.bin raw 0x1880 0x20\0" + +#define DFU_ALT_BOOT_SD_ODROID \ + "u-boot raw 0x3f 0x800;" \ + "bl1 raw 0x1 0x1e;" \ + "bl2 raw 0x1f 0x1d;" \ + "tzsw raw 0x83f 0x138;" \ + "params.bin raw 0x1880 0x20\0" + +/** + * Each platform (${platname}) can provide N configs. + * Each config can provide a number of partitions. + * + * How to add new setup: + * - ${platname}_setup_N_name + * - ${platname}_setup_N_partitions + * - ${platname}_setup_N_alt_system + * - ${platname}_setup_N_bootpart + * - ${platname}_setup_N_rootpart + * + * Update PLATFORM_SETUP_INFO with: + * - ${platname}_setup_N_name/partitions/alt_system - new setup data + * - ${platname}_setup_cnt - number of configs for board + * - ${platname}_setup_chosen - number of chosen board config + * - ${platname}_setup_active - number of active board config (autoset) + */ + +/** + * TRATS_SETUP_1 - data defined in include/samsung/gpt_v08.h + * TRATS_SETUP_2 - data defined in include/samsung/gpt_v13.h + */ +#define TRATS_SETUP_1 \ + "trats_setup_1_name=PIT v08\0" \ + "trats_setup_1_partitions="PARTS_TRATS2_GPT_V08 \ + "trats_setup_1_alt_system="DFU_ALT_SYSTEM_TRATS2_GPT_V08 \ + "trats_setup_1_bootpart=2\0" \ + "trats_setup_1_rootpart=5\0" + +#define TRATS_SETUP_2 \ + "trats_setup_2_name=PIT v13\0" \ + "trats_setup_2_partitions="PARTS_TRATS2_GPT_V13 \ + "trats_setup_2_alt_system="DFU_ALT_SYSTEM_TRATS2_GPT_V13 \ + "trats_setup_2_bootpart=2\0" \ + "trats_setup_2_rootpart=11\0" + +/** + * ${platname}: trats + * Supported by: trats/trats2 + * setup 1: Pit v08 + * setup 2: Pit v13 (chosen) + */ +#define PLATFORM_SETUP_TRATS \ + "trats_setup_cnt=2\0" \ + "trats_setup_chosen=2\0" \ + "trats_setup_active=\0" \ + TRATS_SETUP_1 \ + TRATS_SETUP_2 + + +/* $partitions - not defined(MSDOS) */ +#define ODROID_SETUP_1 \ + "odroid_setup_1_name=Tizen v2.x\0" \ + "odroid_setup_1_partitions=\0" \ + "odroid_setup_1_alt_system="DFU_ALT_SYSTEM_ODROID_MBR_V2X \ + "odroid_setup_1_bootpart=1\0" \ + "odroid_setup_1_rootpart=2\0" + +/* $partitions - not defined(MSDOS) */ +#define ODROID_SETUP_2 \ + "odroid_setup_2_name=Tizen v3.0\0" \ + "odroid_setup_2_partitions=\0" \ + "odroid_setup_2_alt_system="DFU_ALT_SYSTEM_ODROID_MBR_V30 \ + "odroid_setup_2_bootpart=1\0" \ + "odroid_setup_2_rootpart=2\0" + +/** + * ${platname}: odroid + * Supported by: odroidu3/odroidx2 + * setup 1: Tizen v2.x + * setup 2: Tizen v3.0 (chosen) + */ +#define PLATFORM_SETUP_ODROID \ + "odroid_setup_cnt=2\0" \ + "odroid_setup_chosen=2\0" \ + "odroid_setup_active=\0" \ + ODROID_SETUP_1 \ + ODROID_SETUP_2 + +/** + * PLATFORM_SETUP_INFO - this should be a part of CONFIG_EXTRA_ENV_SETTINGS + * It provides environment variables for each board multiple platform setup. + * !!!Update this when adding new config!!! + * This is default setup - can be overwritten by params.bin + */ +#define PLATFORM_SETUP_INFO \ + PLATFORM_SETUP_TRATS \ + PLATFORM_SETUP_ODROID + +#endif /* _PLATFORM_SETUP_H_ */