@@ -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