BOM
  • BOM
  • Email
  • LinkedIn
  • Teams
  • WhatsApp

RFQ List

0 Products

Use the + button to add products to your RFQ list.

SUBMIT NOW
  • Home
  • RFQ/EI
  • Products
  • Categories
  • Manufacturers
  • Tools
  • Blog
  • About Us
  • Contact Us

Company

  • About Us
  • Five Strengths
  • Quality Control
  • Certifications
  • Contact Us

Services

  • RFQ
  • EI
  • BOM
  • Solutions
  • Tools

Resources

  • Categories
  • Products
  • Manufacturers
  • Blog
  • News and Events

Legal

  • Privacy Policies
  • Terms of Sale
  • Cookies, Ads & Emails
  • Payment Policy
  • Shipping & Delivery
  • Refund & Return Policy

Contact

[email protected]

Get the latest tech insights

© 2026 YG GROUP (YUGUANG INTERNATIONAL(HK)CO.,LTD). All rights reserved.

Home/Blog/Applications & Solutions/S9S12G128AMLF CAN and LIN: Pins, Timing and Wake-Up
Applications & Solutions
NEW
Share to:

S9S12G128AMLF CAN and LIN: Pins, Timing and Wake-Up

Plan a 48-pin S9S12G128AMLF body node around its shared CAN/SCI2 pins. Work through a CAN timing example, LIN software duties, wake-up behavior and four related devices before committing the board.

Zoey Zhou
Sep 24, 2026

Top Related Product

Recommended for this topic.

Part number

S9S12G128AMLF

Stock4,150
S9S12G128AMLF

S9S12G128AMLF

Manufacturer
NXP
Category
Interface ICs
Details
Request a Quote

Receive availability and pricing within 24 hours.

QuantityS9S12G128AMLF
Country
OverviewRelated ProductsFAQ

Related Products5

PicturePart NumberManufacturerStockAction
S9S12G128AMLF
S9S12G128AMLFNXP4,150
RFQ
S9S12G96AMLF
S9S12G96AMLFNXP4,890
RFQ
S9S12G64AMLF
S9S12G64AMLFNXP1,690
RFQ
S9S12GA128AMLF
S9S12GA128AMLFNXP1,480
RFQ
S9S12G240F0MLF
S9S12G240F0MLFNXP1,810
RFQ

Frequently Asked Questions

1. What is S9S12G128AMLF used for in an automotive body node?

S9S12G128AMLF is an NXP S12G128 microcontroller with 128KB Flash, 8KB RAM and 4KB EEPROM in a 48-pin LQFP package. It can be evaluated for a low-voltage body node that handles classic CAN, LIN-related serial communication and local inputs or outputs. The application needs suitable external transceivers and load drivers. Its suitability depends on the actual pin allocation, software workload, operating conditions and validation of the assembled node.

2. Can this 48-pin device use CAN and all three SCI interfaces independently at once?

No. On the 48-pin G128 pinout, PM0 at pin 47 is shared between RXCAN and RXD2, while PM1 at pin 48 is shared between TXCAN and TXD2. CAN and SCI2 therefore cannot provide separate simultaneous links on those pads. One practical allocation uses CAN on pins 47/48, SCI0 on pins 39/40 for LIN and SCI1 on pins 41/42 for a service UART. Additional transceiver control signals still need pins.

3. Are CAN and LIN transceivers built into S9S12G128AMLF?

The MCU provides the controller or serial-interface logic used by the communication system. External transceivers provide the CAN or LIN physical bus interface. RXCAN/TXCAN and SCI receive/transmit pins should not be treated as direct CANH/CANL or vehicle LIN-bus connections. Check the transceiver's logic compatibility, enable and standby behavior, protection needs and wake-up arrangement as part of the board design. The SCI's LIN support does not replace the required software protocol handling.

S9S12G128AMLF: Fit CAN and LIN into a 48-Pin Body Node

By Zoey Zhou

S9S12G128AMLF is an NXP S12G128 microcontroller with 128KB of Flash, 8KB of RAM and 4KB of EEPROM, in a 48-pin LQFP package. It is a candidate for a body-control node that combines classic CAN communication, a LIN connection and local sensing or control. The first design decision is pin allocation: CAN and SCI2 share the same two package pins. A practical arrangement uses CAN for the vehicle network, SCI0 for LIN and SCI1 for a service interface, with external transceivers handling the bus electrical signals.

