[U-Boot] [PATCH] arm: socfpga: Add support for the Terasic DE10-nano

Marek Vasut marex at denx.de
Sun Feb 19 02:25:53 UTC 2017


On 02/19/2017 01:59 AM, Dalon Westergreen wrote:
> On Sun, 2017-02-19 at 01:35 +0100, Marek Vasut wrote:
>> On 02/19/2017 12:15 AM, Dalon Westergreen wrote:
>>>
>>> On Sat, 2017-02-18 at 22:04 +0100, Marek Vasut wrote:
>>>>
>>>> On 02/18/2017 09:56 PM, Dalon Westergreen wrote:
>>>>>
>>>>>
>>>>> Add support for the cyclone5 soc based Terasic DE10-nano.  The
>>>>> board is a second generation version of the DE0-nano-soc but has
>>>>> the a larger FPGA and hdmi support.
>>>>>
>>>>> Signed-off-by: Dalon Westergreen <dwesterg at gmail.com>
>>>>
>>>> Looks pretty nice, minor nits below
>>>>
>>>> [...]
>>>>
>>>>>
>>>>>
>>>>> diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-
>>>>> socfpga/Kconfig
>>>>> index e56b3db..6a776b5 100644
>>>>> --- a/arch/arm/mach-socfpga/Kconfig
>>>>> +++ b/arch/arm/mach-socfpga/Kconfig
>>>>> @@ -85,6 +85,10 @@ config TARGET_SOCFPGA_TERASIC_DE1_SOC
>>>>>  	bool "Terasic DE1-SoC (Cyclone V)"
>>>>>  	select TARGET_SOCFPGA_CYCLONE5
>>>>>  
>>>>> +config TARGET_SOCFPGA_TERASIC_DE10_NANO
>>>>> +	bool "Terasic DE10-Nano (Cyclone V)"
>>>>> +	select TARGET_SOCFPGA_CYCLONE5
>>>>> +
>>>>>  config TARGET_SOCFPGA_TERASIC_SOCKIT
>>>>>  	bool "Terasic SoCkit (Cyclone V)"
>>>>>  	select TARGET_SOCFPGA_CYCLONE5
>>>>> @@ -96,6 +100,7 @@ config SYS_BOARD
>>>>>  	default "cyclone5-socdk" if TARGET_SOCFPGA_CYCLONE5_SOCDK
>>>>>  	default "de0-nano-soc" if TARGET_SOCFPGA_TERASIC_DE0_NANO
>>>>>  	default "de1-soc" if TARGET_SOCFPGA_TERASIC_DE1_SOC
>>>>> +	default "de10-nano" if TARGET_SOCFPGA_TERASIC_DE10_NANO
>>>>>  	default "is1" if TARGET_SOCFPGA_IS1
>>>>>  	default "mcvevk" if TARGET_SOCFPGA_DENX_MCVEVK
>>>>>  	default "sockit" if TARGET_SOCFPGA_TERASIC_SOCKIT
>>>>> @@ -112,6 +117,7 @@ config SYS_VENDOR
>>>>>  	default "terasic" if TARGET_SOCFPGA_TERASIC_DE0_NANO
>>>>>  	default "terasic" if TARGET_SOCFPGA_TERASIC_DE1_SOC
>>>>>  	default "terasic" if TARGET_SOCFPGA_TERASIC_SOCKIT
>>>>> +	default "terasic" if TARGET_SOCFPGA_TERASIC_DE10_NANO
>>>>
>>>> Keep the list sorted please.
>>>>
>>>>>
>>>>>
>>>>>  
>>>>>  config SYS_SOC
>>>>>  	default "socfpga"
>>>>> @@ -121,6 +127,7 @@ config SYS_CONFIG_NAME
>>>>>  	default "socfpga_cyclone5_socdk" if
>>>>> TARGET_SOCFPGA_CYCLONE5_SOCDK
>>>>>  	default "socfpga_de0_nano_soc" if
>>>>> TARGET_SOCFPGA_TERASIC_DE0_NANO
>>>>>  	default "socfpga_de1_soc" if TARGET_SOCFPGA_TERASIC_DE1_SOC
>>>>> +	default "socfpga_de10_nano" if TARGET_SOCFPGA_TERASIC_DE10_NANO
>>>>>  	default "socfpga_is1" if TARGET_SOCFPGA_IS1
>>>>>  	default "socfpga_mcvevk" if TARGET_SOCFPGA_DENX_MCVEVK
>>>>>  	default "socfpga_sockit" if TARGET_SOCFPGA_TERASIC_SOCKIT
>>>>> diff --git a/board/terasic/de10-nano/MAINTAINERS b/board/terasic/de10-
>>>>> nano/MAINTAINERS
>>>>> new file mode 100644
>>>>> index 0000000..f4dd0df
>>>>> --- /dev/null
>>>>> +++ b/board/terasic/de10-nano/MAINTAINERS
>>>>> @@ -0,0 +1,5 @@
>>>>> +DE10-NANO BOARD
>>>>> +M:	Dalon Westergreen <dwesterg at gmail.com>
>>>>> +S:	Maintained
>>>>> +F:	include/configs/socfpga_de10_nano.h
>>>>> +F:	configs/socfpga_de10_nano_defconfig
>>>>> diff --git a/board/terasic/de10-nano/Makefile b/board/terasic/de10-
>>>>> nano/Makefile
>>>>> new file mode 100644
>>>>> index 0000000..86f9b78
>>>>> --- /dev/null
>>>>> +++ b/board/terasic/de10-nano/Makefile
>>>>> @@ -0,0 +1,9 @@
>>>>> +#
>>>>> +# (C) Copyright 2001-2006
>>>>> +# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
>>>>> +# (C) Copyright 2010, Thomas Chou <thomas at wytron.com.tw>
>>>>
>>>> Really ? Looks like a new file, so (C) you
>>>>
>>>>>
>>>>>
>>>>> +# SPDX-License-Identifier:	GPL-2.0+
>>>>> +#
>>>>> +
>>>>> +obj-y	:= socfpga.o
>>>>
>>>> [...]
>>>>
>>>>>
>>>>>
>>>>> diff --git a/include/configs/socfpga_de10_nano.h
>>>>> b/include/configs/socfpga_de10_nano.h
>>>>> new file mode 100644
>>>>> index 0000000..61a5066
>>>>> --- /dev/null
>>>>> +++ b/include/configs/socfpga_de10_nano.h
>>>>> @@ -0,0 +1,36 @@
>>>>> +/*
>>>>> + * Copyright (C) 2017, Intel Corporation
>>>>> + *
>>>>> + * SPDX-License-Identifier:	GPL-2.0+
>>>>> + */
>>>>> +#ifndef __CONFIG_TERASIC_DE10_H__
>>>>> +#define __CONFIG_TERASIC_DE10_H__
>>>>> +
>>>>> +#include <asm/arch/base_addr_ac5.h>
>>>>> +
>>>>> +/* U-Boot Commands */
>>>>> +#define CONFIG_FAT_WRITE
>>>>> +#define CONFIG_HW_WATCHDOG
>>>>> +
>>>>> +/* Memory configurations */
>>>>> +#define PHYS_SDRAM_1_SIZE		0x40000000	/* 1GiB */
>>>>> +
>>>>> +/* Booting Linux */
>>>>> +#define CONFIG_BOOTFILE		"zImage"
>>>>> +#define CONFIG_LOADADDR		0x01000000
>>>>> +#define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
>>>>> +
>>>>> +/* Ethernet on SoC (EMAC) */
>>>>> +#if defined(CONFIG_CMD_NET)
>>>>> +#define CONFIG_PHY_MICREL
>>>>> +#define CONFIG_PHY_MICREL_KSZ9031
>>>>> +#endif
>>>>> +
>>>>> +#define CONFIG_ENV_IS_IN_MMC
>>>>> +
>>>>> +#define CONFIG_BOOTCOMMAND "run fpga_cfg; run distro_bootcmd"
>>>>
>>>> What is "fpga_cfg" ?
>>> sorry, thanks for catching that.  i am playing with something
>>> like the way distro boot searches for files, but for the fpga image.
>>
>> Like the FPGA manager which is being upstreamed into Linux and which is
>> the only sensible way to manage reprogramable hardware ? :) Also, if you
>> used fitImage instead of that stupid zImage, you would be able to bundle
>> all the components needed to boot system into a single consistent image ;-)
>>
> I know, that is my next step... :)
> 
Cool :)

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list