[U-Boot] [PATCH v3 1/2] rockchip: use rockchip linux partitions layout

Unify the partitions of each chip then it will be more easy for us to write scripts, tools or guides for rockchip chips.
Those extra partitions mostly are used to be compatible with our internal loaders (such as miniloader which was same as spl, or android loader then we can support dual boot)
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com ---
Changes in v3: - correct the copyright
Changes in v2: - put macro in a rockchip_common.h
include/configs/rk3036_common.h | 17 +---------------- include/configs/rk3288_common.h | 17 +---------------- include/configs/rk3399_common.h | 16 ++-------------- include/configs/rockchip-common.h | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 46 deletions(-) create mode 100644 include/configs/rockchip-common.h
diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h index 73830e4..29d56ff 100644 --- a/include/configs/rk3036_common.h +++ b/include/configs/rk3036_common.h @@ -7,6 +7,7 @@ #define __CONFIG_RK3036_COMMON_H
#include <asm/arch/hardware.h> +#include "rockchip-common.h"
#define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 @@ -79,11 +80,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x310a
-/* Enable gpt partition table */ -#define CONFIG_CMD_GPT - -#include <config_distro_defaults.h> - #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x60000000\0" \ "pxefile_addr_r=0x60100000\0" \ @@ -91,17 +87,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0"
-#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \ - "uuid_disk=${uuid_gpt_disk};" \ - "name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \ - "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \ - -/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) \ - func(MMC, mmc, 1) - #include <config_distro_bootcmd.h>
/* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board, diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h index 9ddfe1d..630f218 100644 --- a/include/configs/rk3288_common.h +++ b/include/configs/rk3288_common.h @@ -8,6 +8,7 @@ #define __CONFIG_RK3288_COMMON_H
#include <asm/arch/hardware.h> +#include "rockchip-common.h"
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY #define CONFIG_SYS_NO_FLASH @@ -96,11 +97,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x320a
-/* Enable gpt partition table */ -#define CONFIG_CMD_GPT - -#include <config_distro_defaults.h> - #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ "pxefile_addr_r=0x00100000\0" \ @@ -108,17 +104,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0"
-#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \ - "uuid_disk=${uuid_gpt_disk};" \ - "name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \ - "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \ - -/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) \ - func(MMC, mmc, 1) - #include <config_distro_bootcmd.h>
/* Linux fails to load the fdt if it's loaded above 512M on a Rock 2 board, so diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h index b026122..68b9391 100644 --- a/include/configs/rk3399_common.h +++ b/include/configs/rk3399_common.h @@ -7,6 +7,8 @@ #ifndef __CONFIG_RK3399_COMMON_H #define __CONFIG_RK3399_COMMON_H
+#include "rockchip-common.h" + #define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_ENV_SIZE 0x2000 @@ -53,7 +55,6 @@ #define CONFIG_SF_DEFAULT_SPEED 20000000
#ifndef CONFIG_SPL_BUILD -#include <config_distro_defaults.h>
#define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ @@ -62,19 +63,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0"
-#define CONFIG_CMD_GPT -#define CONFIG_RANDOM_UUID -#define CONFIG_PARTITION_UUIDS -#define PARTS_DEFAULT \ - "uuid_disk=${uuid_gpt_disk};" \ - "name=boot,start=16M,size=32M,bootable;" \ - "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \ - -/* First try to boot from SD (index 0), then eMMC (index 1) */ -#define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) \ - func(MMC, mmc, 1) - #include <config_distro_bootcmd.h> #define CONFIG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h new file mode 100644 index 0000000..7ca1696 --- /dev/null +++ b/include/configs/rockchip-common.h @@ -0,0 +1,35 @@ +/* + * (C) Copyright 2016 Rockchip Electronics Co., Ltd + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _ROCKCHIP_COMMON_H_ +#define _ROCKCHIP_COMMON_H_ +#include <linux/sizes.h> + +#ifndef CONFIG_SPL_BUILD +#include <config_distro_defaults.h> + +/* First try to boot from SD (index 0), then eMMC (index 1 */ +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 0) \ + func(MMC, mmc, 1) + + /* Enable gpt partition table */ +#define CONFIG_CMD_GPT +#define CONFIG_RANDOM_UUID +#define CONFIG_PARTITION_UUIDS +#define PARTS_DEFAULT \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \ + "name=reserved1,size=64K,uuid=${uuid_gpt_reserved1};" \ + "name=reserved2,size=4M,uuid=${uuid_gpt_reserved2};" \ + "name=loader2,size=4MB,uuid=${uuid_gpt_loader2};" \ + "name=atf,size=4M,uuid=${uuid_gpt_atf};" \ + "name=boot,size=128M,bootable,uuid=${uuid_gpt_boot};" \ + "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \ + +#endif + +#endif /* _ROCKCHIP_COMMON_H_ */

