[U-Boot] [PATCH] arm: ls1021x: Add support for initializing CAAM's stream id

York Sun yorksun at freescale.com
Thu Jan 15 21:53:46 CET 2015



On 01/08/2015 09:13 PM, Alison Wang wrote:
> There 4 JRs, 4 RTICs and 8 DECOs, and set them the same stream id
> for using the same SMMU3 on LS1021A.
> 
> Signed-off-by: Xiubo Li <Li.Xiubo at freescale.com>
> Signed-off-by: Alison Wang <alison.wang at freescale.com>
> ---
>  arch/arm/include/asm/arch-ls102xa/config.h         |  1 +
>  arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h  | 37 ++++++++++++++
>  .../include/asm/arch-ls102xa/ls102xa_stream_id.h   | 57 ++++++++++++++++++++++
>  board/freescale/common/ls102xa_stream_id.c         | 15 ++++++
>  board/freescale/ls1021aqds/ls1021aqds.c            | 21 ++++++++
>  board/freescale/ls1021atwr/ls1021atwr.c            | 21 ++++++++
>  6 files changed, 152 insertions(+)
> 
> diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h
> index 5e934da..f200bc8 100644
> --- a/arch/arm/include/asm/arch-ls102xa/config.h
> +++ b/arch/arm/include/asm/arch-ls102xa/config.h
> @@ -36,6 +36,7 @@
>  #define CONFIG_SYS_LS102XA_USB1_ADDR \
>  	(CONFIG_SYS_IMMR + CONFIG_SYS_LS102XA_USB1_OFFSET)
>  
> +#define CONFIG_SYS_FSL_SEC_OFFSET		0x00700000
>  #define CONFIG_SYS_LS102XA_USB1_OFFSET		0x07600000
>  #define CONFIG_SYS_TSEC1_OFFSET			0x01d10000
>  #define CONFIG_SYS_TSEC2_OFFSET			0x01d50000
> diff --git a/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h b/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
> index 697d4ca..a73ef2e 100644
> --- a/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
> +++ b/arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h
> @@ -37,6 +37,43 @@
>  
>  #define DCFG_DCSR_PORCR1		0
>  
> +/*
> + * Define default values for some CCSR macros to make header files cleaner*

You have a trailing * here

> + *
> + * To completely disable CCSR relocation in a board header file, define
> + * CONFIG_SYS_CCSR_DO_NOT_RELOCATE.  This will force CONFIG_SYS_CCSRBAR_PHYS
> + * to a value that is the same as CONFIG_SYS_CCSRBAR.
> + */
> +
> +#ifdef CONFIG_SYS_CCSRBAR_PHYS
> +#error "Do not define CONFIG_SYS_CCSRBAR_PHYS directly."
> +#endif
> +
> +#ifdef CONFIG_SYS_CCSR_DO_NOT_RELOCATE
> +#undef CONFIG_SYS_CCSRBAR_PHYS_HIGH
> +#undef CONFIG_SYS_CCSRBAR_PHYS_LOW
> +#define CONFIG_SYS_CCSRBAR_PHYS_HIGH	0
> +#endif
> +
> +#ifndef CONFIG_SYS_CCSRBAR
> +#define CONFIG_SYS_CCSRBAR		CONFIG_SYS_IMMR
> +#endif
> +
> +#ifndef CONFIG_SYS_CCSRBAR_PHYS_HIGH
> +#ifdef CONFIG_PHYS_64BIT
> +#define CONFIG_SYS_CCSRBAR_PHYS_HIGH	0xf
> +#else
> +#define CONFIG_SYS_CCSRBAR_PHYS_HIGH	0
> +#endif
> +#endif
> +
> +#ifndef CONFIG_SYS_CCSRBAR_PHYS_LOW
> +#define CONFIG_SYS_CCSRBAR_PHYS_LOW	CONFIG_SYS_IMMR
> +#endif
> +
> +#define CONFIG_SYS_CCSRBAR_PHYS ((CONFIG_SYS_CCSRBAR_PHYS_HIGH * 1ull) << 32 | \
> +				 CONFIG_SYS_CCSRBAR_PHYS_LOW)
> +


Changing CCSR macros should be in a separated patch.

York


More information about the U-Boot mailing list