1.1 --- a/board-nanonote.c Sun Jun 07 02:14:23 2015 +0200
1.2 +++ b/board-nanonote.c Sun Jun 07 02:18:33 2015 +0200
1.3 @@ -4,7 +4,7 @@
1.4 * Copyright (C) 2015 Paul Boddie <paul@boddie.org.uk>
1.5 * Copyright (C) Xiangfu Liu <xiangfu.z@gmail.com>
1.6 * Copyright (C) 2006 Ingenic Semiconductor, <jlwei@ingenic.cn>
1.7 - * Copyright (C) 2003 Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
1.8 + * Copyright (C) 2000-2009 Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
1.9 *
1.10 * This program is free software; you can redistribute it and/or modify it under
1.11 * the terms of the GNU General Public License as published by the Free Software
1.12 @@ -281,25 +281,37 @@
1.13
1.14 void rtc_init(void)
1.15 {
1.16 - while ( !__rtc_write_ready()) ;
1.17 + while ( !__rtc_write_ready());
1.18 __rtc_enable_alarm(); /* enable alarm */
1.19
1.20 - while ( !__rtc_write_ready())
1.21 - ;
1.22 + while ( !__rtc_write_ready());
1.23 REG_RTC_RGR = 0x00007fff; /* type value */
1.24
1.25 - while ( !__rtc_write_ready())
1.26 - ;
1.27 + while ( !__rtc_write_ready());
1.28 REG_RTC_HWFCR = 0x0000ffe0; /* Power on delay 2s */
1.29
1.30 - while ( !__rtc_write_ready())
1.31 - ;
1.32 + while ( !__rtc_write_ready());
1.33 REG_RTC_HRCR = 0x00000fe0; /* reset delay 125ms */
1.34 }
1.35
1.36 -/*
1.37 - * Timer routines
1.38 - */
1.39 +unsigned long get_memory_size(void)
1.40 +{
1.41 + unsigned int dmcr;
1.42 + unsigned int rows, cols, dw, banks;
1.43 + unsigned long size;
1.44 +
1.45 + dmcr = REG_EMC_DMCR;
1.46 + rows = 11 + ((dmcr & EMC_DMCR_RA_MASK) >> EMC_DMCR_RA_BIT);
1.47 + cols = 8 + ((dmcr & EMC_DMCR_CA_MASK) >> EMC_DMCR_CA_BIT);
1.48 + dw = (dmcr & EMC_DMCR_BW) ? 2 : 4;
1.49 + banks = (dmcr & EMC_DMCR_BA) ? 4 : 2;
1.50 +
1.51 + size = (1 << (rows + cols)) * dw * banks;
1.52 +
1.53 + return size;
1.54 +}
1.55 +
1.56 +/* Timer routines. */
1.57
1.58 #define TIMER_CHAN 0
1.59 #define TIMER_FDATA 0xffff /* Timer full data value */