Skip to contentSkip to conversation

exynos config updates

PATCH New Ian Campbell 5 participants 9 messages Nov 9, 2014 – Nov 17, 2014 Arm Samsung Exynos

lore
Share & tools
lore
#0 lore raw

v3 cover exynos config updates

This series rebases my exynos config_distro_*.h patches as requested. Baseline is u-boot.git#master 11ada9225a16 (ahead of current u-boot-samsung).

I also included "Increase command line buffer size (CONFIG_SYS_CBSIZE)" which was previously posted separately.

Ian.

#1 lore raw

PATCH v3 1/3 exynos: Enable config_distro_defaults.h

From: Ian Campbell <[email protected]>

...and remove explicit setting of things which this implies. This is done for all exynos platforms (4 & 5) so it is added to exynos-common.h

I'm mainly interested in CONFIG_CMD_BOOTZ and CONFIG_SUPPORT_RAW_INITRD

I have build tested on all exynos platforms (MAKEALL -s exynos), but only boot tested on arndale.

---
 include/configs/arndale.h        |  2 --
 include/configs/exynos-common.h  | 13 ++-----------
 include/configs/exynos5-common.h | 11 -----------
 3 files changed, 2 insertions(+), 24 deletions(-)
include/configs/arndale.h +0 -2
index f9ee40f..a87806d 100644
@@ -17,8 +17,6 @@
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
 
-#define CONFIG_CMD_EXT2
-
 /* USB */
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_EXYNOS
include/configs/exynos-common.h +2 -11
index b258cb9..1246305 100644
@@ -30,9 +30,6 @@
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define CONFIG_BOARD_EARLY_INIT_F
 
-/* Enable fdt support */
-#define CONFIG_OF_LIBFDT
-
 /* Keep L2 Cache Disabled */
 #define CONFIG_CMD_CACHE
 
@@ -42,7 +39,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_CMDLINE_TAG
 #define CONFIG_INITRD_TAG
-#define CONFIG_CMDLINE_EDITING
 #define CONFIG_ENV_OVERWRITE
 
 /* Size of malloc() pool before and after relocation */
@@ -61,7 +57,6 @@
 #define CONFIG_EXYNOS_DWMMC
 #define CONFIG_BOUNCE_BUFFER
 
-#define CONFIG_BOOTDELAY		3
 #define CONFIG_ZERO_BOOTDELAY_CHECK
 
 /* PWM */
@@ -71,20 +66,14 @@
 #include <config_cmd_default.h>
 
 #define CONFIG_CMD_MMC
-#define CONFIG_CMD_EXT4
 #define CONFIG_CMD_EXT4_WRITE
-#define CONFIG_CMD_FAT
 #define CONFIG_FAT_WRITE
 #define CONFIG_CMD_FS_GENERIC
 
-#define CONFIG_DOS_PARTITION
-#define CONFIG_EFI_PARTITION
 #define CONFIG_CMD_PART
 #define CONFIG_PARTITION_UUIDS
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_LONGHELP		/* undef to save memory */
-#define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser	*/
 #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE		384	/* Print Buffer Size */
 #define CONFIG_SYS_MAXARGS		16	/* max number of command args */
@@ -96,4 +85,6 @@
 #define CONFIG_SYS_NO_FLASH
 #undef CONFIG_CMD_IMLS
 
+#include <config_distro_defaults.h>
+
 #endif	/* __CONFIG_H */
include/configs/exynos5-common.h +0 -11
index ba591e7..b03966d 100644
@@ -55,9 +55,6 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	EXYNOS_DEVICE_SETTINGS
 
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_ELF
-#define CONFIG_CMD_NET
 #define CONFIG_CMD_HASH
 
 /* Thermal Management Unit */
@@ -174,12 +171,6 @@
 #define CONFIG_ENV_SROM_BANK		1
 #endif /*CONFIG_CMD_NET*/
 
-/* Enable PXE Support */
-#ifdef CONFIG_CMD_NET
-#define CONFIG_CMD_PXE
-#define CONFIG_MENU
-#endif
-
 /* SHA hashing */
 #define CONFIG_CMD_HASH
 #define CONFIG_HASH_VERIFY
