Skip to contentSkip to conversation

Introduction of new board Peach-Pit

PATCH New Akshay Saraswat 3 participants 10 messages Jun 18, 2014 – Jun 23, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v4 cover Introduction of new board Peach-Pit

This board is based on Exynos5420 and is similar to SMDK5420 board. Adding new and refactoring existing DT and config files to support both SMDK5420 and Peach-Pit.
This patch set also intends to place env at the end of flash, increase SPL footprint, enable USB boot mode and split memory bank config.

Changes since v1:
- Added "Acked-by".
Changes since v2:
- Changed order of the patches because 2/2 alone results in compiler errors and has dependency over patch 1/2.
- Removed CONFIG_CHROMEOS_PEACH.
Changes since v3:
- Took four patches in this set from a different patch set.
- Rebased all the patches to Top of Tree.

Akshay Saraswat (5):
Exynos5420: Let macros be used for exynos5420
Exynos5420: Introduce support for the Peach-Pit board
Exynos5: Config: Place environment at the end of SPI flash
Exynos5: Config: Increase SPL footprint for Exynos5420
Exynos5: Config: Enable USB boot mode for all Exynos5 SoCs

Michael Pratt (1):
Exynos: Split 5250 and 5420 memory bank configuration

 arch/arm/cpu/armv7/exynos/exynos5_setup.h |   6 +-
 arch/arm/dts/Makefile                     |   3 +-
 arch/arm/dts/exynos5420-peach-pit.dts     | 127 +++++++++++++++++++++++++
 arch/arm/dts/exynos5420-smdk5420.dts      |  23 +----
 arch/arm/dts/exynos5420.dtsi              |  70 --------------
 arch/arm/dts/exynos54xx.dtsi              | 151 ++++++++++++++++++++++++++++++
 boards.cfg                                |   1 +
 include/configs/exynos5-dt.h              |  15 ++-
 include/configs/exynos5250-dt.h           |  13 +--
 include/configs/exynos5420.h              |  52 ++++++++++
 include/configs/peach-pit.h               |  25 +++++
 include/configs/smdk5420.h                |  49 ++--------
 12 files changed, 388 insertions(+), 147 deletions(-)
 create mode 100644 arch/arm/dts/exynos5420-peach-pit.dts
 delete mode 100644 arch/arm/dts/exynos5420.dtsi
 create mode 100644 arch/arm/dts/exynos54xx.dtsi
 create mode 100644 include/configs/exynos5420.h
 create mode 100644 include/configs/peach-pit.h
Signature · 1 line
1.7.12.4
#1 lore raw

PATCH v4 1/6 Exynos5420: Let macros be used for exynos5420

Macros defined in exynos5_setup.h specific to SMDK5420 are required for Peach-Pit too. Hence, replacing CONFIG_SMDK5420 with CONFIG_EXYNOS5420 to enable these macros for all the boards based on Exynos5420.

---
Changes since v1:
- Added "Acked-by".

 arch/arm/cpu/armv7/exynos/exynos5_setup.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
arch/arm/cpu/armv7/exynos/exynos5_setup.h +3 -3
index d91e585..3242093 100644
@@ -435,10 +435,10 @@
 
 /*
  * Definitions that differ with SoC's.
- * Below is the part defining macros for smdk5250.
- * Else part introduces macros for smdk5420.
+ * Below is the part defining macros for Exynos5250.
+ * Else part introduces macros for Exynos5420.
  */
-#ifndef CONFIG_SMDK5420
+#ifndef CONFIG_EXYNOS5420
 
 /* APLL_CON1 */
 #define APLL_CON1_VAL	(0x00203800)
Signature · 1 line
1.7.12.4
#3 lore raw

PATCH v4 2/6 Exynos5420: Introduce support for the Peach-Pit board

In reply to Akshay Saraswat

While the Exynos5420 chip is used in both Smdk5420 and in the Peach-Pit line of devices, there could be other boards using the same chip, so a common configuration file is being added (exynos5420.h) as well as two common device tree files (exynos54xx.dtsi & exynos5420.dtsi).

The peach board as declared in boards.cfg is a copy of smdk5420 declaration. The configuration files are similar, but define different default device trees, console serial ports and prompts.

The device tree files for smdk5420 and peach-pit inherit from the same common file.