Decide whether the job fits before counting interfaces

A door module, a small comfort controller or a local actuator coordinator needs more than enough code space. It must respond to messages while reading switches, updating outputs and managing sleep. Those activities compete for pins, processor time and buffering. The S12G128 feature list gives a useful set of resources, but the 48-pin package determines which combinations reach the board.

For this device, settle the simultaneous pin assignments before treating Flash capacity as the deciding specification. That is particularly useful when a design brief casually asks for CAN, several serial devices and an extra debug port. A late discovery that two functions share a pad can force a connector change or remove an interface that the firmware team already expects.

The S12G family reference manual provides the technical basis for this discussion. NXP's official product-change notice also lists the complete S9S12G128AMLF ordering number. That confirms the exact identity appears in the manufacturer's records; it does not establish a supplier's present stock, the mask marking of an offered batch or a guaranteed delivery date.

*Figure 1. Example 48-pin architecture: CAN uses PM0/47 and PM1/48; LIN uses SCI0 on pins 39/40; service access uses SCI1 on pins 41/42. External transceivers provide the bus physical interfaces. Power, protection, termination and control lines are omitted for clarity. The diagram is an engineering allocation example, not a tested customer design. Basis: MC9S12GRMV1 §1.8.6.1, §18.2 and §20.4.5.5; illustration by YG GROUP.* *Figure 2. Calculated example using an 8MHz CAN clock and prescaler two: each quantum lasts 250ns, eight quanta produce a 2µs bit, and the sample point is at 1.5µs, or 75%. Segment widths are drawn to scale. This is a timing model, not an oscilloscope trace; propagation delay, jitter and network margin are not evaluated. Basis: MC9S12GRMV1 Figure 18-44 and Table 18-37; chart by YG GROUP.*

4. Does the S12G128 MSCAN module support CAN FD?

The reference manual specifies classic CAN 2.0A/B with standard or extended identifiers and data fields up to eight bytes. That is not CAN FD. If the network requires CAN FD payloads or its data-phase behavior, the controller requirement must change or additional hardware must be evaluated. Also verify the selected clock, time segments and physical interface for the intended classic CAN rate; a nominal rate in a configuration file is not a complete link validation.

5. Will the CAN frame that wakes the controller be available to the application?

The manual states that MSCAN synchronizes after wake-up and does not receive the frame used to wake it. Design the network and application so useful data arrives after the necessary recovery. Test activity around sleep entry as well as after a settled sleep state. Review the actual device mask and applicable errata when implementing SCI wake-up and clock transitions. The MCU's wake indication alone does not prove that the intended application command was received.

6. Which related models should be compared before changing the design?

S9S12G96AMLF reduces Flash and EEPROM while retaining 8KB RAM. S9S12G64AMLF reduces memory and some peripheral resources. S9S12GA128AMLF offers a 12-bit ADC rather than the G128's 10-bit ADC. S9S12G240F0MLF adds Flash and RAM capacity. Choose the comparison that addresses a measured constraint, then review exact pins, memory mapping, drivers and mask behavior. These are four distinct candidates, not a promise of drop-in compatibility or current availability.

Sources: NXP MC9S12GRMV1 Rev.1.28, Table 1-1 and Appendix C; NXP PCN202504008I.

Table 1. Resources to carry into a body-node design review

ItemApplicable device informationWhat the design must still decide
Processor and clockS12 16-bit core; bus frequency up to 25MHz under the electrical specificationExecution time for the actual control and communication workload
Program and working memory128KB Flash and 8KB RAMRelease-image size, stack margin and communication buffers
Persistent storage4KB EEPROMRecord format, update policy and interrupted-write handling
Network peripheralsOne MSCAN; three SCI modules on the G128 deviceWhich interfaces are available together on 48 pins
Analog inputsG128 has a 10-bit ADC, with twelve channels available in this packageSensor conditioning, reference quality and usable accuracy
Package and temperatureLF denotes 48-pin LQFP; M denotes −40°C to +125°C ambient operationBoard fit and junction temperature under the real thermal conditions
Supply rangeGeneral VDD35 operating range is 3.13V to 5.5VApplicable I/O, analog and regulator conditions at the chosen rail

