diff options
Diffstat (limited to 'roms/u-boot/arch/avr32/include/asm/sdram.h')
-rw-r--r-- | roms/u-boot/arch/avr32/include/asm/sdram.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/roms/u-boot/arch/avr32/include/asm/sdram.h b/roms/u-boot/arch/avr32/include/asm/sdram.h new file mode 100644 index 00000000..83d515bd --- /dev/null +++ b/roms/u-boot/arch/avr32/include/asm/sdram.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * SPDX-License-Identifier: GPL-2.0+ + */ +#ifndef __ASM_AVR32_SDRAM_H +#define __ASM_AVR32_SDRAM_H + +struct sdram_config { + /* Number of data bits. */ + enum { + SDRAM_DATA_16BIT = 16, + SDRAM_DATA_32BIT = 32, + } 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; +}; + +/* + * 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 */ |