A clarification on the PIC16(L)F18446 PWRTS Config Bits errata found here:
https://ww1.microchip.com/downloads/en/DeviceDoc/PIC16(L)F18426-46-Family-Silicon-Errata-and-Data-Sheet-Clarification-80000799C.pdfThe Power-up Timer Selection bits, PWRTS[1:0] in Config Word 2 @ 0x8008, allow you to select a power up delay before code execution begins:
11 PWRT disabled
10 PWRT set at 64 ms
01 PWRT set at 16 ms
00 PWRT set at 1 ms
Errata item 1.6.1 states:
Bit 2 of PWRTS<1:0> in the CONFIG2 register is not functional. This bit is the upper bit of the Power-Up Timer Selection bits, PWRTS<1:0>. This means that the functions selected by PWRTS = 11 and PWRTS = 10 are not available.
The errata item states the following work around:
The other functions selected by PWRTS = 01 and PWRTS = 00 are available
But what you actually encounter is Bit 2 is stuck set, which means you can only choose PWRTS = 10 (64 ms) or PWRTS = 11 (disabled). Functionally, I have tested the startup delay is correct for both settings.
Additionally, if you choose PWRTS = 00 (1 ms) or PWRTS = 01 (16 ms), you get an error upon programming verification caused by Bit 2 being stuck set:
configuration memory
Address: 8008 Expected Value: 3ee0 Received Value: 3ee4
Failed to program device
Just leaving this here in case anyone else encounters the problem.