---
Changes since v2:
- Removed CONFIG_CHROMEOS_PEACH.
Changes since v1:
- Added "Acked-by".

 arch/arm/dts/Makefile                 |   3 +-
 arch/arm/dts/exynos5420-peach-pit.dts | 127 ++++++++++++++++++++++++++++
 arch/arm/dts/exynos5420-smdk5420.dts  |  23 +-----
 arch/arm/dts/exynos5420.dtsi          |  70 ----------------
 arch/arm/dts/exynos54xx.dtsi          | 151 ++++++++++++++++++++++++++++++++++
 boards.cfg                            |   1 +
 include/configs/exynos5420.h          |  46 +++++++++++
 include/configs/peach-pit.h           |  25 ++++++
 include/configs/smdk5420.h            |  49 ++---------
 9 files changed, 362 insertions(+), 133 deletions(-)
 create mode 100644 arch/arm/dts/exynos5420-peach-pit.dts
 delete mode 100644 arch/arm/dts/exynos5420.dtsi
 create mode 100644 arch/arm/dts/exynos54xx.dtsi
 create mode 100644 include/configs/exynos5420.h
 create mode 100644 include/configs/peach-pit.h
arch/arm/dts/Makefile +2 -1
index 5554615..933a464 100644
@@ -6,7 +6,8 @@ dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \
 dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
 	exynos5250-snow.dtb \
 	exynos5250-smdk5250.dtb \
-	exynos5420-smdk5420.dtb
+	exynos5420-smdk5420.dtb \
+	exynos5420-peach-pit.dtb
 dtb-$(CONFIG_MX6) += imx6q-sabreauto.dtb
 dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \
 	tegra20-medcom-wide.dtb \
arch/arm/dts/exynos5420-peach-pit.dts new file +127 -0

127 lines not on this page · raw message

arch/arm/dts/exynos5420-smdk5420.dts +1 -22
index d739763..1bc6256 100644
@@ -8,7 +8,7 @@
  */
 
 /dts-v1/;
-/include/ "exynos5420.dtsi"
+/include/ "exynos54xx.dtsi"
 
 / {
 	model = "SAMSUNG SMDK5420 board based on EXYNOS5420";
@@ -19,27 +19,6 @@
 	};
 
 	aliases {
-		i2c0 = "/i2c at 12c60000";
-		i2c1 = "/i2c at 12c70000";
-		i2c2 = "/i2c at 12c80000";
-		i2c3 = "/i2c at 12c90000";
-		i2c4 = "/i2c at 12ca0000";
-		i2c5 = "/i2c at 12cb0000";
-		i2c6 = "/i2c at 12cc0000";
-		i2c7 = "/i2c at 12cd0000";
-		i2c8 = "/i2c at 12e00000";
-		i2c9 = "/i2c at 12e10000";
-		i2c10 = "/i2c at 12e20000";
-		spi0 = "/spi at 12d20000";
-		spi1 = "/spi at 12d30000";
-		spi2 = "/spi at 12d40000";
-		spi3 = "/spi at 131a0000";
-		spi4 = "/spi at 131b0000";
-		mmc0 = "/mmc at 12200000";
-		mmc1 = "/mmc at 12210000";
-		mmc2 = "/mmc at 12220000";
-		xhci0 = "/xhci at 12000000";
-		xhci1 = "/xhci at 12400000";
 		serial0 = "/serial at 12C30000";
 		console = "/serial at 12C30000";
 	};
arch/arm/dts/exynos5420.dtsi deleted +0 -70

70 lines not on this page · raw message

arch/arm/dts/exynos54xx.dtsi new file +151 -0

151 lines not on this page · raw message

boards.cfg +1 -0
index 5a85fad..1527ebe 100644
@@ -293,6 +293,7 @@ Active  arm         armv7          exynos      samsung         origen
 Active  arm         armv7          exynos      samsung         smdk5250            smdk5250                              -                                                                                                                                 Chander Kashyap <[email protected]>
 Active  arm         armv7          exynos      samsung         smdk5250            snow                                  -                                                                                                                                 Rajeshwari Shinde <[email protected]>
 Active  arm         armv7          exynos      samsung         smdk5420            smdk5420                              -                                                                                                                                 Rajeshwari Shinde <[email protected]>