@@ -189,8 +180,6 @@
 /* Enable Time Command */
 #define CONFIG_CMD_TIME
 
-#define CONFIG_CMD_BOOTZ
-
 #define CONFIG_CMD_GPIO
 
 /* USB boot mode */
Signature · 1 line
2.1.1
#2 lore raw

PATCH v3 1/3 exynos: Enable config_distro_defaults.h

Hi,

I successfully tested it on my arndale board.

Guillaume

Le 09/11/2014 11:44, Ian Campbell a ?crit :

Quoted 125 lines

From: Ian Campbell <[email protected]>

...and remove explicit setting of things which this implies. This is done for all exynos platforms (4 & 5) so it is added to exynos-common.h

I'm mainly interested in CONFIG_CMD_BOOTZ and CONFIG_SUPPORT_RAW_INITRD

I have build tested on all exynos platforms (MAKEALL -s exynos), but only boot tested on arndale.

---
  include/configs/arndale.h        |  2 --
  include/configs/exynos-common.h  | 13 ++-----------
  include/configs/exynos5-common.h | 11 -----------
  3 files changed, 2 insertions(+), 24 deletions(-)
include/configs/arndale.h +0 -2
index f9ee40f..a87806d 100644
@@ -17,8 +17,6 @@
  /* allow to overwrite serial and ethaddr */
  #define CONFIG_ENV_OVERWRITE
 
-#define CONFIG_CMD_EXT2
-
  /* USB */
  #define CONFIG_USB_EHCI
  #define CONFIG_USB_EHCI_EXYNOS
include/configs/exynos-common.h +2 -11
index b258cb9..1246305 100644
@@ -30,9 +30,6 @@
  #define CONFIG_SKIP_LOWLEVEL_INIT
  #define CONFIG_BOARD_EARLY_INIT_F
 
-/* Enable fdt support */
-#define CONFIG_OF_LIBFDT
-
  /* Keep L2 Cache Disabled */
  #define CONFIG_CMD_CACHE
 
@@ -42,7 +39,6 @@
  #define CONFIG_SETUP_MEMORY_TAGS
  #define CONFIG_CMDLINE_TAG
  #define CONFIG_INITRD_TAG
-#define CONFIG_CMDLINE_EDITING
  #define CONFIG_ENV_OVERWRITE
 
  /* Size of malloc() pool before and after relocation */
@@ -61,7 +57,6 @@
  #define CONFIG_EXYNOS_DWMMC
  #define CONFIG_BOUNCE_BUFFER
 
-#define CONFIG_BOOTDELAY		3
  #define CONFIG_ZERO_BOOTDELAY_CHECK
 
  /* PWM */
@@ -71,20 +66,14 @@
  #include <config_cmd_default.h>
 
  #define CONFIG_CMD_MMC
-#define CONFIG_CMD_EXT4
  #define CONFIG_CMD_EXT4_WRITE
-#define CONFIG_CMD_FAT
  #define CONFIG_FAT_WRITE
  #define CONFIG_CMD_FS_GENERIC
 
-#define CONFIG_DOS_PARTITION
-#define CONFIG_EFI_PARTITION
  #define CONFIG_CMD_PART
  #define CONFIG_PARTITION_UUIDS
 
  /* Miscellaneous configurable options */
-#define CONFIG_SYS_LONGHELP		/* undef to save memory */
-#define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser	*/
  #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
  #define CONFIG_SYS_PBSIZE		384	/* Print Buffer Size */
  #define CONFIG_SYS_MAXARGS		16	/* max number of command args */
@@ -96,4 +85,6 @@
  #define CONFIG_SYS_NO_FLASH
  #undef CONFIG_CMD_IMLS
 
+#include <config_distro_defaults.h>
+
  #endif	/* __CONFIG_H */
include/configs/exynos5-common.h +0 -11
index ba591e7..b03966d 100644
@@ -55,9 +55,6 @@
  #define CONFIG_EXTRA_ENV_SETTINGS \
  	EXYNOS_DEVICE_SETTINGS
 
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_ELF
-#define CONFIG_CMD_NET
  #define CONFIG_CMD_HASH
 
  /* Thermal Management Unit */