Source: NXP MC9S12GRMV1 Rev.1.28, Tables 1-1, 1-2 and A-4, and Appendix C. Peripheral totals are subject to device selection and pin multiplexing; the table does not promise simultaneous access to every listed function.

For an established S12 software platform, this combination can be attractive because the node can keep code, working state and persistent settings on the MCU. That benefit has a condition: the application must fit both the memory budget and the service deadlines. It is a poor choice to make solely because a previous product used a related S12 part.

The automotive application here is a low-voltage body-control node. The MCU does not directly switch a window motor, connect its logic pins to a battery bus or replace a power driver. Those functions need their own interface and protection circuitry. An electric vehicle still needs body electronics, but that context does not turn this controller into a high-voltage traction-control device.

Allocate CAN, LIN and service access on the actual package

The most consequential detail is easy to miss in a family overview. On the 48-pin S12G128, PM0 at pin 47 carries either RXD2 or RXCAN, and PM1 at pin 48 carries either TXD2 or TXCAN. The device has SCI2 internally, yet those pads cannot provide an independent SCI2 link while they are serving CAN. Source: reference manual §1.8.6.1, Figure 1-15 and Table 1-20.

SCI0 and SCI1 give the board a useful way around that conflict. SCI0 uses PS0/RXD0 at pin 39 and PS1/TXD0 at pin 40. SCI1 uses PS2/RXD1 at pin 41 and PS3/TXD1 at pin 42. Assigning LIN to SCI0 and a service UART to SCI1 leaves the shared PM0/PM1 pair available for CAN.

Table 2. One feasible communication allocation for the 48-pin device

Board functionMCU function and package pinsExternal connectionConsequence for other uses
Classic CAN linkRXCAN on PM0/47; TXCAN on PM1/48Compatible CAN transceiver, then CANH/CANLSCI2 cannot be a separate simultaneous link on these pads
LIN connectionRXD0 on PS0/39; TXD0 on PS1/40LIN transceiver with the required control and wake behaviorSCI0 is committed to the LIN implementation
Service UARTRXD1 on PS2/41; TXD1 on PS3/42Appropriate service-interface circuitrySCI1 is unavailable for a second unrelated serial device
Programming and debugBKGD on pin 12, with the required reset and reference connectionsBoard programming/debug accessPreserve access during enclosure and connector design
SPI1 expansionPJ0/8, PJ1/9, PJ2/10 and PJ3/11Selected serial peripheralOverlaps PWM6, PWM7 and timer-channel functions on these pins

Source: MC9S12GRMV1, Figure 1-15 and Table 1-20. This is an example allocation, not a complete schematic or an NXP reference-board pin assignment. Transceiver enable, standby, fault and wake signals require additional planning.

Leave room for the pins that do not carry payload data

A communication interface often needs more than its transmit and receive signals. A transceiver may have enable, standby or fault outputs. A service connector may need an entry-mode input. An external driver may need a diagnostic return. These are easy to omit from an early interface count because they do not appear in a message diagram.

Write each one into the same pin budget as CAN and LIN. Also reserve the sensor inputs, actuator control signals, programming access and any required external clock pins. The resulting list should show who uses each signal and which function occupies each shared pin. When someone requests another interface, the team can then see whether it fits or requires a board change.

illustration

The larger package options deserve attention only if they solve a defined problem. The reference manual gives different pinouts for 64- and 100-pin devices. A design that needs more independent communication or timer access may benefit from that space, but it changes the package and board. Copying assignments from a larger evaluation board into a 48-pin design defeats the purpose of doing the allocation early.

Give classic CAN an explicit timing and buffering budget

MSCAN supports classic CAN 2.0A/B, including standard and extended identifiers and data fields up to eight bytes. It is not a CAN FD controller. The module provides three transmit buffers and a five-stage receive FIFO. Those resources reduce the urgency of some CPU interactions, but they do not eliminate the need to service messages on time. Source: reference manual §18.1 and §18.4.2.

Start the bit-timing calculation with the clock actually selected for CAN. The module can use the oscillator or bus clock through its clock-source selection. The manual discusses oscillator tolerance and PLL jitter, and recommends attention to the clock source, particularly at higher CAN rates. A firmware constant labelled “500k” is not enough evidence that the physical bus timing is correct.

A worked timing example with stated assumptions