A simple introduction.
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com Acked-by: Simon Glass sjg@chromium.org ---
Changes in v3: None Changes in v2: None
doc/README.rockchip | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/doc/README.rockchip b/doc/README.rockchip index 69b926c..06ec80e 100644 --- a/doc/README.rockchip +++ b/doc/README.rockchip @@ -149,7 +149,6 @@ Note: rk3036 SDMMC and debug uart use the same iomux, so if you boot from SD, th
Using fastboot on rk3288 ======================== -- Define GPT partition layout like kylin_rk3036(see include/configs/kylin_rk3036.h) - Write GPT partition layout to mmc device which fastboot want to use it to store the image
@@ -212,7 +211,6 @@ When booting you should see something like: Err: serial@ff690000 =>
- Future work ===========
@@ -298,6 +296,15 @@ overhead and in SPL with a 32KB size limit some shortcuts have been taken. In general all Rockchip drivers should use these features, with SPL-specific modifications where required.
+GPT partition layout +---------------------------- + +Rockchip use a unified GPT partition layout in open source support. +With this GPT partition layout, uboot can be compatilbe with other components, +like miniloader, trusted-os, arm-trust-firmware. + +There are some documents about partitions in the links below. +http://rockchip.wikidot.com/partitions
-- Simon Glass sjg@chromium.org

On 7 October 2016 at 23:47, Jacob Chen jacob2.chen@rock-chips.com wrote:
A simple introduction.
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com Acked-by: Simon Glass sjg@chromium.org
Changes in v3: None Changes in v2: None
doc/README.rockchip | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
Acked-by: Simon Glass sjg@chromium.org

On 15 October 2016 at 07:25, Simon Glass sjg@chromium.org wrote:
On 7 October 2016 at 23:47, Jacob Chen jacob2.chen@rock-chips.com wrote:
A simple introduction.
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com Acked-by: Simon Glass sjg@chromium.org
Changes in v3: None Changes in v2: None
doc/README.rockchip | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
Acked-by: Simon Glass sjg@chromium.org
Applied to u-boot-rockchip, thanks!

