All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chee Tien Fong <tien.fong.chee@intel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 22/28] arm: socfpga: arria10: Added support for Arria 10 socdk
Date: Tue, 10 Jan 2017 13:20:35 +0800	[thread overview]
Message-ID: <1484025641-5412-23-git-send-email-tien.fong.chee@intel.com> (raw)
In-Reply-To: <1484025641-5412-1-git-send-email-tien.fong.chee@intel.com>

From: Tien Fong Chee <tien.fong.chee@intel.com>

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Chin Liang See <chin.liang.see@intel.com>
Cc: Tien Fong <skywindctf@gmail.com>
---
 arch/arm/mach-socfpga/system_manager.c  |  4 ++-
 drivers/fpga/socfpga.c                  |  7 +++--
 include/configs/socfpga_arria10_socdk.h | 56 ++++++++++++++++++++-------------
 include/configs/socfpga_common.h        | 33 ++++++++++++++++---
 4 files changed, 71 insertions(+), 29 deletions(-)

diff --git a/arch/arm/mach-socfpga/system_manager.c b/arch/arm/mach-socfpga/system_manager.c
index 9e1c3fd..e1f0082 100644
--- a/arch/arm/mach-socfpga/system_manager.c
+++ b/arch/arm/mach-socfpga/system_manager.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013 Altera Corporation <www.altera.com>
+ * Copyright (C) 2013-2016 Altera Corporation <www.altera.com>
  *
  * SPDX-License-Identifier:	GPL-2.0+
  */
@@ -11,8 +11,10 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 static struct socfpga_system_manager *sysmgr_regs =
 	(struct socfpga_system_manager *)SOCFPGA_SYSMGR_ADDRESS;
+#endif
 
 /*
  * Populate the value for SYSMGR.FPGAINTF.MODULE based on pinmux setting.
diff --git a/drivers/fpga/socfpga.c b/drivers/fpga/socfpga.c
index bfefafd..7fd922e 100644
--- a/drivers/fpga/socfpga.c
+++ b/drivers/fpga/socfpga.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2012 Altera Corporation <www.altera.com>
+ * Copyright (C) 2012-2016 Altera Corporation <www.altera.com>
  * All rights reserved.
  *
  * SPDX-License-Identifier:	BSD-3-Clause
@@ -19,8 +19,10 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static struct socfpga_fpga_manager *fpgamgr_regs =
 	(struct socfpga_fpga_manager *)SOCFPGA_FPGAMGRREGS_ADDRESS;
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 static struct socfpga_system_manager *sysmgr_regs =
 	(struct socfpga_system_manager *)SOCFPGA_SYSMGR_ADDRESS;
+#endif
 
 /* Set CD ratio */
 static void fpgamgr_set_cd_ratio(unsigned long ratio)
@@ -267,9 +269,10 @@ int socfpga_load(Altera_desc *desc, const void *rbf_data, size_t rbf_size)
 	}
 
 	/* Prior programming the FPGA, all bridges need to be shut off */
-
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 	/* Disable all signals from hps peripheral controller to fpga */
 	writel(0, &sysmgr_regs->fpgaintfgrp_module);
+#endif
 
 	/* Disable all signals from FPGA to HPS SDRAM */
 #define SDR_CTRLGRP_FPGAPORTRST_ADDRESS	0x5080
diff --git a/include/configs/socfpga_arria10_socdk.h b/include/configs/socfpga_arria10_socdk.h
index 577f60f..105c4c0 100644
--- a/include/configs/socfpga_arria10_socdk.h
+++ b/include/configs/socfpga_arria10_socdk.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2015 Altera Corporation <www.altera.com>
+ *  Copyright (C) 2015-2016 Altera Corporation <www.altera.com>
  *
  * SPDX-License-Identifier:	GPL-2.0
  */
@@ -8,31 +8,20 @@
 #define __CONFIG_SOCFGPA_ARRIA10_H__
 
 #include <asm/arch/base_addr_a10.h>
+
 /* U-Boot Commands */
-#define CONFIG_SYS_NO_FLASH
 #define CONFIG_DOS_PARTITION
 #define CONFIG_FAT_WRITE
 #define CONFIG_HW_WATCHDOG
 
 #define CONFIG_CMD_ASKENV
 #define CONFIG_CMD_BOOTZ