Assume an 8MHz CAN clock, a prescaler of two, single sampling and an eight-time-quantum bit. The time quantum is 2 / 8MHz, or 250ns. One synchronization quantum, five quanta in time segment 1 and two in time segment 2 produce a 2µs bit time, corresponding to 500kbit/s. The sample point is after six of the eight quanta, or 75% of the bit.

The segment combination is within the manual's Table 18-37 choices, with a one-quantum synchronization jump width. This is a transparent calculation example. It has not been validated for a particular harness, transceiver delay, oscillator tolerance or network requirement, and 75% is not presented as the preferred sample point for every vehicle network.

Table 3. Assumptions and results for the illustrative CAN calculation

QuantityExample valueCalculation or interpretation
Selected CAN clock8MHzAssumed source frequency, not the maximum bus frequency
PrescalerTwoTime quantum = 2 / 8MHz = 250ns
Synchronization segmentOne quantumFixed segment at the start of the bit
Time segment 1Five quantaCombined propagation and first phase segment in this example
Time segment 2Two quantaRemaining phase segment after the sample point
Bit time and rateEight quanta; 2µs; 500kbit/s8 × 250ns; reciprocal gives nominal bit rate
Sample point and jump width75%; one quantumSample after 1 + 5 quanta; selected jump width must fit the segment rules

Source: MC9S12GRMV1 §18.3.2.3–18.3.2.4 and §18.4.3.2, especially Figure 18-44 and Table 18-37. Values are an illustrative configuration calculation, not measured communication performance or a universal register recipe.

illustration

Keep the clock selection and segment settings together in the configuration record. Register fields encode values rather than simply accepting the displayed physical quantities: for example, the prescaler encoding is offset from its divisor. Writing a value from a diagram directly into a register is an avoidable mistake. Review the field definitions when implementing the final network-approved timing.

Use filtering to protect useful CPU time

The receive FIFO stores accepted messages. If it fills and another valid, accepted message arrives, the new message is discarded and an overrun indication can be raised. A node that only needs a handful of identifiers should therefore use acceptance filtering deliberately. Accepting every frame during development can conceal a workload that becomes troublesome on a populated vehicle network.

Keep the receive handler short enough to release buffers promptly, then perform application processing in the appropriate scheduled context. Record overflow events instead of allowing them to disappear inside an otherwise successful demonstration. A window-control command that arrives late is a different failure from a missing diagnostic response, so the software should preserve enough context to distinguish them.

The three transmit buffers also need a policy. MSCAN has local priorities for choosing among pending buffers; the CAN identifier determines arbitration on the network. Those two decisions must agree with the application's intent. Filling all three slots with low-urgency telemetry can complicate the arrival of an urgent state update, even though the controller advertises multiple buffers.

Treat SCI hardware as one part of the LIN implementation

The SCI includes features that support LIN, notably break detection, transmit-collision detection and cancellation of pending transmission. These are useful because they give software direct evidence about the serial exchange. They do not provide the complete application schedule, message interpretation or external LIN electrical interface. Source: reference manual §20.4.2 and §20.4.5.5.

Define the node's role before writing its driver. A node responsible for issuing a schedule has different timing work from one responding to assigned communication. In either case, decide how the software handles incomplete messages, unexpected data and timeouts. An apparently clean UART byte stream can still be an incorrect application transaction.

The SCI baud rate is derived from the bus clock with an integer divider. With infrared mode disabled, the relationship is the SCI bus clock divided by sixteen times the selected divisor. The manual's 25MHz example uses a divisor of 81 for a nominal 19,200baud target, giving approximately 19,290.1baud, an error of about +0.47%. That arithmetic matters when checking the combined tolerance of the communicating nodes; it is not by itself a statement that a LIN network passes its timing requirements. Source: §20.4.4, Table 20-16.

Separate an empty data register from a completed transmission

Two SCI flags answer different questions. TDRE indicates that the transmit data register can accept another byte. During normal transmission, TC indicates completion of the required final bits with no queued transmission remaining. A collision abort also sets TC, so software must check collision status before treating it as a successful LIN exchange. A routine that changes the external transceiver state must use the condition appropriate to that action. Available buffer space alone does not prove that the wire is idle.

The same care applies to receiving. If software fails to read the data register before the next received frame needs it, an overrun occurs. Long diagnostic formatting routines or blocking EEPROM work should not be allowed to consume the serial service window unnoticed. Give the driver a bounded job and let the rest of the application work with a clear message result.