@@ -174,12 +171,6 @@
  #define CONFIG_ENV_SROM_BANK		1
  #endif /*CONFIG_CMD_NET*/
 
-/* Enable PXE Support */
-#ifdef CONFIG_CMD_NET
-#define CONFIG_CMD_PXE
-#define CONFIG_MENU
-#endif
-
  /* SHA hashing */
  #define CONFIG_CMD_HASH
  #define CONFIG_HASH_VERIFY
@@ -189,8 +180,6 @@
  /* Enable Time Command */
  #define CONFIG_CMD_TIME
 
-#define CONFIG_CMD_BOOTZ
-
  #define CONFIG_CMD_GPIO
 
  /* USB boot mode */
#3 lore raw

PATCH v3 2/3 exynos5: Use config_distro_bootcmd.h

In reply to Ian Campbell

From: Ian Campbell <[email protected]>

This replaces the existing CONFIG_BOOTCOMMAND for exynos5250 and 5420.

exynos4 platforms seem to have existing complex extra env configuration for booting and so are excluded here. Hence the bootcmd.h is added to exynos5-common.h.

I have build tested on all exynos platforms (MAKEALL -s exynos), but only boot tested on arndale.

---
 include/configs/arndale.h           |  3 +++
 include/configs/exynos5-common.h    | 45 ++++++++++++++++++++++++++++++-------
 include/configs/exynos5-dt-common.h | 17 ++++++--------
 include/configs/exynos5250-common.h |  2 --
 include/configs/exynos5420-common.h |  2 --
 5 files changed, 47 insertions(+), 22 deletions(-)
include/configs/arndale.h +3 -0
index a87806d..919729d 100644
@@ -9,6 +9,9 @@
 #ifndef __CONFIG_ARNDALE_H
 #define __CONFIG_ARNDALE_H
 
+#define EXYNOS_FDTFILE_SETTING \
+	"fdtfile=exynos5250-arndale.dtb\0"
+
 #include "exynos5250-common.h"
 
 /* SD/MMC configuration */
include/configs/exynos5-common.h +37 -8

55 lines not on this page · raw message

include/configs/exynos5-dt-common.h +7 -10
index 66547fa..9cef0b0 100644
@@ -9,6 +9,13 @@
 #ifndef __CONFIG_EXYNOS5_DT_COMMON_H
 #define __CONFIG_EXYNOS5_DT_COMMON_H
 
+/* Console configuration */
+#undef EXYNOS_DEVICE_SETTINGS
+#define EXYNOS_DEVICE_SETTINGS \
+		"stdin=serial,cros-ec-keyb\0" \
+		"stdout=serial,lcd\0" \
+		"stderr=serial,lcd\0"
+
 #include "exynos5-common.h"
 
 /* PMIC */
@@ -22,14 +29,4 @@
 #define CONFIG_CMD_CROS_EC
 #define CONFIG_KEYBOARD
 
-/* Console configuration */
-#undef EXYNOS_DEVICE_SETTINGS
-#define EXYNOS_DEVICE_SETTINGS \
-		"stdin=serial,cros-ec-keyb\0" \
-		"stdout=serial,lcd\0" \
-		"stderr=serial,lcd\0"
-
-#define CONFIG_EXTRA_ENV_SETTINGS \
-	EXYNOS_DEVICE_SETTINGS
-
 #endif
include/configs/exynos5250-common.h +0 -2
index 713614f..a0107e8 100644
@@ -29,8 +29,6 @@
 
 #define CONFIG_SPL_TEXT_BASE	0x02023400
 
-#define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
-
 #define CONFIG_IRAM_STACK	0x02050000
 
 #define CONFIG_SYS_INIT_SP_ADDR	CONFIG_IRAM_STACK
include/configs/exynos5420-common.h +0 -2
index b0f940c..3cf9f01 100644
@@ -44,8 +44,6 @@
 
 #define CONFIG_BOARD_REV_GPIO_COUNT	2
 