Hi Jacob,
On 10/08/2016 01:47 PM, Jacob Chen wrote:
Unify the partitions of each chip then it will be more easy for us to write scripts, tools or guides for rockchip chips.
Those extra partitions mostly are used to be compatible with our internal loaders (such as miniloader which was same as spl, or android loader then we can support dual boot)
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com
Changes in v3:
- correct the copyright
Changes in v2:
put macro in a rockchip_common.h
include/configs/rk3036_common.h | 17 +---------------- include/configs/rk3288_common.h | 17 +---------------- include/configs/rk3399_common.h | 16 ++-------------- include/configs/rockchip-common.h | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 46 deletions(-) create mode 100644 include/configs/rockchip-common.h
diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h index 73830e4..29d56ff 100644 --- a/include/configs/rk3036_common.h +++ b/include/configs/rk3036_common.h @@ -7,6 +7,7 @@ #define __CONFIG_RK3036_COMMON_H
#include <asm/arch/hardware.h> +#include "rockchip-common.h"
#define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 @@ -79,11 +80,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x310a
-/* Enable gpt partition table */ -#define CONFIG_CMD_GPT
-#include <config_distro_defaults.h>
- #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x60000000\0" \ "pxefile_addr_r=0x60100000\0" \
@@ -91,17 +87,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0"
-#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \
- "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
#include <config_distro_bootcmd.h>
/* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board,
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h index 9ddfe1d..630f218 100644 --- a/include/configs/rk3288_common.h +++ b/include/configs/rk3288_common.h @@ -8,6 +8,7 @@ #define __CONFIG_RK3288_COMMON_H
#include <asm/arch/hardware.h> +#include "rockchip-common.h"
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY #define CONFIG_SYS_NO_FLASH @@ -96,11 +97,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x320a
-/* Enable gpt partition table */ -#define CONFIG_CMD_GPT
-#include <config_distro_defaults.h>
- #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ "pxefile_addr_r=0x00100000\0" \
@@ -108,17 +104,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0"
-#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \
- "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
#include <config_distro_bootcmd.h>
/* Linux fails to load the fdt if it's loaded above 512M on a Rock 2 board, so
diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h index b026122..68b9391 100644 --- a/include/configs/rk3399_common.h +++ b/include/configs/rk3399_common.h @@ -7,6 +7,8 @@ #ifndef __CONFIG_RK3399_COMMON_H #define __CONFIG_RK3399_COMMON_H
+#include "rockchip-common.h"
- #define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_ENV_SIZE 0x2000
@@ -53,7 +55,6 @@ #define CONFIG_SF_DEFAULT_SPEED 20000000
#ifndef CONFIG_SPL_BUILD -#include <config_distro_defaults.h>
#define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ @@ -62,19 +63,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0"
-#define CONFIG_CMD_GPT -#define CONFIG_RANDOM_UUID -#define CONFIG_PARTITION_UUIDS -#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=boot,start=16M,size=32M,bootable;" \
- "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1) */ -#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 0) \
- func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> #define CONFIG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h new file mode 100644 index 0000000..7ca1696 --- /dev/null +++ b/include/configs/rockchip-common.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2016 Rockchip Electronics Co., Ltd
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ROCKCHIP_COMMON_H_ +#define _ROCKCHIP_COMMON_H_ +#include <linux/sizes.h>
+#ifndef CONFIG_SPL_BUILD +#include <config_distro_defaults.h>
+/* First try to boot from SD (index 0), then eMMC (index 1 */ +#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 0) \
- func(MMC, mmc, 1)
- /* Enable gpt partition table */
+#define CONFIG_CMD_GPT +#define CONFIG_RANDOM_UUID +#define CONFIG_PARTITION_UUIDS +#define PARTS_DEFAULT \
- "uuid_disk=${uuid_gpt_disk};" \
- "name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
- "name=reserved1,size=64K,uuid=${uuid_gpt_reserved1};" \
- "name=reserved2,size=4M,uuid=${uuid_gpt_reserved2};" \
- "name=loader2,size=4MB,uuid=${uuid_gpt_loader2};" \
- "name=atf,size=4M,uuid=${uuid_gpt_atf};" \
- "name=boot,size=128M,bootable,uuid=${uuid_gpt_boot};" \
- "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
+#endif
+#endif /* _ROCKCHIP_COMMON_H_ */
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Thanks, - Kever