Collision handling also needs an explicit recovery path. When the enabled SCI collision detector sees a mismatch, transmission is aborted and the error flag prevents further transmissions until handled. Merely logging an error while continuing to queue bytes does not restore communication. The driver should clear the relevant condition in the documented sequence and let the higher-level policy decide whether and when to retry.

Design sleep around the first useful message after wake-up

A body node may spend much of its life waiting, so sleep behavior can matter more than peak execution speed. The useful question is what the complete board does when a message arrives during a transition. The MCU, transceiver and application state machine must agree on who detects activity, which clock resumes and when a command becomes valid.

Do not assume the CAN frame that wakes MSCAN is delivered to the application. The manual states that after wake-up the controller waits for eleven consecutive recessive bits to synchronize, and that a frame used to wake it is not received. A network design must provide the subsequent opportunity to deliver useful data. This affects how the application handles the first requested action after inactivity. Source: reference manual §18.4.5.5.

Entering a reduced-power state also requires coordination. MSCAN's sleep request and acknowledgment allow software to wait for the appropriate state. The manual warns that entering power-down while a transfer is active can disrupt communication. Build the sequence around its documented handshakes, and consider what happens to queued application messages while the controller is asleep.

Mask-specific behavior belongs in the same review. NXP's published errata for masks 0N51A and 0N42V include an SCI receive-edge issue near entry to STOP and a clock-configuration reset issue. Identify the actual device mask before deciding applicability. For an affected implementation, incorporate the documented workaround and exercise the transition in testing; do not infer the mask solely from an abbreviated sales description. Source: NXP mask-set errata, July 18, 2017.

A useful wake-up test varies the arrival time around the sleep boundary and records both the electrical event and the first accepted application message. Also test an input that remains active instead of producing a convenient second edge. This reveals whether a successful demonstration depended on repeated traffic that the real use case does not guarantee.

Make the power and software budgets agree with the node

The general operating table gives a 3.13V to 5.5V range for the relevant supply domain. Individual electrical tables have narrower conditions: the 3.3V I/O table, for example, specifies 3.15V to 3.6V. Choose a rail and check the applicable tables rather than treating the broad operating range as an identical guarantee for every parameter. Source: reference manual §A.1.7 and §A.2.

The M temperature option allows ambient operation up to +125°C, with a separate maximum junction temperature of +150°C in the operating table. Those are different limits. Heat from nearby power devices and the board's thermal conditions affects the MCU's junction temperature even if its own load seems modest. A placement decision beside an actuator driver deserves a thermal review of the assembled node.

On the 48-pin package, some supply functions share pins. The pinout identifies VDDXR and the combined VDDA/VRH connection. The TEST pin must be grounded. Use the actual package drawing and supply description when laying out decoupling and references; a generic symbol copied from another package can hide a connection that matters to startup or analog measurements.

Keep memory headroom tied to observable use

Eight kilobytes of RAM is a concrete resource, not a reason to assume all small control applications fit. Count static data, stack usage, queues and diagnostic buffers. A compact payload can acquire substantial overhead once timestamps, identifiers, state and software bookkeeping are included. Measure stack and queue high-water marks under stressful traffic and error recovery, rather than relying only on an idle demonstration.

The 4KB EEPROM is useful for calibration and persistent settings when its update policy is deliberate. Distinguish a value that changes at every communication cycle from one that only needs saving after a meaningful state change. Define what the application considers a valid record after interrupted power. Those decisions belong in the storage design before production code begins writing frequently.

Program-memory usage should be checked on the release build, including diagnostics and any update or recovery facilities the product actually needs. A debug build that barely fits does not establish a maintenance margin. Conversely, a larger-memory device adds little value if the real problem is a blocked receive handler or a missing interface pin.

Compare four nearby devices against the actual constraint

The most useful alternatives change a resource you need to change. Four distinct S12G-family models provide a focused comparison: one reduces Flash while retaining working memory, one reduces both, one changes ADC resolution and one adds code and RAM capacity. Their complete ordering numbers appear in NXP's official PCN record, while the family comparison table supplies the resource differences.

Table 4. Four related models and the reason to evaluate each