-#define CONFIG_BOOTCOMMAND	"mmc read 20007000 451 2000; bootm 20007000"
-
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS	2
 
 /*
Signature · 1 line
2.1.1
#4 lore raw

PATCH v3 2/3 exynos5: Use config_distro_bootcmd.h

Hi,

I successfully tested it on my arndale board.

Guillaume

Le 09/11/2014 11:44, Ian Campbell a ?crit :

Quoted 155 lines

From: Ian Campbell <[email protected]>

This replaces the existing CONFIG_BOOTCOMMAND for exynos5250 and 5420.

exynos4 platforms seem to have existing complex extra env configuration for booting and so are excluded here. Hence the bootcmd.h is added to exynos5-common.h.

I have build tested on all exynos platforms (MAKEALL -s exynos), but only boot tested on arndale.

---
  include/configs/arndale.h           |  3 +++
  include/configs/exynos5-common.h    | 45 ++++++++++++++++++++++++++++++-------
  include/configs/exynos5-dt-common.h | 17 ++++++--------
  include/configs/exynos5250-common.h |  2 --
  include/configs/exynos5420-common.h |  2 --
  5 files changed, 47 insertions(+), 22 deletions(-)
include/configs/arndale.h +3 -0
index a87806d..919729d 100644
@@ -9,6 +9,9 @@
  #ifndef __CONFIG_ARNDALE_H
  #define __CONFIG_ARNDALE_H
 
+#define EXYNOS_FDTFILE_SETTING \
+	"fdtfile=exynos5250-arndale.dtb\0"
+
  #include "exynos5250-common.h"
 
  /* SD/MMC configuration */
include/configs/exynos5-common.h +37 -8
index b03966d..8f9b780 100644
@@ -47,14 +47,6 @@
  #define CONFIG_SYS_CONSOLE_IS_IN_ENV
  #define CONFIG_CONSOLE_MUX
 
-#define EXYNOS_DEVICE_SETTINGS \
-		"stdin=serial\0" \
-		"stdout=serial\0" \
-		"stderr=serial\0"
-
-#define CONFIG_EXTRA_ENV_SETTINGS \
-	EXYNOS_DEVICE_SETTINGS
-
  #define CONFIG_CMD_HASH
 
  /* Thermal Management Unit */
@@ -192,4 +184,41 @@
  #define CONFIG_FIT
  #define CONFIG_FIT_BEST_MATCH
 
+
+#define BOOT_TARGET_DEVICES(func) \
+	func(MMC, mmc, 1) \
+	func(MMC, mmc, 0) \
+	func(PXE, pxe, na) \
+	func(DHCP, dhcp, na)
+
+#include <config_distro_bootcmd.h>
+
+#ifndef MEM_LAYOUT_ENV_SETTINGS
+/* 2GB RAM, bootm size of 256M, load scripts after that */
+#define MEM_LAYOUT_ENV_SETTINGS \
+	"bootm_size=0x10000000\0" \
+	"kernel_addr_r=0x42000000\0" \
+	"fdt_addr_r=0x43000000\0" \
+	"ramdisk_addr_r=0x43300000\0" \
+	"scriptaddr=0x50000000\0" \
+	"pxefile_addr_r=0x51000000\0"
+#endif
+
+#ifndef EXYNOS_DEVICE_SETTINGS
+#define EXYNOS_DEVICE_SETTINGS \
+	"stdin=serial\0" \
+	"stdout=serial\0" \
+	"stderr=serial\0"
+#endif
+
+#ifndef EXYNOS_FDTFILE_SETTING
+#define EXYNOS_FDTFILE_SETTING
+#endif
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	EXYNOS_DEVICE_SETTINGS \
+	EXYNOS_FDTFILE_SETTING \
+	MEM_LAYOUT_ENV_SETTINGS \
+	BOOTENV
+
  #endif	/* __CONFIG_EXYNOS5_COMMON_H */
include/configs/exynos5-dt-common.h +7 -10
index 66547fa..9cef0b0 100644
@@ -9,6 +9,13 @@
  #ifndef __CONFIG_EXYNOS5_DT_COMMON_H
  #define __CONFIG_EXYNOS5_DT_COMMON_H
 
+/* Console configuration */
+#undef EXYNOS_DEVICE_SETTINGS
+#define EXYNOS_DEVICE_SETTINGS \
+		"stdin=serial,cros-ec-keyb\0" \
+		"stdout=serial,lcd\0" \
+		"stderr=serial,lcd\0"
+
  #include "exynos5-common.h"
 
  /* PMIC */
