]> git.pld-linux.org Git - packages/crossavr-libc.git/blame - 304-avr-libc-avrtc-608.patch
- cleanup, use arch*dir macros, release 5 (x32 rebuild)
[packages/crossavr-libc.git] / 304-avr-libc-avrtc-608.patch
CommitLineData
9fe267c2
PZ
1diff -Naurp libc/misc/eerd_block.S libc/misc/eerd_block.S
2--- libc/misc/eerd_block.S 2011-12-29 14:21:55.000000000 +0530
3+++ libc/misc/eerd_block.S 2012-10-16 15:55:45.000000000 +0530
4@@ -62,6 +62,7 @@ ENTRY eeprom_read_block
5
6 #if __AVR_XMEGA__ /* -------------------------------------------- */
7
8+#if defined (NVM_EEMAPEN_bm)
9 ; Load base address of NVM.
10 ldi ZL, lo8(NVM_BASE)
11 ldi ZH, hi8(NVM_BASE)
12@@ -75,6 +76,7 @@ ENTRY eeprom_read_block
13 ldd XL, Z + NVM_CTRLB - NVM_BASE
14 ori XL, NVM_EEMAPEN_bm
15 std Z + NVM_CTRLB - NVM_BASE, XL
16+#endif
17
18 ; Correct EEPROM address to read from data space.
19 subi eepr_lo, lo8(-MAPPED_EEPROM_START)
20diff -Naurp libc/misc/eerd_byte.S libc/misc/eerd_byte.S
21--- libc/misc/eerd_byte.S 2011-12-29 14:21:55.000000000 +0530
22+++ libc/misc/eerd_byte.S 2012-10-16 15:55:45.000000000 +0530
23@@ -55,6 +55,7 @@ ENTRY eeprom_read_byte
24
25 ENTRY eeprom_mapen
26
27+#if defined (NVM_EEMAPEN_bm)
28 ; Load base address of NVM.
29 ldi ZL, lo8(NVM_BASE)
30 ldi ZH, hi8(NVM_BASE)
31@@ -68,6 +69,7 @@ ENTRY eeprom_mapen
32 ldd r19, Z + NVM_CTRLB - NVM_BASE
33 ori r19, NVM_EEMAPEN_bm
34 std Z + NVM_CTRLB - NVM_BASE, r19
35+#endif
36
37 ; Load Z with correct EEPROM address to read from data space.
38 movw ZL, addr_lo
39diff -Naurp libc/misc/eewr_byte.S libc/misc/eewr_byte.S
40--- libc/misc/eewr_byte.S 2011-12-29 14:21:55.000000000 +0530
41+++ libc/misc/eewr_byte.S 2012-10-16 16:27:09.000000000 +0530
42@@ -70,6 +70,7 @@ ENTRY eeprom_write_r18
43 sbrc r19, NVM_NVMBUSY_bp
44 rjmp 1b
45
46+#if defined (NVM_EEMAPEN_bm)
47 ; Disable EEPROM mapping into data space.
48 ldd r19, Z + NVM_CTRLB - NVM_BASE
49 andi r19, ~NVM_EEMAPEN_bm
50@@ -103,10 +104,18 @@ ENTRY eeprom_write_r18
51 ; Issue EEPROM Buffer Load command.
52 3: ldi r19, NVM_CMD_LOAD_EEPROM_BUFFER_gc
53 std Z + NVM_CMD - NVM_BASE, r19
54+#endif
55 std Z + NVM_ADDR0 - NVM_BASE, addr_lo
56 std Z + NVM_ADDR1 - NVM_BASE, addr_hi
57 std Z + NVM_ADDR2 - NVM_BASE, __zero_reg__
58+#if defined (NVM_EEMAPEN_bm)
59 std Z + NVM_DATA0 - NVM_BASE, r18
60+#else
61+ movw XL, addr_lo
62+ subi XL, lo8(-MAPPED_EEPROM_START)
63+ sbci XH, hi8(-MAPPED_EEPROM_START)
64+ st X, r18
65+#endif
66
67 ; Issue EEPROM Erase & Write command.
68 ldi r18, NVM_CMD_ERASE_WRITE_EEPROM_PAGE_gc
This page took 0.080522 seconds and 4 git commands to generate.