Exact modelMemory or peripheral differenceWhen the comparison helpsWhat still needs review
S9S12G96AMLF96KB Flash, 8KB RAM and 3KB EEPROMA measured application needs less code storageLinker layout, persistent-data budget, mask and software configuration
S9S12G64AMLF64KB Flash, 4KB RAM and 2KB EEPROM; fewer SCI resources than G128A smaller node can use a reduced resource setBuffer and stack margin, actual interfaces and pin assignments
S9S12GA128AMLF128KB Flash, 8KB RAM and 4KB EEPROM, with a 12-bit ADCADC resolution is a relevant selection constraintADC driver, acquisition conditions and system accuracy
S9S12G240F0MLF240KB Flash, 11KB RAM and 4KB EEPROMCode or working-memory headroom is the measured bottleneckMemory mapping, firmware migration, exact pins and mask-specific behavior

Sources: NXP MC9S12GRMV1 Table 1-1 and Appendix C; NXP PCN202504008I exact-model list. All four are NXP comparison candidates. Shared family and package codes do not establish a validated drop-in replacement, present availability or an approved migration.

The G96 is interesting when Flash capacity is the only significant excess. It retains the G128's RAM capacity, but its smaller EEPROM still needs attention. The G64 requires a wider review because working memory and peripheral resources shrink too. It is more useful to ask whether the smaller application's measured behavior fits than to estimate compatibility from the common family name.

The GA128 offers a different selection argument. A 12-bit converter provides more output codes than the G128's 10-bit converter, but usable accuracy still depends on the input network, reference and acquisition conditions. Choose it because the analog design benefits from the change, and budget for the corresponding software and validation work.

The G240 offers additional code and RAM space. That can help a growing diagnostic or communication workload, but it does not automatically solve a pin conflict. Recheck the exact package's connections and the complete application configuration. A larger memory figure should answer a measured shortage, not become a substitute for understanding why the current node misses a deadline.

Validate the combination that the product will actually run

A board that exchanges one CAN frame and one LIN message has demonstrated useful progress. It has not yet shown that the two interfaces coexist with control outputs, diagnostics, storage updates and low-power transitions. Build the acceptance work around those combinations, since that is where the resource decisions become visible.

Table 5. Tests that connect device features to body-node behavior

Test scenarioConditions to exerciseEvidence to collectDesign question answered
Pin allocation and startupReset, programming access and peripheral enablesActual pad functions and output statesDoes the assembled board match the planned interface ownership?
Concurrent communicationRequired CAN traffic, LIN activity and service accessReceive overruns, queue depth and response timesCan the software service the intended combination?
Timing and physical interfaceSelected clock, transceivers and representative wiringBit timing and error behavior under defined conditionsDoes the complete link meet the network's requirements?
Sleep and wake transitionsActivity before, during and after sleep entryWake source, recovery sequence and first valid messageIs the first useful command handled as intended?
Power and persistent dataRequired supply transitions and interrupted updatesReset behavior, valid records and restart stateDoes the node recover with defined application state?

YG GROUP's proposed validation work, based on the manual sections cited above. No measurements, customer results, vehicle qualification or functional-safety approval are claimed.

Keep the test configuration with the results: software revision, clock choice, exact device identity, transceiver setup and relevant traffic pattern. A failure under heavy traffic should lead back to a specific buffer or timing decision. A failure near sleep entry should lead back to the wake sequence and applicable mask behavior. This makes the results useful to the next hardware or software revision.

S9S12G128AMLF earns its place when the node can use its on-chip memory and classic communication resources within a clear 48-pin allocation. For the example here, CAN plus one LIN connection and one service UART is a coherent starting point. Confirm that arrangement, budget the work around it, and validate the transitions as carefully as steady communication. The resulting design argument is much stronger than a list of peripheral counts.

References

  • NXP. MC9S12G Family Reference Manual, MC9S12GRMV1 Rev.1.28. Technical analysis uses the user-supplied December 7, 2020 revision and the relevant complete sections recorded in this article's Plan: device overview and G128 pinouts, MSCAN, SCI, electrical conditions and ordering information.
  • NXP. PCN202504008I: Freescale-to-NXP product-marking conversion and affected ordering numbers. Used to verify the main and four related ordering numbers, not to infer stock or lot identity.
  • NXP. MC9S12G128/MC9S12G96 mask-set errata for 0N51A and 0N42V, July 18, 2017. Applicability requires identification of the actual supplied mask.