[U-Boot] [PATCH 1/3] S5PC100: Memory SubSystem Header file, register description(SROMC).

Minkyu Kang promsoft at gmail.com
Wed Feb 10 06:48:35 CET 2010


Dear Naveen Krishna Ch,

On 9 February 2010 18:34, Naveen Krishna Ch <ch.naveen at samsung.com> wrote:
> From: Naveen Krishna CH <ch.naveen at samsung.com>
>
> Memory subsystem of S5PC100 handles SROM, SRAM, OneDRAM, OneNand,
> NAND Flash, DDRs.
> mem.h is a common place for the register description of Memory subsystem
> of S5PC100.
> Note: Only SROM related registers are descibed now.
>
> Signed-off-by: Naveen Krishna Ch <ch.naveen <at> samsung.com>
> ---
>  include/asm-arm/arch-s5pc1xx/mem.h |   55 ++++++++++++++++++++++++++++++++++++
>  1 files changed, 55 insertions(+), 0 deletions(-)
>  create mode 100644 include/asm-arm/arch-s5pc1xx/mem.h
>
> diff --git a/include/asm-arm/arch-s5pc1xx/mem.h b/include/asm-arm/arch-s5pc1xx/mem.h
> new file mode 100644
> index 0000000..66272ff
> --- /dev/null
> +++ b/include/asm-arm/arch-s5pc1xx/mem.h

I think srom.h is better than mem.h.

> @@ -0,0 +1,55 @@
> +/*
> + * (C) Copyright 2010 Samsung Electronics
> + * Naveen Krishna Ch <ch.naveen at samsung.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + *
> + * Note: This file contains the register description for Memory subsystem
> + *      (SROM, NAND Flash, OneNand, DDR, OneDRAM) on S5PC1XX.
> + *
> + *      Only SROMC is defined as of now
> + */
> +
> +#ifndef __ASM_ARCH_MEM_H_
> +#define __ASM_ARCH_MEM_H_
> +
> +#define SROM_DATA16_WIDTH(x)    (1<<((x*4)+0))
> +#define SROM_BYTE_ADDR_MODE(x)  (1<<((x*4)+1))  /* 0-> Half-word base address*/
> +                                               /* 1-> Byte base address*/
> +#define SROM_WAIT_ENABLE(x)     (1<<((x*4)+2))
> +#define SROM_BYTE_ENABLE(x)     (1<<((x*4)+3))

Do you use all of these defines?

> +
> +#define SMCBC_X_Tacs    (0x0)   /* 0clk         address set-up */
> +#define SMCBC_X_Tcos    (0x4)   /* 4clk         chip selection set-up */
> +#define SMCBC_X_Tacc    (0xe)   /* 14clk        access cycle */
> +#define SMCBC_X_Tcoh    (0x1)   /* 1clk         chip selection hold */
> +#define SMCBC_X_Tah     (0x4)   /* 4clk         address holding time */
> +#define SMCBC_X_Tacp    (0x6)   /* 6clk         page mode access cycle */
> +#define SMCBC_X_PMC     (0x0)   /* normal(1data)page mode configuration */

Please don't use lowercase at define
and () is unnecessary.
and.. what mean X is?

> +
> +#define SMC_BC_X_CON    ((SMCBC_X_Tacs<<28)|(SMCBC_X_Tcos<<24)| \
> +                        (SMCBC_X_Tacc<<16)|(SMCBC_X_Tcoh<<12)| \
> +                        (SMCBC_X_Tah<<8)|(SMCBC_X_Tacp<<4)|    \
> +                        (SMCBC_X_PMC))
> +
> +#ifndef __ASSEMBLY__
> +struct s5pc1xx_sromc {
> +       unsigned int    smc_bw;
> +       unsigned int    smc_bc[6];
> +};
> +#endif /* __ASSEMBLY__ */

smc_bw and smc_bc are already belong to sromc structure.
is "smc_" really need?
Please modify it to bw and bc or srom_bw and srom_bc (according to TRM)

> +
> +#endif /* __ASM_ARCH_MEM_H_ */
> --
> 1.6.6
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>

Thanks,
Minkyu Kang.
-- 
from. prom.
www.promsoft.net


More information about the U-Boot mailing list