+Active  arm         armv7          exynos      samsung         smdk5420            peach-pit                             -                                                                                                                                 Akshay Saraswat <[email protected]>
 Active  arm         armv7          exynos      samsung         smdkv310            smdkv310                              -                                                                                                                                 Chander Kashyap <[email protected]>
 Active  arm         armv7          exynos      samsung         trats               trats                                 -                                                                                                                                 Lukasz Majewski <[email protected]>
 Active  arm         armv7          exynos      samsung         trats2              trats2                                -                                                                                                                                 Piotr Wilczek <[email protected]>
include/configs/exynos5420.h new file +46 -0

46 lines not on this page · raw message

include/configs/peach-pit.h new file +25 -0
new file mode 100644
index 0000000..76b8d7a
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2013 Samsung Electronics
+ *
+ * Configuration settings for the SAMSUNG/GOOGLE PEACH-PIT board.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CONFIG_PEACH_PIT_H
+#define __CONFIG_PEACH_PIT_H
+
+#include <configs/exynos5-dt.h>
+
+#include <configs/exynos5420.h>
+
+#undef CONFIG_DEFAULT_DEVICE_TREE
+#define CONFIG_DEFAULT_DEVICE_TREE	exynos5420-peach-pit
+
+/* select serial console configuration */
+#define CONFIG_SERIAL3		/* use SERIAL 3 */
+
+#define CONFIG_SYS_PROMPT	"Peach # "
+#define CONFIG_IDENT_STRING	" for Peach"
+
+#endif	/* __CONFIG_PEACH_PIT_H */
include/configs/smdk5420.h +9 -40

67 lines not on this page · raw message

Signature · 1 line
1.7.12.4
#4 lore raw

PATCH v4 3/6 Exynos5: Config: Place environment at the end of SPI flash

In reply to Akshay Saraswat

Currently environment resides at the location where BL2 ends. This may hold good in case there is an empty space at this position. But what if this place already has a binary or is expected to have one. To avoid such scenarios it is better to save environment at the end of the flash.

---
Changes since v3:
- Introduced to this patch-set.
Changes since v2:
- Added "Acked-by" & "Tested-by".
Changes since v1:
- Added new config for SPI flash size.

 include/configs/exynos5-dt.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
include/configs/exynos5-dt.h +4 -1
index b830495..d9f5625 100644
@@ -207,7 +207,10 @@
 
 #define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
 #define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
-#define CONFIG_ENV_OFFSET	(CONFIG_BL2_OFFSET + CONFIG_BL2_SIZE)
+
+/* Store environment at the end of a 4 MB SPI flash */
+#define FLASH_SIZE		(0x4 << 20)
+#define CONFIG_ENV_OFFSET	(FLASH_SIZE - CONFIG_BL2_SIZE)
 
 /* U-boot copy size from boot Media to DRAM.*/
 #define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
Signature · 1 line
1.7.12.4
#5 lore raw

PATCH v4 4/6 Exynos5: Config: Increase SPL footprint for Exynos5420

In reply to Akshay Saraswat

Max footprint for SPL in both Exynos 5250 and 5420 is limited to 14 KB. For Exynos5250 we need to keep it 14 KB because BL1 supports only fixed size SPL downloading. But in case of Exynos5420 we need not restrict it to 14 KB. And also, the SPL size for Exynos5420 is expected to increase with the upcoming patches and the patches under review right now.

---
Changes since v3:
- Introduced to this patch-set.
Changes since v2:
- Added "Acked-by" & "Tested-by".
Changes since v1:
- Changed 5420 SPL footprint from 32 to 30 KB.

 include/configs/exynos5-dt.h    | 2 --
 include/configs/exynos5250-dt.h | 2 ++
 include/configs/exynos5420.h    | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)
include/configs/exynos5-dt.h +0 -2
index d9f5625..1129f59 100644
@@ -144,8 +144,6 @@
 
 /* specific .lds file */
 #define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
-#define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
-
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LONGHELP		/* undef to save memory */
include/configs/exynos5250-dt.h +2 -0
index 9d1d56a..4cfbf25 100644
@@ -20,6 +20,8 @@
 #define MACH_TYPE_SMDK5250		3774
 #define CONFIG_MACH_TYPE		MACH_TYPE_SMDK5250
 