-#define CONFIG_CMD_CACHE
-#define CONFIG_CMD_DHCP
 #define CONFIG_CMD_EXT4
 #define CONFIG_CMD_EXT4_WRITE
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_FS_GENERIC
 #define CONFIG_CMD_GREPENV
-#define CONFIG_CMD_MMC
 #define CONFIG_CMD_PING
 
-/*
- * Memory configurations
- */
-#define PHYS_SDRAM_1_SIZE		0x2000000
-
 /* Booting Linux */
-#define CONFIG_BOOTDELAY	3
 #define CONFIG_BOOTFILE		"zImage"
 #define CONFIG_BOOTARGS		"console=ttyS0," __stringify(CONFIG_BAUDRATE)
 #define CONFIG_BOOTCOMMAND      "run mmcload; run mmcboot"
@@ -40,24 +29,30 @@
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 
 /*
- * Display CPU and Board Info
+ * U-Boot general configurations
+ */
+/* Cache options */
+#define CONFIG_SYS_DCACHE_OFF
+#define CONFIG_CMD_CACHE
+
+/*
+ * U-Boot console configurations
  */
-#define CONFIG_DISPLAY_CPUINFO
-#define CONFIG_DISPLAY_BOARDINFO
-#define CONFIG_DISPLAY_BOARDINFO_LATE
+#define CONFIG_DOS_PARTITION
+
+/* Memory configurations  */
+#define PHYS_SDRAM_1_SIZE		0x80000000
 
 /* Ethernet on SoC (EMAC) */
 #if defined(CONFIG_CMD_NET)
-
-/* PHY */
 #define CONFIG_PHY_MICREL
 #define CONFIG_PHY_MICREL_KSZ9031
-
 #endif
 
+/*
+ * U-Boot environment configurations
+ */
 #define CONFIG_ENV_IS_IN_MMC
-#define CONFIG_SYS_MMC_ENV_DEV		0/* device 0 */
-#define CONFIG_ENV_OFFSET		512/* just after the MBR */
 
 /*
  * arguments passed to the bootz command. The value of
@@ -89,6 +84,23 @@
 		" root=${qspiroot} rw rootfstype=${qspirootfstype};"\
 		"bootm ${loadaddr} - ${fdt_addr}\0"
 
+/*
+ * Serial / UART configurations
+ */
+#define CONFIG_SYS_NS16550_MEM32
+#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600, 115200}
+
+/*
+ * L4 OSC1 Timer 0
+ */
+/* reload value when timer count to zero */
+#define TIMER_LOAD_VAL			0xFFFFFFFF
+
+/*
+ * Flash configurations
+ */
+#define CONFIG_SYS_MAX_FLASH_BANKS     1
+
 /* The rest of the configuration is shared */
 #include <configs/socfpga_common.h>
 #endif	/* __CONFIG_H */
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index bbbde1e..fde9a51 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -15,7 +15,9 @@
  * High level configuration
  */
 #define CONFIG_DISPLAY_BOARDINFO_LATE
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 #define CONFIG_ARCH_MISC_INIT
+#endif
 #define CONFIG_ARCH_EARLY_INIT_R
 #define CONFIG_SYS_NO_FLASH
 #define CONFIG_CLOCKS
@@ -37,9 +39,13 @@
 #define CONFIG_SYS_MALLOC_LEN		(64 * 1024 * 1024)
 #define CONFIG_SYS_MEMTEST_START	PHYS_SDRAM_1
 #define CONFIG_SYS_MEMTEST_END		PHYS_SDRAM_1_SIZE
-
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 #define CONFIG_SYS_INIT_RAM_ADDR	0xFFFF0000
 #define CONFIG_SYS_INIT_RAM_SIZE	0x10000
+#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
+#define CONFIG_SYS_INIT_RAM_ADDR	0xFFE00000
+#define CONFIG_SYS_INIT_RAM_SIZE	0x40000 /* 256KB */
+#endif
 #define CONFIG_SYS_INIT_SP_OFFSET		\
 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 #define CONFIG_SYS_INIT_SP_ADDR			\
@@ -213,11 +219,14 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
  */
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE	-4
-#define CONFIG_SYS_NS16550_COM1		SOCFPGA_UART0_ADDRESS
 #ifdef CONFIG_SOCFPGA_VIRTUAL_TARGET
 #define CONFIG_SYS_NS16550_CLK		1000000
