Lines Matching refs:MSC

82 #define ECC_CTRL_REG            (MSC->ECCCTRL)
88 #define ECC_IFC_REG (MSC->IFC)
92 #define ECC_FAULT_CTRL_REG (MSC->CTRL)
109 #define ECC_CTRL_REG (MSC->ECCCTRL)
117 #define ECC_IFC_REG (MSC->IFC)
122 #define ECC_FAULT_CTRL_REG (MSC->CTRL)
242 #define MSC_IS_LOCKED() ((MSC->STATUS & _MSC_STATUS_REGLOCK_MASK) != 0U)
244 #define MSC_IS_LOCKED() ((MSC->LOCK & _MSC_LOCK_MASK) != 0U)
344 uint32_t status = MSC->STATUS; in mscStatusWait()
410 MSC->ADDRB = address; in writeBurst()
412 if (MSC->STATUS & MSC_STATUS_INVADDR) { in writeBurst()
416 MSC->WDATA = *data++; in writeBurst()
423 MSC->WRITECMD = MSC_WRITECMD_WRITEEND; in writeBurst()
427 MSC->WDATA = *data++; in writeBurst()
431 MSC->WRITECMD = MSC_WRITECMD_WRITEEND; in writeBurst()
456 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_Init()
458 MSC->WRITECTRL_CLR = MSC_WRITECTRL_WREN; in MSC_Init()
468 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_Deinit()
470 MSC->WRITECTRL_CLR = MSC_WRITECTRL_WREN; in MSC_Deinit()
472 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_Deinit()
490 mscReadCtrl = MSC->RDATACTRL & ~MSC_RDATACTRL_DOUTBUFEN; in MSC_ExecConfigSet()
496 MSC->RDATACTRL = mscReadCtrl; in MSC_ExecConfigSet()
498 mscReadCtrl = MSC->READCTRL & ~MSC_READCTRL_DOUTBUFEN; in MSC_ExecConfigSet()
503 MSC->READCTRL = mscReadCtrl; in MSC_ExecConfigSet()
542 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_ErasePage()
544 MSC->WRITECTRL_SET = MSC_WRITECTRL_WREN; in MSC_ErasePage()
545 MSC->ADDRB = (uint32_t)startAddress; in MSC_ErasePage()
546 MSC->WRITECMD = MSC_WRITECMD_ERASEPAGE; in MSC_ErasePage()
555 MSC->WRITECTRL_CLR = MSC_WRITECTRL_WREN; in MSC_ErasePage()
558 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_ErasePage()
620 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_WriteWord()
623 MSC->WRITECTRL_SET = MSC_WRITECTRL_WREN; in MSC_WriteWord()
644 MSC->WRITECTRL_CLR = MSC_WRITECTRL_WREN; in MSC_WriteWord()
647 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_WriteWord()
663 MSC->WRITECTRL_SET = MSC_WRITECTRL_WREN; // Set write enable bit in MSC_MassErase()
664 MSC->MISCLOCKWORD_CLR = MSC_MISCLOCKWORD_MELOCKBIT; // Enable Write ctrl access in MSC_MassErase()
665 MSC->WRITECMD = MSC_WRITECMD_ERASEMAIN0; // Start Mass erase procedure in MSC_MassErase()
667 MSC->MISCLOCKWORD_SET = MSC_MISCLOCKWORD_MELOCKBIT; // Reenable mass erase lock bit in MSC_MassErase()
668 MSC->WRITECTRL_CLR = MSC_WRITECTRL_WREN; // Disable Write ctrl access in MSC_MassErase()
733 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_WriteWordDma()
735 MSC->WRITECTRL |= MSC_WRITECTRL_WREN; in MSC_WriteWordDma()
744 MSC->ADDRB = dst; in MSC_WriteWordDma()
747 if (MSC->STATUS & MSC_STATUS_INVADDR) { in MSC_WriteWordDma()
755 LDMA->CH[ch].DST = (uint32_t)&MSC->WDATA; in MSC_WriteWordDma()
766 MSC->WRITECMD = MSC_WRITECMD_WRITEEND; in MSC_WriteWordDma()
774 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_WriteWordDma()
776 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_WriteWordDma()
804 MSC->LOCK = MSC_UNLOCK_CODE; in MSC_Init()
806 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_Init()
820 MSC->TIMEBASE = (MSC->TIMEBASE & ~(_MSC_TIMEBASE_BASE_MASK in MSC_Init()
830 MSC->TIMEBASE = (MSC->TIMEBASE & ~(_MSC_TIMEBASE_BASE_MASK in MSC_Init()
845 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_Deinit()
847 MSC->LOCK = 0; in MSC_Deinit()
862 mscReadCtrl = MSC->READCTRL & _MSC_READCTRL_MODE_MASK; in MSC_ExecConfigSet()
876 mscReadCtrl = MSC->READCTRL & ~(0 in MSC_ExecConfigSet()
917 MSC->READCTRL = mscReadCtrl; in MSC_ExecConfigSet()
946 while ((MSC->STATUS & MSC_STATUS_BUSY) && (timeOut != 0)) { in MSC_LoadVerifyAddress()
955 MSC->ADDRB = (uint32_t)address; in MSC_LoadVerifyAddress()
956 MSC->WRITECMD = MSC_WRITECMD_LADDRIM; in MSC_LoadVerifyAddress()
959 if (MSC->STATUS & MSC_STATUS_INVADDR) { in MSC_LoadVerifyAddress()
995 if (!(MSC->WRITECTRL & MSC_WRITECTRL_LPWRITE)) { in MSC_LoadWriteData()
1001 while ((!(MSC->STATUS & MSC_STATUS_WDATAREADY)) && (timeOut != 0)) { in MSC_LoadWriteData()
1010 MSC->WRITECTRL &= ~MSC_WRITECTRL_WDOUBLE; in MSC_LoadWriteData()
1012 MSC->WDATA = *data++; in MSC_LoadWriteData()
1013 MSC->WRITECMD = MSC_WRITECMD_WRITEONCE; in MSC_LoadWriteData()
1018 while ((MSC->STATUS & MSC_STATUS_BUSY) && (timeOut != 0)) { in MSC_LoadWriteData()
1026 if (MSC->STATUS & MSC_STATUS_LOCKED) { in MSC_LoadWriteData()
1035 MSC->WRITECTRL |= MSC_WRITECTRL_WDOUBLE; in MSC_LoadWriteData()
1047 MSC->WDATA = *data++; in MSC_LoadWriteData()
1049 MSC->WRITECMD = MSC_WRITECMD_WRITEONCE; in MSC_LoadWriteData()
1053 MSC->WDATA = *data++; in MSC_LoadWriteData()
1054 while (!(MSC->STATUS & MSC_STATUS_WDATAREADY)) ; in MSC_LoadWriteData()
1055 MSC->WDATA = *data++; in MSC_LoadWriteData()
1057 MSC->WRITECMD = MSC_WRITECMD_WRITEONCE; in MSC_LoadWriteData()
1063 while ((MSC->STATUS & MSC_STATUS_BUSY) && (timeOut != 0)) { in MSC_LoadWriteData()
1072 if (MSC->STATUS & MSC_STATUS_LOCKED) { in MSC_LoadWriteData()
1077 MSC->ADDRB += 4; in MSC_LoadWriteData()
1078 MSC->WRITECMD = MSC_WRITECMD_LADDRIM; in MSC_LoadWriteData()
1085 MSC->WRITECTRL &= ~MSC_WRITECTRL_WDOUBLE; in MSC_LoadWriteData()
1117 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_WriteWordI()
1132 MSC->WRITECTRL |= MSC_WRITECTRL_WREN; in MSC_WriteWordI()
1147 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_WriteWordI()
1149 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_WriteWordI()
1187 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_WriteWordI()
1192 MSC->WRITECTRL &= ~MSC_WRITECTRL_WDOUBLE; in MSC_WriteWordI()
1196 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_WriteWordI()
1235 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_ErasePage()
1246 MSC->WRITECTRL |= MSC_WRITECTRL_WREN; in MSC_ErasePage()
1249 MSC->ADDRB = (uint32_t)startAddress; in MSC_ErasePage()
1250 MSC->WRITECMD = MSC_WRITECMD_LADDRIM; in MSC_ErasePage()
1253 if (MSC->STATUS & MSC_STATUS_INVADDR) { in MSC_ErasePage()
1255 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_ErasePage()
1257 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_ErasePage()
1263 MSC->WRITECMD = MSC_WRITECMD_ERASEPAGE; in MSC_ErasePage()
1266 while ((MSC->STATUS & MSC_STATUS_BUSY) && (timeOut != 0)) { in MSC_ErasePage()
1270 if (MSC->STATUS & MSC_STATUS_LOCKED) { in MSC_ErasePage()
1272 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_ErasePage()
1274 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_ErasePage()
1280 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_ErasePage()
1282 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_ErasePage()
1287 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_ErasePage()
1289 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_ErasePage()
1448 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_WriteWordDma()
1450 MSC->WRITECTRL |= MSC_WRITECTRL_WREN; in MSC_WriteWordDma()
1459 MSC->ADDRB = dst; in MSC_WriteWordDma()
1460 MSC->WRITECMD = MSC_WRITECMD_LADDRIM; in MSC_WriteWordDma()
1463 if (MSC->STATUS & MSC_STATUS_INVADDR) { in MSC_WriteWordDma()
1471 LDMA->CH[ch].DST = (uint32_t)&MSC->WDATA; in MSC_WriteWordDma()
1475 MSC->WRITECMD = MSC_WRITECMD_WRITETRIG; in MSC_WriteWordDma()
1488 MSC->WRITECMD = MSC_WRITECMD_WRITEEND; in MSC_WriteWordDma()
1491 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_WriteWordDma()
1493 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_WriteWordDma()
1506 MSC->LOCK = MSC_LOCK_LOCKKEY_UNLOCK; in MSC_MassErase()
1509 MSC->WRITECTRL |= MSC_WRITECTRL_WREN; in MSC_MassErase()
1512 MSC->MASSLOCK = MSC_MASSLOCK_LOCKKEY_UNLOCK; in MSC_MassErase()
1515 MSC->WRITECMD = MSC_WRITECMD_ERASEMAIN0; in MSC_MassErase()
1518 while ((MSC->STATUS & MSC_STATUS_BUSY) != 0U) { in MSC_MassErase()
1523 MSC->WRITECMD = MSC_WRITECMD_ERASEMAIN1; in MSC_MassErase()
1526 while ((MSC->STATUS & MSC_STATUS_BUSY) != 0U) { in MSC_MassErase()
1531 MSC->MASSLOCK = MSC_MASSLOCK_LOCKKEY_LOCK; in MSC_MassErase()
1534 MSC->WRITECTRL &= ~MSC_WRITECTRL_WREN; in MSC_MassErase()
1537 MSC->LOCK = MSC_LOCK_LOCKKEY_LOCK; in MSC_MassErase()