On 8 October 2016 at 01:38, Kever Yang kever.yang@rock-chips.com wrote:
Hi Jacob,
On 10/08/2016 01:47 PM, Jacob Chen wrote:
Unify the partitions of each chip then it will be more easy for us to write scripts, tools or guides for rockchip chips.
Those extra partitions mostly are used to be compatible with our internal loaders (such as miniloader which was same as spl, or android loader then we can support dual boot)
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com
Changes in v3:
- correct the copyright
Changes in v2:
put macro in a rockchip_common.h
include/configs/rk3036_common.h | 17 +---------------- include/configs/rk3288_common.h | 17 +---------------- include/configs/rk3399_common.h | 16 ++-------------- include/configs/rockchip-common.h | 35
+++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 46 deletions(-) create mode 100644 include/configs/rockchip-common.h
diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h index 73830e4..29d56ff 100644 --- a/include/configs/rk3036_common.h +++ b/include/configs/rk3036_common.h @@ -7,6 +7,7 @@ #define __CONFIG_RK3036_COMMON_H #include <asm/arch/hardware.h> +#include "rockchip-common.h" #define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 @@ -79,11 +80,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x310a -/* Enable gpt partition table */ -#define CONFIG_CMD_GPT
-#include <config_distro_defaults.h>
- #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x60000000\0" \ "pxefile_addr_r=0x60100000\0" \
@@ -91,17 +87,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> /* Linux fails to load the fdt if it's loaded above 512M on a
evb-rk3036 board, diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h index 9ddfe1d..630f218 100644 --- a/include/configs/rk3288_common.h +++ b/include/configs/rk3288_common.h @@ -8,6 +8,7 @@ #define __CONFIG_RK3288_COMMON_H #include <asm/arch/hardware.h> +#include "rockchip-common.h" #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY #define CONFIG_SYS_NO_FLASH @@ -96,11 +97,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x320a -/* Enable gpt partition table */ -#define CONFIG_CMD_GPT
-#include <config_distro_defaults.h>
- #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ "pxefile_addr_r=0x00100000\0" \
@@ -108,17 +104,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0" -#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> /* Linux fails to load the fdt if it's loaded above 512M on a Rock 2
board, so diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h index b026122..68b9391 100644 --- a/include/configs/rk3399_common.h +++ b/include/configs/rk3399_common.h @@ -7,6 +7,8 @@ #ifndef __CONFIG_RK3399_COMMON_H #define __CONFIG_RK3399_COMMON_H +#include "rockchip-common.h"
- #define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_ENV_SIZE 0x2000
@@ -53,7 +55,6 @@ #define CONFIG_SF_DEFAULT_SPEED 20000000 #ifndef CONFIG_SPL_BUILD -#include <config_distro_defaults.h> #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ @@ -62,19 +63,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0" -#define CONFIG_CMD_GPT -#define CONFIG_RANDOM_UUID -#define CONFIG_PARTITION_UUIDS -#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=boot,start=16M,size=32M,bootable;" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1) */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> #define CONFIG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h new file mode 100644 index 0000000..7ca1696 --- /dev/null +++ b/include/configs/rockchip-common.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2016 Rockchip Electronics Co., Ltd
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ROCKCHIP_COMMON_H_ +#define _ROCKCHIP_COMMON_H_ +#include <linux/sizes.h>
+#ifndef CONFIG_SPL_BUILD +#include <config_distro_defaults.h>
+/* First try to boot from SD (index 0), then eMMC (index 1 */ +#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- /* Enable gpt partition table */
+#define CONFIG_CMD_GPT +#define CONFIG_RANDOM_UUID +#define CONFIG_PARTITION_UUIDS +#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
"name=reserved1,size=64K,uuid=${uuid_gpt_reserved1};" \
"name=reserved2,size=4M,uuid=${uuid_gpt_reserved2};" \
"name=loader2,size=4MB,uuid=${uuid_gpt_loader2};" \
"name=atf,size=4M,uuid=${uuid_gpt_atf};" \
"name=boot,size=128M,bootable,uuid=${uuid_gpt_boot};" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
+#endif
+#endif /* _ROCKCHIP_COMMON_H_ */
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Acked-by: Simon Glass sjg@chromium.org

