Skip to content

Commit deecb80

Browse files
committed
Added the balance of the D21 and R21 families based on information in
the datasheets. Note these are largely untested.
1 parent 86d82af commit deecb80

File tree

1 file changed

+63
-8
lines changed

1 file changed

+63
-8
lines changed

src/Device.cpp

Lines changed: 63 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -340,18 +340,73 @@ Device::create()
340340
case 0:
341341
switch (deviceId & 0xffff00ff)
342342
{
343-
case 0x10010000:
344-
case 0x10010005:
345-
case 0x1001000a:
346-
case 0x1001000f:
343+
//
344+
// SAMD21
345+
//
346+
case 0x10010003: // J15A
347+
case 0x10010008: // G15A
348+
case 0x1001000d: // E15A
349+
case 0x10010021: // J15B
350+
case 0x10010024: // G15B
351+
case 0x10010027: // E15B
352+
case 0x10010056: // E15B WLCSP
353+
case 0x10010063: // E15C WLCSP
347354
_family = FAMILY_SAMD21;
348-
flashPtr = new NvmFlash( _samba, "ATSAMD21x18", 0x2000, 4096, 64, 1, 16, 0x20004000, 0x20008000, 0x41004000, true ) ;
355+
flashPtr = new NvmFlash(_samba, "ATSAMD21x15", 0x2000, 512, 64, 1, 16, 0x20000800, 0x20001000, 0x41004000, true) ;
349356
break;
350357

351-
case 0x1001001c:
352-
case 0x10010019:
358+
case 0x10010002: // J16A
359+
case 0x10010007: // G16A
360+
case 0x1001000c: // E16A
361+
case 0x10010020: // J16B
362+
case 0x10010023: // G16B
363+
case 0x10010026: // E16B
364+
case 0x10010055: // E16B WLCSP
365+
case 0x10010062: // E16C WLCSP
366+
_family = FAMILY_SAMD21;
367+
flashPtr = new NvmFlash(_samba, "ATSAMD21x16", 0x2000, 1024, 64, 1, 16, 0x20001000, 0x20002000, 0x41004000, true) ;
368+
break;
369+
370+
case 0x10010001: // J17A
371+
case 0x10010006: // G17A
372+
case 0x1001000b: // E17A
373+
case 0x10010010: // G17A WLCSP
374+
_family = FAMILY_SAMD21;
375+
flashPtr = new NvmFlash(_samba, "ATSAMD21x17", 0x2000, 2048, 64, 1, 16, 0x20002000, 0x20004000, 0x41004000, true) ;
376+
break;
377+
378+
case 0x10010000: // J18A
379+
case 0x10010005: // G18A
380+
case 0x1001000a: // E18A
381+
case 0x1001000f: // G18A WLCSP
382+
_family = FAMILY_SAMD21;
383+
flashPtr = new NvmFlash(_samba, "ATSAMD21x18", 0x2000, 4096, 64, 1, 16, 0x20004000, 0x20008000, 0x41004000, true) ;
384+
break;
385+
386+
//
387+
// SAMR21
388+
//
389+
case 0x1001001e: // E16A
390+
case 0x1001001b: // G16A
391+
_family = FAMILY_SAMR21;
392+
flashPtr = new NvmFlash(_samba, "ATSAMR21x16", 0x2000, 1024, 64, 1, 16, 0x20001000, 0x20002000, 0x41004000, true) ;
393+
break;
394+
395+
case 0x1001001d: // E17A
396+
case 0x1001001a: // G17A
397+
_family = FAMILY_SAMR21;
398+
flashPtr = new NvmFlash(_samba, "ATSAMR21x17", 0x2000, 2048, 64, 1, 16, 0x20002000, 0x20004000, 0x41004000, true) ;
399+
break;
400+
401+
case 0x1001001c: // E18A
402+
case 0x10010019: // G18A
403+
_family = FAMILY_SAMR21;
404+
flashPtr = new NvmFlash(_samba, "ATSAMR21x18", 0x2000, 4096, 64, 1, 16, 0x20004000, 0x20008000, 0x41004000, true) ;
405+
break;
406+
407+
case 0x10010018: // E19A
353408
_family = FAMILY_SAMR21;
354-
flashPtr = new NvmFlash( _samba, "ATSAMR21x18", 0x2000, 4096, 64, 1, 16, 0x20004000, 0x20008000, 0x41004000, true ) ;
409+
flashPtr = new NvmFlash(_samba, "ATSAMR21x19", 0x2000, 4096, 64, 1, 16, 0x20004000, 0x20008000, 0x41004000, true) ;
355410
break;
356411

357412
default:

0 commit comments

Comments
 (0)