-#else
+#elif defined(CONFIG_TARGET_SOCFPGA_GEN5)
+#define CONFIG_SYS_NS16550_COM1		SOCFPGA_UART0_ADDRESS
 #define CONFIG_SYS_NS16550_CLK		100000000
+#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
+#define CONFIG_SYS_NS16550_COM1        SOCFPGA_UART1_ADDRESS
+#define CONFIG_SYS_NS16550_CLK         	50000000
 #endif
 #define CONFIG_CONS_INDEX		1
 #define CONFIG_BAUDRATE			115200
@@ -295,23 +304,39 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 /*
  * SPL
  *
- * SRAM Memory layout:
+ * SRAM Memory layout(TARGET_SOCFPGA_GEN5):
  *
  * 0xFFFF_0000 ...... Start of SRAM
  * 0xFFFF_xxxx ...... Top of stack (grows down)
  * 0xFFFF_yyyy ...... Malloc area
  * 0xFFFF_zzzz ...... Global Data
  * 0xFFFF_FF00 ...... End of SRAM
+ *
+ * SRAM Memory layout(TARGET_SOCFPGA_ARRIA10):
+ *
+ * 0xFFE0_0000 ...... Start of SRAM
+ * 0xFFE0_xxxx ...... Top of stack (grows down)
+ * 0xFFE0_yyyy ...... Malloc area
+ * 0xFFE0_zzzz ...... Global Data
+ * 0xFFE3_FFFF ...... End of SRAM
  */
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_RAM_DEVICE
 #define CONFIG_SPL_TEXT_BASE		CONFIG_SYS_INIT_RAM_ADDR
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 #define CONFIG_SPL_MAX_SIZE		(64 * 1024)
+#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
+#define CONFIG_SPL_MAX_SIZE		CONFIG_SYS_INIT_RAM_SIZE
+#endif
 
 /* SPL SDMMC boot support */
 #ifdef CONFIG_SPL_MMC_SUPPORT
 #if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
+#if defined(CONFIG_TARGET_SOCFPGA_GEN5)
 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	2