On 15 October 2016 at 07:25, Simon Glass sjg@chromium.org wrote:
On 8 October 2016 at 01:38, Kever Yang kever.yang@rock-chips.com wrote:
Hi Jacob,
On 10/08/2016 01:47 PM, Jacob Chen wrote:
Unify the partitions of each chip then it will be more easy for us to write scripts, tools or guides for rockchip chips.
Those extra partitions mostly are used to be compatible with our internal loaders (such as miniloader which was same as spl, or android loader then we can support dual boot)
Signed-off-by: Jacob Chen jacob2.chen@rock-chips.com
Changes in v3:
- correct the copyright
Changes in v2:
put macro in a rockchip_common.h
include/configs/rk3036_common.h | 17 +---------------- include/configs/rk3288_common.h | 17 +---------------- include/configs/rk3399_common.h | 16 ++-------------- include/configs/rockchip-common.h | 35
+++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 46 deletions(-) create mode 100644 include/configs/rockchip-common.h
diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h index 73830e4..29d56ff 100644 --- a/include/configs/rk3036_common.h +++ b/include/configs/rk3036_common.h @@ -7,6 +7,7 @@ #define __CONFIG_RK3036_COMMON_H #include <asm/arch/hardware.h> +#include "rockchip-common.h" #define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 @@ -79,11 +80,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x310a -/* Enable gpt partition table */ -#define CONFIG_CMD_GPT
-#include <config_distro_defaults.h>
- #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x60000000\0" \ "pxefile_addr_r=0x60100000\0" \
@@ -91,17 +87,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> /* Linux fails to load the fdt if it's loaded above 512M on a
evb-rk3036 board, diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h index 9ddfe1d..630f218 100644 --- a/include/configs/rk3288_common.h +++ b/include/configs/rk3288_common.h @@ -8,6 +8,7 @@ #define __CONFIG_RK3288_COMMON_H #include <asm/arch/hardware.h> +#include "rockchip-common.h" #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY #define CONFIG_SYS_NO_FLASH @@ -96,11 +97,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x2207 #define CONFIG_G_DNL_PRODUCT_NUM 0x320a -/* Enable gpt partition table */ -#define CONFIG_CMD_GPT
-#include <config_distro_defaults.h>
- #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ "pxefile_addr_r=0x00100000\0" \
@@ -108,17 +104,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0" -#define CONFIG_RANDOM_UUID -#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=boot,start=8M,size=64M,bootable,uuid=${uuid_gpt_boot};" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1 */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> /* Linux fails to load the fdt if it's loaded above 512M on a Rock 2
board, so diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h index b026122..68b9391 100644 --- a/include/configs/rk3399_common.h +++ b/include/configs/rk3399_common.h @@ -7,6 +7,8 @@ #ifndef __CONFIG_RK3399_COMMON_H #define __CONFIG_RK3399_COMMON_H +#include "rockchip-common.h"
- #define CONFIG_SYS_NO_FLASH #define CONFIG_NR_DRAM_BANKS 1 #define CONFIG_ENV_SIZE 0x2000
@@ -53,7 +55,6 @@ #define CONFIG_SF_DEFAULT_SPEED 20000000 #ifndef CONFIG_SPL_BUILD -#include <config_distro_defaults.h> #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00000000\0" \ @@ -62,19 +63,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0" -#define CONFIG_CMD_GPT -#define CONFIG_RANDOM_UUID -#define CONFIG_PARTITION_UUIDS -#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=boot,start=16M,size=32M,bootable;" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
-/* First try to boot from SD (index 0), then eMMC (index 1) */ -#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- #include <config_distro_bootcmd.h> #define CONFIG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h new file mode 100644 index 0000000..7ca1696 --- /dev/null +++ b/include/configs/rockchip-common.h @@ -0,0 +1,35 @@ +/*
- (C) Copyright 2016 Rockchip Electronics Co., Ltd
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _ROCKCHIP_COMMON_H_ +#define _ROCKCHIP_COMMON_H_ +#include <linux/sizes.h>
+#ifndef CONFIG_SPL_BUILD +#include <config_distro_defaults.h>
+/* First try to boot from SD (index 0), then eMMC (index 1 */ +#define BOOT_TARGET_DEVICES(func) \
func(MMC, mmc, 0) \
func(MMC, mmc, 1)
- /* Enable gpt partition table */
+#define CONFIG_CMD_GPT +#define CONFIG_RANDOM_UUID +#define CONFIG_PARTITION_UUIDS +#define PARTS_DEFAULT \
"uuid_disk=${uuid_gpt_disk};" \
"name=loader1,start=32K,size=4000K,uuid=${uuid_gpt_loader1};" \
"name=reserved1,size=64K,uuid=${uuid_gpt_reserved1};" \
"name=reserved2,size=4M,uuid=${uuid_gpt_reserved2};" \
"name=loader2,size=4MB,uuid=${uuid_gpt_loader2};" \
"name=atf,size=4M,uuid=${uuid_gpt_atf};" \
"name=boot,size=128M,bootable,uuid=${uuid_gpt_boot};" \
"name=rootfs,size=-,uuid=${uuid_gpt_rootfs};\0" \
+#endif
+#endif /* _ROCKCHIP_COMMON_H_ */
Reviewed-by: Kever Yang kever.yang@rock-chips.com
Acked-by: Simon Glass sjg@chromium.org
Applied to u-boot-rockchip, thanks!
participants (3)
-
Jacob Chen
-
Kever Yang
-
Simon Glass