diff options
author | Wolfgang Denk <wd@denx.de> | 2008-06-03 00:19:57 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-06-03 00:19:57 +0200 |
commit | 7a68389a231ac061ba2ffd628f86e15ed0545a7b (patch) | |
tree | 723fd35290b988810be6d417c21fa1949f25aae8 /include/asm-avr32/sdram.h | |
parent | 7feb4d38ff1fdf8877f39447001ff9f6e93fa6bc (diff) | |
parent | a8092c021d27f27f4b323b7d49979ca01b3fc19d (diff) | |
download | u-boot-imx-7a68389a231ac061ba2ffd628f86e15ed0545a7b.zip u-boot-imx-7a68389a231ac061ba2ffd628f86e15ed0545a7b.tar.gz u-boot-imx-7a68389a231ac061ba2ffd628f86e15ed0545a7b.tar.bz2 |
Merge remote branch 'u-boot-avr32/master'
Diffstat (limited to 'include/asm-avr32/sdram.h')
-rw-r--r-- | include/asm-avr32/sdram.h | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/include/asm-avr32/sdram.h b/include/asm-avr32/sdram.h index 833af6e..7bdefc1 100644 --- a/include/asm-avr32/sdram.h +++ b/include/asm-avr32/sdram.h @@ -22,15 +22,32 @@ #ifndef __ASM_AVR32_SDRAM_H #define __ASM_AVR32_SDRAM_H -struct sdram_info { - unsigned long phys_addr; - unsigned int row_bits, col_bits, bank_bits; - unsigned int cas, twr, trc, trp, trcd, tras, txsr; +struct sdram_config { + /* Number of data bits. */ + enum { + SDRAM_DATA_16BIT, + SDRAM_DATA_32BIT, + } data_bits; + + /* Number of address bits */ + uint8_t row_bits, col_bits, bank_bits; + + /* SDRAM timings in cycles */ + uint8_t cas, twr, trc, trp, trcd, tras, txsr; /* SDRAM refresh period in cycles */ unsigned long refresh_period; }; -extern unsigned long sdram_init(const struct sdram_info *info); +/* + * Attempt to initialize the SDRAM controller using the specified + * parameters. Return the expected size of the memory area based on + * the number of address and data bits. + * + * The caller should verify that the configuration is correct by + * running a memory test, e.g. get_ram_size(). + */ +extern unsigned long sdram_init(void *sdram_base, + const struct sdram_config *config); #endif /* __ASM_AVR32_SDRAM_H */ |