+#elif defined(CONFIG_TARGET_SOCFPGA_ARRIA10)
+#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	1
+#endif
 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME		"u-boot-dtb.img"
 #else
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION	1
-- 
2.2.0

  parent reply	other threads:[~2017-01-10  5:20 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-10  5:20 [U-Boot] [PATCH v4 00/28] *** SUBJECT HERE *** Chee Tien Fong
2017-01-10  5:20 ` [U-Boot] [PATCH v4 01/28] arm: socfpga: arria10: add additional i2c nodes for Arria10 Chee Tien Fong
2017-01-23  3:38   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 02/28] arm: socfpga: arria10: add sdram defines " Chee Tien Fong
2017-01-23  3:40   ` Marek Vasut
2017-02-17 10:12     ` Ley Foon Tan
2017-01-10  5:20 ` [U-Boot] [PATCH v4 03/28] arm: socfpga: arria10: add board files for the Arria10 SoCDK Chee Tien Fong
2017-01-23  3:42   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 04/28] arm: socfpga: arria10: add system manager defines Chee Tien Fong
2017-01-23  3:43   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 05/28] arm: socfpga: arria10: add misc functions for Arria10 Chee Tien Fong
2017-01-23  3:45   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 06/28] arm: socfpga: arria10: add socfpga_arria10_socdk config Chee Tien Fong
2017-01-23  3:46   ` Marek Vasut
2017-02-17 10:18     ` Ley Foon Tan
2017-02-17 21:12       ` Marek Vasut
2017-02-17 21:53         ` Dalon Westergreen
2017-02-17 21:57           ` Marek Vasut
2017-02-18 14:18             ` Dalon Westergreen
2017-02-18 15:20               ` Marek Vasut
2017-02-17 22:53           ` Dalon Westergreen
2017-01-10  5:20 ` [U-Boot] [PATCH v4 07/28] arm: socfpga: arria10: add socfpga_arria10_defconfig Chee Tien Fong
2017-01-23  3:46   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 08/28] arm: socfpga: arria10: add config option build for arria10 Chee Tien Fong
2017-01-23  3:48   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 09/28] arm: socfpga: add define for bootinfo bsel bit shift Chee Tien Fong
2017-01-23  3:49   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 10/28] arm: socfpga: arria10: add reset manager for Arria10 Chee Tien Fong
2017-01-23  3:52   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 11/28] arm: socfpga: wrap system manager functions for A5/C5 devices Chee Tien Fong
2017-01-23  3:53   ` Marek Vasut
2017-02-17 10:20     ` Ley Foon Tan
2017-02-17 21:12       ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 12/28] arm: socfpga: arria10: don't build GEN5 sdram for arria10 Chee Tien Fong
2017-01-23  3:54   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 13/28] arm: socfpga: arria10 fpga does not have bridges mapped Chee Tien Fong
2017-01-23  3:55   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 14/28] arm: socfpga: arria10: remove board_init and s_init Chee Tien Fong
2017-01-23  3:56   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 15/28] arm: socfpga: combine clrbits/setbits into a single clrsetbits Chee Tien Fong
2017-01-23  3:58   ` Marek Vasut
2017-02-16  3:34     ` Ley Foon Tan
2017-02-17  7:54       ` Marek Vasut
2017-02-17  9:10         ` Ley Foon Tan
2017-02-17 21:11           ` Marek Vasut
2017-02-17 21:05       ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 16/28] arm: socfpga: add reset manager defines for Arria10 Chee Tien Fong
2017-01-23  3:58   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 17/28] arm: socfpga: arria10: update dwmac reset function to support Arria10 Chee Tien Fong
2017-01-23  4:00   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 18/28] ARM:dts: Added device tree for socfpga arria10 development kit sdmmc Chee Tien Fong
2017-01-23  4:03   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 19/28] arm: socfpga: arria10: Enable SPL for Arria 10 Chee Tien Fong
2017-01-23  4:04   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 20/28] arm: socfpga: arria10: Added clock manager and pin mux compat macro Chee Tien Fong
2017-01-23  4:05   ` Marek Vasut
2017-02-16 10:28     ` Ley Foon Tan
2017-01-10  5:20 ` [U-Boot] [PATCH v4 21/28] arm: socfpga: arria10: Added some hardware base address for Arria 10 Chee Tien Fong
2017-01-23  4:06   ` Marek Vasut
2017-01-10  5:20 ` Chee Tien Fong [this message]
2017-01-23  4:07   ` [U-Boot] [PATCH v4 22/28] arm: socfpga: arria10: Added support for Arria 10 socdk Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 23/28] arm: socfpga: arria10: Added drivers for Arria10 Reset Manager Chee Tien Fong
2017-01-23  4:13   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 24/28] arm: socfpga: arria10: Added miscellaneous drivers for Arria 10 Chee Tien Fong
2017-01-23  4:16   ` Marek Vasut
2017-02-17  3:31     ` Ley Foon Tan
2017-01-10  5:20 ` [U-Boot] [PATCH v4 25/28] arm: socfpga: arria10: Added drivers for Arria10 clock manager Chee Tien Fong
2017-01-23  4:18   ` Marek Vasut
2017-02-17  8:56     ` Ley Foon Tan
2017-02-17 21:10       ` Marek Vasut
2017-02-20  2:34         ` Ley Foon Tan
2017-02-20  7:28           ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 26/28] arm: socfpga: arria10: Added drivers for Arria10 pinmux/pins configuration Chee Tien Fong
2017-01-23  4:19   ` Marek Vasut
2017-02-17 10:06     ` Ley Foon Tan
2017-01-10  5:20 ` [U-Boot] [PATCH v4 27/28] arm: socfpga: arria10: Added Arria10 critical HW initialization to spl Chee Tien Fong
2017-01-23  4:21   ` Marek Vasut
2017-01-10  5:20 ` [U-Boot] [PATCH v4 28/28] arm: socfpga: arria10: Enable fpga driver build for SPL Chee Tien Fong
2017-01-23  4:22   ` Marek Vasut
2017-01-10 22:06 ` [U-Boot] [PATCH v4 00/28] *** SUBJECT HERE *** Marek Vasut
2017-01-11  4:03   ` Chee, Tien Fong
2017-01-11  6:59   ` Chee, Tien Fong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1484025641-5412-23-git-send-email-tien.fong.chee@intel.com \
    --to=tien.fong.chee@intel.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.