+#define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
+
 /* USB */
 #define CONFIG_CMD_USB
 #define CONFIG_USB_XHCI
include/configs/exynos5420.h +2 -0
index 3a28bbc..2ffe5ee 100644
@@ -25,6 +25,8 @@
 #endif
 #define CONFIG_IRAM_TOP			0x02074000
 
+#define CONFIG_SPL_MAX_FOOTPRINT	(30 * 1024)
+
 #define CONFIG_DEVICE_TREE_LIST "exynos5420-peach-pit exynos5420-smdk5420"
 
 #define CONFIG_MAX_I2C_NUM	11
Signature · 1 line
1.7.12.4
#6 lore raw

PATCH v4 5/6 Exynos5: Config: Enable USB boot mode for all Exynos5 SoCs

In reply to Akshay Saraswat

Right now USB booting is enabled for Exynos5250 only. Moving all the configs for USB boot mode from exynos5250-dt.h to exynos5-dt.h in order to enableUSB booting for all Exynos5 SoCs.

---
Changes since v3:
- Introduced to this patch-set.
Changes since v2:
- Added "Acked-by" & "Tested-by".
Changes since v1:
- Added "Acked-by".

 include/configs/exynos5-dt.h    | 6 ++++++
 include/configs/exynos5250-dt.h | 6 ------
 2 files changed, 6 insertions(+), 6 deletions(-)
include/configs/exynos5-dt.h +6 -0
index 1129f59..3c51650 100644
@@ -292,4 +292,10 @@
 
 #define CONFIG_CMD_GPIO
 
+/* USB boot mode */
+#define CONFIG_USB_BOOTING
+#define EXYNOS_COPY_USB_FNPTR_ADDR	0x02020070
+#define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
+#define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
+
 #endif	/* __CONFIG_H */
include/configs/exynos5250-dt.h +0 -6
index 4cfbf25..3982010 100644
@@ -29,12 +29,6 @@
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS	2
 #define CONFIG_USB_STORAGE
 
-/* USB boot mode */
-#define CONFIG_USB_BOOTING
-#define EXYNOS_COPY_USB_FNPTR_ADDR	0x02020070
-#define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
-#define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
-
 #define CONFIG_SPL_TEXT_BASE	0x02023400
 
 #define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
Signature · 1 line
1.7.12.4
#7 lore raw

PATCH v4 6/6 Exynos: Split 5250 and 5420 memory bank configuration

In reply to Akshay Saraswat

From: Michael Pratt <[email protected]>

Since snow has a different memory configuration than peach, split the configuration between the 5250 and 5420. Exynos 5420 supports runtime memory configuration detection, and can make the determination between 4 and 7 banks at runtime.

Include the bank size with the number of banks for context to make the number of banks meaningful.

---
Changes since v3:
- Introduced to this patch-set.
Changes since v2:
- Added "Acked-by" & "Tested-by".
Changes since v1:
- New patch.

 include/configs/exynos5-dt.h    | 2 --
 include/configs/exynos5250-dt.h | 5 +++++
 include/configs/exynos5420.h    | 4 ++++
 3 files changed, 9 insertions(+), 2 deletions(-)
include/configs/exynos5-dt.h +0 -2
index 3c51650..e36a031 100644
@@ -161,8 +161,6 @@
 
 #define CONFIG_RD_LVL
 
-#define CONFIG_NR_DRAM_BANKS	8
-#define SDRAM_BANK_SIZE		(256UL << 20UL)	/* 256 MB */
 #define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
 #define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
 #define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
include/configs/exynos5250-dt.h +5 -0
index 3982010..74e72a5 100644
@@ -65,4 +65,9 @@
 #define LCD_YRES			1600
 #define LCD_BPP			LCD_COLOR16
 #endif
+
+/* DRAM Memory Banks */
+#define CONFIG_NR_DRAM_BANKS	8
+#define SDRAM_BANK_SIZE		(256UL << 20UL)	/* 256 MB */
+
 #endif  /* __CONFIG_5250_H */
include/configs/exynos5420.h +4 -0
index 2ffe5ee..d2a9556 100644
@@ -45,4 +45,8 @@
  */
 #define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_IRAM_TOP - 0x800)
 
