[U-Boot] [PATCH 16/17] powerpc/83xx: add support for kmtegr1 board

Heiko Schocher hs at denx.de
Mon Nov 16 12:06:36 CET 2015


Hello Valentin,

Am 13.11.2015 um 15:59 schrieb Valentin Longchamp:
> This board uses the same CPU (8309) as VECT1. The memory however is
> different since it has NAND Flash, the NOR Flash partitioning is
> different and of course the FPGAs as well.
>
> Signed-off-by: Valentin Longchamp <valentin.longchamp at keymile.com>
> Signed-off-by: Christoph Dietrich <christoph.dietrich at keymile.com>
> ---
>
>   board/keymile/km83xx/MAINTAINERS |  1 +
>   configs/kmtegr1_defconfig        |  4 +++
>   include/configs/suvd3.h          | 65 +++++++++++++++++++++++++++++++++++++---
>   3 files changed, 66 insertions(+), 4 deletions(-)
>   create mode 100644 configs/kmtegr1_defconfig


Reviewed-by: Heiko Schocher <hs at denx.de>

bye,
Heiko
>
> diff --git a/board/keymile/km83xx/MAINTAINERS b/board/keymile/km83xx/MAINTAINERS
> index 58969a2..f765575 100644
> --- a/board/keymile/km83xx/MAINTAINERS
> +++ b/board/keymile/km83xx/MAINTAINERS
> @@ -9,6 +9,7 @@ F:	include/configs/tuxx1.h
>   F:	configs/kmopti2_defconfig
>   F:	configs/kmtepr2_defconfig
>   F:	include/configs/suvd3.h
> +F:	configs/kmtegr1_defconfig
>   F:	configs/kmvect1_defconfig
>   F:	configs/kmvect1_p1a_defconfig
>   F:	configs/suvd3_defconfig
> diff --git a/configs/kmtegr1_defconfig b/configs/kmtegr1_defconfig
> new file mode 100644
> index 0000000..aee9886
> --- /dev/null
> +++ b/configs/kmtegr1_defconfig
> @@ -0,0 +1,4 @@
> +CONFIG_SYS_EXTRA_OPTIONS="KMTEGR1"
> +CONFIG_PPC=y
> +CONFIG_MPC83xx=y
> +CONFIG_TARGET_SUVD3=y
> diff --git a/include/configs/suvd3.h b/include/configs/suvd3.h
> index fddba92..af8730a 100644
> --- a/include/configs/suvd3.h
> +++ b/include/configs/suvd3.h
> @@ -29,13 +29,48 @@
>   #define CONFIG_KM_BOARD_NAME   "suvd3"
>   /* include common defines/options for all 8321 Keymile boards */
>   #include "km/km8321-common.h"
> +
>   #elif defined(CONFIG_KMVECT1)   /* VECT1 board specific */
>   #define CONFIG_HOSTNAME		kmvect1
>   #define CONFIG_KM_BOARD_NAME   "kmvect1"
> +/* at end of uboot partition, before env */
> +#define CONFIG_SYS_QE_FW_ADDR   0xF00B0000
> +/* include common defines/options for all 8309 Keymile boards */
> +#include "km/km8309-common.h"
> +
> +#elif defined(CONFIG_KMTEGR1)   /* TEGR1 board specific */
> +#define CONFIG_HOSTNAME   kmtegr1
> +#define CONFIG_KM_BOARD_NAME   "kmtegr1"
> +#define CONFIG_KM_UBI_PARTITION_NAME_BOOT	"ubi0"
> +#define CONFIG_KM_UBI_PARTITION_NAME_APP	"ubi1"
> +#define MTDIDS_DEFAULT			"nor0=boot,nand0=app"
> +#define MTDPARTS_DEFAULT		"mtdparts="			\
> +	"boot:"								\
> +		"768k(u-boot),"						\
> +		"256k(qe-fw),"						\
> +		"128k(env),"						\
> +		"128k(envred),"						\
> +		"-(" CONFIG_KM_UBI_PARTITION_NAME_BOOT ");"		\
> +	"app:"								\
> +		"-(" CONFIG_KM_UBI_PARTITION_NAME_APP ");"
> +
> +#define CONFIG_ENV_ADDR		0xF0100000
> +#define CONFIG_ENV_OFFSET	0x100000
> +
> +#define CONFIG_CMD_NAND
> +#define CONFIG_NAND_ECC_BCH
> +#define CONFIG_BCH
> +#define CONFIG_NAND_KMETER1
> +#define CONFIG_SYS_MAX_NAND_DEVICE		1
> +#define NAND_MAX_CHIPS				1
> +
>   /* include common defines/options for all 8309 Keymile boards */
>   #include "km/km8309-common.h"
> +/* must be after the include because KMBEC_FPGA is otherwise undefined */
> +#define CONFIG_SYS_NAND_BASE CONFIG_SYS_KMBEC_FPGA_BASE /* PRIO_BASE_ADDRESS */
> +
>   #else
> -#error Supported boards are: SUVD3, KMVECT1
> +#error Supported boards are: SUVD3, KMVECT1, KMTEGR1
>   #endif
>
>   #define CONFIG_SYS_APP1_BASE		0xA0000000
> @@ -56,6 +91,7 @@
>    *
>    */
>
> +#if defined(CONFIG_SUVD3) || defined(CONFIG_KMVECT1)
>   /*
>    * APP1 on the local bus CS2
>    */
> @@ -82,14 +118,26 @@
>   			 0x0000c000 | \
>   			 MxMR_WLFx_2X)
>
> +#elif defined(CONFIG_KMTEGR1)
> +#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \
> +				 BR_PS_16 | \
> +				 BR_MS_GPCM | \
> +				 BR_V)
> +
> +#define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
> +				 OR_GPCM_SCY_5 | \
> +				 OR_GPCM_TRLX_CLEAR | \
> +				 OR_GPCM_EHTR_CLEAR)
> +
> +#endif /* CONFIG_KMTEGR1 */
> +
>   #define CONFIG_SYS_LBLAWBAR3_PRELIM	CONFIG_SYS_APP2_BASE
>   #define CONFIG_SYS_LBLAWAR3_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
>
>   /*
>    * MMU Setup
>    */
> -
> -
> +#if defined(CONFIG_SUVD3) || defined(CONFIG_KMVECT1)
>   /* APP1:  icache cacheable, but dcache-inhibit and guarded */
>   #define CONFIG_SYS_IBAT5L	(CONFIG_SYS_APP1_BASE | BATL_PP_RW | \
>   				 BATL_MEMCOHERENCE)
> @@ -99,6 +147,13 @@
>   				 BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
>   #define CONFIG_SYS_DBAT5U	CONFIG_SYS_IBAT5U
>
> +#elif defined(CONFIG_KMTEGR1)
> +#define CONFIG_SYS_IBAT5L (0)
> +#define CONFIG_SYS_IBAT5U (0)
> +#define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L
> +#define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U
> +#endif /* CONFIG_KMTEGR1 */
> +
>   #define CONFIG_SYS_IBAT6L	(CONFIG_SYS_APP2_BASE | BATL_PP_RW | \
>   				 BATL_MEMCOHERENCE)
>   #define CONFIG_SYS_IBAT6U	(CONFIG_SYS_APP2_BASE | BATU_BL_256M | \
> @@ -131,7 +186,9 @@
>   #define CONFIG_SYS_UEC1_PHY_ADDR	CONFIG_SYS_FIXED_PHY_ADDR
>   #define CONFIG_SYS_UEC1_INTERFACE_TYPE	PHY_INTERFACE_MODE_MII
>   #define CONFIG_SYS_UEC1_INTERFACE_SPEED	100
> +#endif /* CONFIG_KMVECT1 */
>
> +#if defined(CONFIG_KMVECT1) || defined(CONFIG_KMTEGR1)
>   /* ethernet port connected to piggy (UEC2) */
>   #define CONFIG_HAS_ETH1
>   #define CONFIG_UEC_ETH2
> @@ -142,6 +199,6 @@
>   #define CONFIG_SYS_UEC2_PHY_ADDR	0
>   #define CONFIG_SYS_UEC2_INTERFACE_TYPE	PHY_INTERFACE_MODE_RMII
>   #define CONFIG_SYS_UEC2_INTERFACE_SPEED	100
> -#endif /* CONFIG_KMVECT1 */
> +#endif /* CONFIG_KMVECT1 || CONFIG_KMTEGR1 */
>
>   #endif /* __CONFIG_H */
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list