@@ -22,14 +29,4 @@
  #define CONFIG_CMD_CROS_EC
  #define CONFIG_KEYBOARD
 
-/* Console configuration */
-#undef EXYNOS_DEVICE_SETTINGS
-#define EXYNOS_DEVICE_SETTINGS \
-		"stdin=serial,cros-ec-keyb\0" \
-		"stdout=serial,lcd\0" \
-		"stderr=serial,lcd\0"
-
-#define CONFIG_EXTRA_ENV_SETTINGS \
-	EXYNOS_DEVICE_SETTINGS
-
  #endif
include/configs/exynos5250-common.h +0 -2
index 713614f..a0107e8 100644
@@ -29,8 +29,6 @@
 
  #define CONFIG_SPL_TEXT_BASE	0x02023400
 
-#define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
-
  #define CONFIG_IRAM_STACK	0x02050000
 
  #define CONFIG_SYS_INIT_SP_ADDR	CONFIG_IRAM_STACK
include/configs/exynos5420-common.h +0 -2
index b0f940c..3cf9f01 100644
@@ -44,8 +44,6 @@
 
  #define CONFIG_BOARD_REV_GPIO_COUNT	2
 
-#define CONFIG_BOOTCOMMAND	"mmc read 20007000 451 2000; bootm 20007000"
-
  #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS	2
 
  /*
#5 lore raw

PATCH v3 3/3 exynos: Increase command line buffer size (CONFIG_SYS_CBSIZE)

In reply to Ian Campbell

From: Ian Campbell <[email protected]>

I was running into this limit with a not overly long PXE append line.

Since the PXE code wants to print the resulting command line increase CONFIG_SYS_PBSIZE too.

---
v2: Apply to exynos generally since consolidation.

---
 include/configs/exynos-common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
include/configs/exynos-common.h +2 -2
index 1246305..1f3ee55 100644
@@ -74,8 +74,8 @@
 #define CONFIG_PARTITION_UUIDS
 
 /* Miscellaneous configurable options */
-#define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
-#define CONFIG_SYS_PBSIZE		384	/* Print Buffer Size */
+#define CONFIG_SYS_CBSIZE		1024	/* Console I/O Buffer Size */
+#define CONFIG_SYS_PBSIZE		1024	/* Print Buffer Size */
 #define CONFIG_SYS_MAXARGS		16	/* max number of command args */
 
 /* Boot Argument Buffer Size */
Signature · 1 line
2.1.1
#7 lore raw

PATCH v3 3/3 exynos: Increase command line buffer size (CONFIG_SYS_CBSIZE)

In reply to Ian Campbell

include/configs/exynos-common.h line 79

Quoted 6 lines · Ian Campbell

/* Miscellaneous configurable options */

include/configs/exynos-common.h +2 -2
-#define CONFIG_SYS_CBSIZE              256     /* Console I/O Buffer Size */
-#define CONFIG_SYS_PBSIZE              384     /* Print Buffer Size */
+#define CONFIG_SYS_CBSIZE              1024    /* Console I/O Buffer Size */
+#define CONFIG_SYS_PBSIZE              1024    /* Print Buffer Size */
 #define CONFIG_SYS_MAXARGS             16      /* max number of command args */

What if we add a default definition like this:

#define CONFIG_SYS_CBSIZE              1024    /* Console I/O Buffer Size */
#define CONFIG_SYS_PBSIZE              1024    /* Print Buffer Size */

,then if CONFIG_SYS_CBSIZE and CONFIG_SYS_PBSIZE are not defined in the board file, we just use the default?

I had the same issue sometime ago and I am wondering if this could be a better way to handle it.

#8 lore raw

v3 cover exynos config updates

In reply to Ian Campbell
Quoted 10 lines · Ian Campbell

This series rebases my exynos config_distro_*.h patches as requested. Baseline is u-boot.git#master 11ada9225a16 (ahead of current u-boot-samsung).

I also included "Increase command line buffer size (CONFIG_SYS_CBSIZE)" which was previously posted separately.

Ian.

applied to u-boot-samsung.

Thanks,
Minkyu Kang.