+/* DRAM Memory Banks */
+#define CONFIG_NR_DRAM_BANKS	7
+#define SDRAM_BANK_SIZE		(512UL << 20UL)	/* 512 MB */
+
 #endif	/* __CONFIG_EXYNOS5420_H */
Signature · 1 line
1.7.12.4
#8 lore raw

v4 cover Introduction of new board Peach-Pit

In reply to Akshay Saraswat

Hi Akshay,

Quoted 23 lines · Akshay Saraswat

This board is based on Exynos5420 and is similar to SMDK5420 board. Adding new and refactoring existing DT and config files to support both SMDK5420 and Peach-Pit.
This patch set also intends to place env at the end of flash, increase SPL footprint, enable USB boot mode and split memory bank config.

Changes since v1:
- Added "Acked-by".
Changes since v2:
- Changed order of the patches because 2/2 alone results in compiler errors and has dependency over patch 1/2.
- Removed CONFIG_CHROMEOS_PEACH.
Changes since v3:
- Took four patches in this set from a different patch set.
- Rebased all the patches to Top of Tree.

Akshay Saraswat (5):
Exynos5420: Let macros be used for exynos5420
Exynos5420: Introduce support for the Peach-Pit board
Exynos5: Config: Place environment at the end of SPI flash
Exynos5: Config: Increase SPL footprint for Exynos5420
Exynos5: Config: Enable USB boot mode for all Exynos5 SoCs

Quoted 2 lines

Michael Pratt (1):
Exynos: Split 5250 and 5420 memory bank configuration

For me I needed to reduce the speed in SPL to 900MHz by adding this to the device tree:

arm-frequency = <900000000>;

Otherwise it would not boot over USB A-A.

Regards,
Simon

#9 lore raw

v4 cover Introduction of new board Peach-Pit

In reply to Akshay Saraswat
Quoted 36 lines · Akshay Saraswat

This board is based on Exynos5420 and is similar to SMDK5420 board. Adding new and refactoring existing DT and config files to support both SMDK5420 and Peach-Pit.
This patch set also intends to place env at the end of flash, increase SPL footprint, enable USB boot mode and split memory bank config.

Changes since v1:
- Added "Acked-by".
Changes since v2:
- Changed order of the patches because 2/2 alone results in compiler errors and has dependency over patch 1/2.
- Removed CONFIG_CHROMEOS_PEACH.
Changes since v3:
- Took four patches in this set from a different patch set.
- Rebased all the patches to Top of Tree.

Akshay Saraswat (5):
Exynos5420: Let macros be used for exynos5420
Exynos5420: Introduce support for the Peach-Pit board
Exynos5: Config: Place environment at the end of SPI flash
Exynos5: Config: Increase SPL footprint for Exynos5420
Exynos5: Config: Enable USB boot mode for all Exynos5 SoCs

Michael Pratt (1):
Exynos: Split 5250 and 5420 memory bank configuration

 arch/arm/cpu/armv7/exynos/exynos5_setup.h |   6 +-
 arch/arm/dts/Makefile                     |   3 +-
 arch/arm/dts/exynos5420-peach-pit.dts     | 127 +++++++++++++++++++++++++
 arch/arm/dts/exynos5420-smdk5420.dts      |  23 +----
 arch/arm/dts/exynos5420.dtsi              |  70 --------------
 arch/arm/dts/exynos54xx.dtsi              | 151 ++++++++++++++++++++++++++++++
 boards.cfg                                |   1 +
 include/configs/exynos5-dt.h              |  15 ++-
 include/configs/exynos5250-dt.h           |  13 +--
 include/configs/exynos5420.h              |  52 ++++++++++
Quoted 9 lines
 include/configs/peach-pit.h               |  25 +++++
 include/configs/smdk5420.h                |  49 ++--------
 12 files changed, 388 insertions(+), 147 deletions(-)
 create mode 100644 arch/arm/dts/exynos5420-peach-pit.dts
 delete mode 100644 arch/arm/dts/exynos5420.dtsi
 create mode 100644 arch/arm/dts/exynos54xx.dtsi
 create mode 100644 include/configs/exynos5420.h
 create mode 100644 include/configs/peach-pit.h

applied to u-boot-samsung.

Thanks,
Minkyu Kang.