arm/km: add support for SUSE2
This board is similar to SUV31, but the FPGA is reset concept is quite different. Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> CC: Valentin Longchamp <valentin.longchamp@ch.abb.com> CC: Stefan Roese <sr@denx.de> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
@@ -7,6 +7,18 @@ config KM_FPGA_CONFIG
|
||||
help
|
||||
Include capability to change FPGA configuration.
|
||||
|
||||
config KM_FPGA_FORCE_CONFIG
|
||||
bool "FPGA reconfiguration"
|
||||
default n
|
||||
help
|
||||
If yes we force to reconfigure the FPGA always
|
||||
|
||||
config KM_FPGA_NO_RESET
|
||||
bool "FPGA skip reset"
|
||||
default n
|
||||
help
|
||||
If yes we skip triggering a reset of the FPGA
|
||||
|
||||
config KM_ENV_IS_IN_SPI_NOR
|
||||
bool "Environment in SPI NOR"
|
||||
default n
|
||||
|
||||
@@ -9,4 +9,5 @@ F: configs/km_kirkwood_pci_defconfig
|
||||
F: configs/kmcoge5un_defconfig
|
||||
F: configs/kmnusa_defconfig
|
||||
F: configs/kmsugp1_defconfig
|
||||
F: configs/kmsuse2_defconfig
|
||||
F: configs/kmsuv31_defconfig
|
||||
|
||||
@@ -82,6 +82,7 @@ static int boco_set_bits(u8 reg, u8 flags)
|
||||
#define FPGA_INIT_B 0x10
|
||||
#define FPGA_DONE 0x20
|
||||
|
||||
#ifndef CONFIG_KM_FPGA_FORCE_CONFIG
|
||||
static int fpga_done(void)
|
||||
{
|
||||
int ret = 0;
|
||||
@@ -100,13 +101,16 @@ static int fpga_done(void)
|
||||
|
||||
return regval & FPGA_DONE ? 1 : 0;
|
||||
}
|
||||
#endif /* CONFIG_KM_FPGA_FORCE_CONFIG */
|
||||
|
||||
int skip;
|
||||
static int skip;
|
||||
|
||||
int trigger_fpga_config(void)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
skip = 0;
|
||||
#ifndef CONFIG_KM_FPGA_FORCE_CONFIG
|
||||
/* if the FPGA is already configured, we do not want to
|
||||
* reconfigure it */
|
||||
skip = 0;
|
||||
@@ -115,6 +119,7 @@ int trigger_fpga_config(void)
|
||||
skip = 1;
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_KM_FPGA_FORCE_CONFIG */
|
||||
|
||||
if (check_boco2()) {
|
||||
/* we have a BOCO2, this has to be triggered here */
|
||||
@@ -188,7 +193,13 @@ int wait_for_fpga_config(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(KM_PCIE_RESET_MPP7)
|
||||
#if defined(CONFIG_KM_FPGA_NO_RESET)
|
||||
int fpga_reset(void)
|
||||
{
|
||||
/* no dedicated reset pin for FPGA */
|
||||
return 0;
|
||||
}
|
||||
#elif defined(KM_PCIE_RESET_MPP7)
|
||||
|
||||
#define KM_PEX_RST_GPIO_PIN 7
|
||||
int fpga_reset(void)
|
||||
|
||||
58
configs/kmsuse2_defconfig
Normal file
58
configs/kmsuse2_defconfig
Normal file
@@ -0,0 +1,58 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_DCACHE_OFF=y
|
||||
CONFIG_ARCH_CPU_INIT=y
|
||||
CONFIG_KIRKWOOD=y
|
||||
CONFIG_SYS_TEXT_BASE=0x07d00000
|
||||
CONFIG_TARGET_KM_KIRKWOOD=y
|
||||
CONFIG_KM_FPGA_CONFIG=y
|
||||
CONFIG_KM_FPGA_FORCE_CONFIG=y
|
||||
CONFIG_KM_FPGA_NO_RESET=y
|
||||
CONFIG_KM_ENV_IS_IN_SPI_NOR=y
|
||||
CONFIG_ENV_SIZE=0x2000
|
||||
CONFIG_ENV_OFFSET=0xC0000
|
||||
CONFIG_ENV_SECT_SIZE=0x10000
|
||||
CONFIG_IDENT_STRING="\nABB SUSE2"
|
||||
CONFIG_SYS_EXTRA_OPTIONS="KM_SUSE2"
|
||||
CONFIG_MISC_INIT_R=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
CONFIG_HUSH_PARSER=y
|
||||
CONFIG_AUTOBOOT_KEYED=y
|
||||
CONFIG_AUTOBOOT_PROMPT="Hit <SPACE> key to stop autoboot in %2ds\n"
|
||||
CONFIG_AUTOBOOT_STOP_STR=" "
|
||||
CONFIG_CMD_ASKENV=y
|
||||
CONFIG_CMD_GREPENV=y
|
||||
CONFIG_CMD_EEPROM=y
|
||||
# CONFIG_CMD_FLASH is not set
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_NAND=y
|
||||
CONFIG_CMD_DHCP=y
|
||||
CONFIG_CMD_MII=y
|
||||
CONFIG_CMD_PING=y
|
||||
CONFIG_CMD_JFFS2=y
|
||||
CONFIG_CMD_MTDPARTS=y
|
||||
CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
|
||||
CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:-(ubi0);"
|
||||
CONFIG_CMD_UBI=y
|
||||
# CONFIG_CMD_UBIFS is not set
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="kirkwood-km_kirkwood"
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
|
||||
CONFIG_ENV_OFFSET_REDUND=0xD0000
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_BOOTCOUNT_LIMIT=y
|
||||
CONFIG_BOOTCOUNT_RAM=y
|
||||
CONFIG_BOOTCOUNT_BOOTLIMIT=3
|
||||
# CONFIG_MMC is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_RAW_NAND=y
|
||||
CONFIG_SF_DEFAULT_SPEED=8100000
|
||||
CONFIG_SPI_FLASH_STMICRO=y
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_MVGBE=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_KIRKWOOD_SPI=y
|
||||
CONFIG_BCH=y
|
||||
@@ -65,6 +65,14 @@
|
||||
#define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage_128M16_1.cfg
|
||||
#define CONFIG_KM_UBI_PART_BOOT_OPTS ",2048"
|
||||
#define CONFIG_SYS_NAND_NO_SUBPAGE_WRITE
|
||||
|
||||
/* KM_SUSE2 */
|
||||
#elif defined(CONFIG_KM_SUSE2)
|
||||
#define CONFIG_HOSTNAME "kmsuse2"
|
||||
#undef CONFIG_SYS_KWD_CONFIG
|
||||
#define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage_128M16_1.cfg
|
||||
#define CONFIG_KM_UBI_PART_BOOT_OPTS ",2048"
|
||||
#define CONFIG_SYS_NAND_NO_SUBPAGE_WRITE
|
||||
#else
|
||||
#error ("Board unsupported")
|
||||
#endif
|
||||
|
||||
@@ -940,6 +940,7 @@ CONFIG_KM_NEW_ENV
|
||||
CONFIG_KM_NUSA
|
||||
CONFIG_KM_ROOTFSSIZE
|
||||
CONFIG_KM_SUGP1
|
||||
CONFIG_KM_SUSE2
|
||||
CONFIG_KM_SUV31
|
||||
CONFIG_KM_UBI_LINUX_MTD
|
||||
CONFIG_KM_UBI_PARTITION_NAME_APP
|
||||
|
||||
Reference in New Issue
Block a user