Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
9391e05
Derive Copy on the metadata types
CordlessCoder Jul 28, 2026
c481f38
Expose memory regions and NVIC priority bits
CordlessCoder Jul 28, 2026
9e15e5b
Link peripherals to their interrupts
CordlessCoder Jul 28, 2026
a5568ba
Add wake-capable IO metadata
CordlessCoder Jul 28, 2026
56bc817
Add backup-domain flag and RTC variant
CordlessCoder Jul 28, 2026
3112d5a
Add chip-level clock ceilings
CordlessCoder Jul 28, 2026
7fc32b1
Read CLKCFG.BLOCKASYNC from the SVDs
CordlessCoder Jul 28, 2026
fe8d79a
Add operating-mode data from the datasheet tables
CordlessCoder Jul 28, 2026
f91cc2c
Simplify comments
CordlessCoder Jul 29, 2026
f01abfa
Report every failing verify check
CordlessCoder Jul 29, 2026
f51c362
Distinguish unknown wake-capable pins from none
CordlessCoder Jul 29, 2026
a43f333
Read retention separately for STOP and STANDBY
CordlessCoder Jul 29, 2026
ba68745
Simplify comments some more
CordlessCoder Jul 29, 2026
d63bb5f
Improve the operating mode extraction script
CordlessCoder Jul 30, 2026
080ee4b
Merge branch 'master' into low-power-metadata
CordlessCoder Aug 1, 2026
eacde3b
Add low-power metadata to FactoryRegion
CordlessCoder Aug 1, 2026
382732c
Clarify todo comment
CordlessCoder Aug 1, 2026
d04c1e4
Correct which binary owns the perimap
CordlessCoder Aug 4, 2026
e4cffc2
Fix software BOOTRST encoding on sysctl_l110x_l130x_l134x
CordlessCoder Aug 4, 2026
15cbf30
Fix three C-series SYSCTL field offsets
CordlessCoder Aug 4, 2026
4722c4d
Add a SYSCTL block for MSPM0C1105/C1106
CordlessCoder Aug 4, 2026
c88bb15
Add a download-docs command to ./d
CordlessCoder Aug 4, 2026
37f51d6
Add a timer capability extractor
CordlessCoder Aug 4, 2026
6e15b47
Add the extracted timer data
CordlessCoder Aug 4, 2026
3186cb7
Add a wake-up time extractor
CordlessCoder Aug 4, 2026
706def4
Add the extracted wake-up times
CordlessCoder Aug 4, 2026
2b04ecd
Add an errata extractor
CordlessCoder Aug 4, 2026
886f425
Add the extracted errata
CordlessCoder Aug 4, 2026
aa2fc3b
Add low-power, clock and timer metadata
CordlessCoder Aug 4, 2026
623c141
Document the new data sources
CordlessCoder Aug 4, 2026
3e43c6c
Cross-check timer channel counts against sysconfig
CordlessCoder Aug 4, 2026
5901d4b
Let a peripheral have more than one interrupt
CordlessCoder Aug 4, 2026
305bb52
Make the SYSCTL blocks agree on how shared fields are typed
CordlessCoder Aug 4, 2026
95936d1
Stop claiming a device without a SYSPLL has no HSCLK mux
CordlessCoder Aug 4, 2026
c69fa47
Take NVIC_PRIO_BITS from the chip
CordlessCoder Aug 8, 2026
147b442
Generate the VREF register block
CordlessCoder Aug 8, 2026
0987114
Give TIMB its own register block
CordlessCoder Aug 8, 2026
a3d9e10
Widen the basic timer's counter array to eight
CordlessCoder Aug 8, 2026
609ac0c
Say how many counters a timer instance has
CordlessCoder Aug 8, 2026
d2c35d7
Add the UNICOMM wrapper and its per-instance modes
CordlessCoder Aug 8, 2026
e612b67
Make each UNICOMM mode a peripheral of its own
CordlessCoder Aug 8, 2026
f94ee80
Add the UNICOMM I2C controller map
CordlessCoder Aug 8, 2026
15bc5e5
Add the UNICOMM UART map
CordlessCoder Aug 8, 2026
7f33dec
Add the UNICOMM SPI map
CordlessCoder Aug 8, 2026
81b633f
Add the UNICOMM I2C target map
CordlessCoder Aug 8, 2026
c0c780e
Finish the cleanup of the UNICOMM mode maps
CordlessCoder Aug 8, 2026
66a4527
Build the generated chips in parallel
CordlessCoder Aug 8, 2026
ff6c69b
Share one jobserver between the check shards
CordlessCoder Aug 8, 2026
2b8440f
cpuss: widen the interrupt group's MIS, ISET and ICLR to 8 bits
CordlessCoder Aug 8, 2026
385d7c4
cpuss: drop the enums which say nothing
CordlessCoder Aug 8, 2026
05c84dc
tim: index the capture/compare events, share one interrupt fieldset
CordlessCoder Aug 8, 2026
03ef82e
gpio: address the generic event masks by absolute DIO number
CordlessCoder Aug 8, 2026
237c6ef
gpio: share one fieldset for the per-DIO masks
CordlessCoder Aug 8, 2026
6c3fb85
uart, i2c: array the LIN capture interrupts, share the controller and…
CordlessCoder Aug 8, 2026
3ae0b80
adc: array the sample time compares, drop two enums which name no choice
CordlessCoder Aug 8, 2026
48ee197
canfd: drop the block name from the ECC and subsystem register names
CordlessCoder Aug 8, 2026
8c0b7de
canfd: share the repeated ECC and subsystem fieldsets
CordlessCoder Aug 8, 2026
651fa04
sysctl: share one fieldset for the flash protection boundaries
CordlessCoder Aug 8, 2026
a949a63
mathacl: read the operands and results as plain words
CordlessCoder Aug 8, 2026
81adfbc
flashctl, wwdt, beeper, unicomm uart: array the pairs, drop the enums…
CordlessCoder Aug 8, 2026
01b535c
registers: move the evidence for SVD deviations out of the YAML
CordlessCoder Aug 8, 2026
1b3a1a3
metapac-gen: only read .yaml out of data/registers
CordlessCoder Aug 8, 2026
29ff5b6
registers: say which blocks the transforms do not reproduce
CordlessCoder Aug 8, 2026
4372752
transforms: encode the sysctl bit and enum corrections
CordlessCoder Aug 8, 2026
662f030
registers: fingerprint the generated Rust, not the YAML
CordlessCoder Aug 8, 2026
a21e4d3
metapac-gen: format generated code with prettyplease
CordlessCoder Aug 9, 2026
41657db
verify: a version must name a register block that exists
CordlessCoder Aug 9, 2026
571abaf
beeper: finish splitting it out of SYSCTL
CordlessCoder Aug 9, 2026
78a1309
power domains: state the corrections once, per series
CordlessCoder Aug 9, 2026
87b7ac7
data-gen: one reader for the per-family data directories
CordlessCoder Aug 9, 2026
57e8f6b
data-gen: table-drive the peripheral type prefixes
CordlessCoder Aug 9, 2026
47ed523
data-gen: gather the sources into one struct
CordlessCoder Aug 9, 2026
0701a2a
metapac-gen: build the metadata literal with quote!
CordlessCoder Aug 9, 2026
17a6c0c
data-gen: clear the dead code and answer the stale TODOs
CordlessCoder Aug 9, 2026
01cd736
vref: expose all three READY bits
CordlessCoder Aug 9, 2026
39a3eae
tools: extract the VREF startup time from the datasheets
CordlessCoder Aug 9, 2026
ef43b71
vref: carry the startup time through to the PAC metadata
CordlessCoder Aug 9, 2026
ab710d7
docs: list the VREF extraction alongside the other datasheet tools
CordlessCoder Aug 9, 2026
5124368
operating modes: report the STOP and STANDBY sub-mode
CordlessCoder Aug 10, 2026
ed461a7
registers: tighten the prose
CordlessCoder Aug 10, 2026
4d6741c
docs: replace the stale clocktree justification
CordlessCoder Aug 10, 2026
27ac0c2
tools: extract the ADC internal channels from the datasheets
CordlessCoder Aug 10, 2026
755d87c
adc: carry the internal channels through to the PAC metadata
CordlessCoder Aug 10, 2026
05f6a00
docs: list the ADC channel extraction alongside the other datasheet t…
CordlessCoder Aug 10, 2026
9711567
metapac-gen: rustfmt main.rs
CordlessCoder Aug 10, 2026
e090000
uart: extract the extended-feature table from the datasheets
CordlessCoder Aug 10, 2026
fbe2828
uart: carry the extended features through to the PAC metadata
CordlessCoder Aug 10, 2026
be6e5e3
registers: EXCLKSRC position 3 is MFPCLK on the C series too
CordlessCoder Aug 10, 2026
7380a36
registers: split the G518x SYSCTL from the block it borrowed
CordlessCoder Aug 10, 2026
f33ab04
docs: list the UART extraction alongside the other datasheet tools
CordlessCoder Aug 10, 2026
c4d7373
registers: add the COMP and CRC blocks
CordlessCoder Aug 10, 2026
96b2a0c
vref: record whether the reference drives the VREF+ pin
CordlessCoder Aug 10, 2026
335808a
opa: curate the input-mux maps from the datasheets
CordlessCoder Aug 10, 2026
db143d9
opa: carry the mux maps and VREF pin output through to the PAC metadata
CordlessCoder Aug 10, 2026
526c22b
docs: list the OPA mux curation alongside the other data sources
CordlessCoder Aug 10, 2026
60d3cbf
comp: record which instances implement the REFSRC internal-reference …
CordlessCoder Aug 10, 2026
46c4697
comp: extract the timing figures from the datasheets
CordlessCoder Aug 10, 2026
802dd9e
comp: carry the timing figures through to the PAC metadata
CordlessCoder Aug 10, 2026
ce681e6
docs: list the comparator timing extraction alongside the other data …
CordlessCoder Aug 10, 2026
564e375
flash: record the geometry and protection layout in the PAC metadata
CordlessCoder Aug 10, 2026
41f067a
docs: list the flash geometry sources
CordlessCoder Aug 10, 2026
dc63015
flash: word_bytes is the widest program command, not the flash word
CordlessCoder Aug 10, 2026
26d7c0b
registers: record the CMDCTL verify-bit documentation split
CordlessCoder Aug 10, 2026
ce0d060
sysctl: record whether the BOR warning thresholds exist
CordlessCoder Aug 11, 2026
64d9b56
dma: record whether the 128-bit transfer width exists
CordlessCoder Aug 11, 2026
b46ed97
flash: correct the HeaderFlash datawidth doc
CordlessCoder Aug 11, 2026
e5ff0a3
dma: give the transfer width its third bit, and record automatic enable
CordlessCoder Aug 11, 2026
18d6a26
gpio: record which IO structure each pin is
CordlessCoder Aug 11, 2026
9a8c4f1
gpio: state how much of the IO structure data the datasheets cover
CordlessCoder Aug 11, 2026
fc3fc14
temp_sensor: extract the conversion constants from the datasheets
CordlessCoder Aug 11, 2026
4126d08
temp_sensor: carry the conversion constants through to the PAC metadata
CordlessCoder Aug 11, 2026
d3032a9
temp_sensor: say which of the constants fails quietly
CordlessCoder Aug 11, 2026
b809a9b
dma: record which devices implement stride addressing
CordlessCoder Aug 13, 2026
fe7482f
dma: record gather mode, which is not the same as extended mode
CordlessCoder Aug 13, 2026
890f929
adc: record how long the ADC needs to wake from power-down
CordlessCoder Aug 13, 2026
3cceb3b
registers: correct the DMA INT_EVENT array stride
CordlessCoder Aug 17, 2026
51161a1
sysctl: BLOCKASYNC comes from the peripheral's own CLKCFG
CordlessCoder Aug 17, 2026
0e6170c
adc: record the minimum sample window, bare pin and per OPA gain
CordlessCoder Aug 21, 2026
d665320
adc: record the sample window each internal channel needs
CordlessCoder Aug 24, 2026
2e9ea23
parts: correct the MSPM0G1507 flash size
CordlessCoder Aug 26, 2026
42607cd
tools: check part memory sizes against the datasheets
CordlessCoder Aug 26, 2026
68b6c41
dac: add the DAC12 register block
CordlessCoder Aug 26, 2026
10bb1ab
verify: report a peripheral with no register block
CordlessCoder Aug 26, 2026
d66f388
generate: report a package sysconfig has no pinout for
CordlessCoder Aug 26, 2026
b497626
spi: add the legacy SPI register block
CordlessCoder Aug 26, 2026
e252c86
perimap: settle what the RTC split actually is
CordlessCoder Aug 26, 2026
ae5608f
verify: say which unwritten blocks are not owed one
CordlessCoder Aug 27, 2026
dd4d1cd
wuc: add the wake-up controller register block
CordlessCoder Aug 27, 2026
2348ad6
int_group: name the WUC subscriber ports uniformly
CordlessCoder Aug 27, 2026
21aae2d
generate: emit interrupt group members the header omits
CordlessCoder Aug 27, 2026
e0a0775
dma: name gather mode in the EM enum
CordlessCoder Aug 27, 2026
1798d41
debugss: add the debug subsystem register block
CordlessCoder Aug 27, 2026
950e4f9
types: say which form Chip::iomux holds
CordlessCoder Sep 14, 2026
3f12219
gpio: say how often the wake attribute is absent, and where the pin d…
CordlessCoder Sep 14, 2026
c3c5054
Merge upstream/master into low-power-metadata
CordlessCoder Sep 14, 2026
18cd043
verify: take AesAdv off the unwritten list, now that a block exists
CordlessCoder Sep 14, 2026
05b2e21
Merge upstream/master into low-power-metadata
CordlessCoder Oct 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
102 changes: 100 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@
- 🚧 DMA mappings
- ✔️ Per package pinouts
- 🚧 Links to applicable technical reference manual and datasheet PDFs.
- ✔️ Low power data
- Power domain per peripheral
- How deep a sleep each peripheral and memory region is retained through
- How deep a sleep each peripheral stays usable in (the datasheet `EN`/`DIS`/`OPT`/`NS`/`OFF` table)
- Which timers stay clocked in STANDBY1
- Which peripheral instances have a `CLKCFG.BLOCKASYNC` bit
- Which pins can wake the device from SHUTDOWN
- MCLK and ULPCLK ceilings, backup power domain presence

✔️ = done, 🚧 = work in progress, ❌ = to do

Expand All @@ -30,19 +38,99 @@ These are the data sources currently used.
* Mapping from GPIO pin to IOMUX::PINCM register.
* Peripheral PF (pin function) mappings.
* Peripheral pin names.
* Which pins have wakeup logic (`io_wakeup`).
* Which IO structure each pin is built from (`io_type`), and so which of its PINCM fields do
anything. Corroborated per pin by the datasheets' pin-attributes tables.
* Number of ADC conversion channels (`SYS_ADC_MEMCTL_DIM`).
* How many counters a basic timer instance has (`SYS_NUM_COUNTERS`), and a cross-check of the
datasheet's capture/compare channel counts (`SYS_NUM_CC`).
* SysConfig `clocktree.json`
* Which crystal drivers, external clock inputs and SYSPLL a family has. A node is present exactly
when the family has that hardware.
* mspm0-sdk header files
* Interrupt number, name
* Peripheral addresses
* mspm0 SVDs: register blocks
* NVIC interrupt priority bits
* Flash geometry: the programming word width, the `CMDWEPROT*` register widths and whether the
flash has ECC (`FLASHCTL_SYS_*`, `__MSPM0_HAS_ECC__`). Not from the SVDs, which describe
`CMDWEPROTA` on parts whose header gives it zero width
* Whether the DMA implements the 128-bit transfer width (`DMA_SYS_MMR_LLONG`), cross-checked
against the SVD and matching every datasheet's "Long long (128-bit) transfer" row
* mspm0 SVDs
* Register blocks
* Which peripheral instances have a `CLKCFG.BLOCKASYNC` bit. TI does not publish an SVD for every
family, so this is optional per family.
* A cross-check on the DMA's 128-bit transfer width, which the header states directly.
* Device datasheets, read by the scripts in [`tools/`](./tools)
* How deep a sleep each PD1 peripheral is retained through, and how deep each peripheral
stays usable, from the "Supported Functionality by Operating Mode" table
([`data/operating_modes/`](./data/operating_modes))
* What each timer instance can do, from the TIMx configuration table
([`data/timers/`](./data/timers))
* How long the device takes to reach RUN from each sleep mode, from the wake-up timing table
([`data/wakeup/`](./data/wakeup))
* How long VREF takes to settle after being enabled, from the `Tstartup` row, and whether the
internal reference is buffered out to the `VREF+` pin, from the output drive-strength row
([`data/vref/`](./data/vref)). `CTL1.READY` would answer the first, but `VREF_ERR_01` leaves
that bit set after the first enable since reset. On an affected device the datasheet figure is
the only signal
* Which ADC channels sample an internal signal instead of a pin (the temperature sensor, the
OPA, GPAMP and DAC outputs, the internal reference, the supply monitors), from the ADC
channel-mapping table ([`data/adc_channels/`](./data/adc_channels)). The SDK states the same
mapping per SDK family, and a family overstates its parts: it routes the OPA outputs on
MSPM0G110x, which has no OPA
* Which extended-UART features (LIN, DALI, IrDA, ISO7816, Manchester) each UART instance
implements, from the "UART Features" table ([`data/uart/`](./data/uart)). One register block
serves every instance, so this is the only place the difference is stated per part
* The comparator timing figures — enable time per mode, and the reference DAC's settling time,
internal and pin-loaded — from the `ten` and `tdac_settle` rows ([`data/comp/`](./data/comp)).
Neither has a status bit behind it, so waiting them out is the only way to know the output is
meaningful
* The temperature sensor's conversion constants — the factory trim temperature, the sensor's
slope, the minimum ADC sample window and the reference the factory calibrated against
([`data/temp_sensor/`](./data/temp_sensor)). `FACTORYREGION.TEMP_SENSE0` means nothing without
them, and the calibration reference varies per device: VDD on the older G families, the 1.4-V
internal reference on most, 4.05 V on the MSPM0H321x. Three datasheets contradict themselves
about it; [`data/temp_sensor_overrides.yaml`](./data/temp_sensor_overrides.yaml) records which
half hardware agreed with
* Which timers stay clocked in STANDBY1 (`standby1_timers` in [`parts.yaml`](./data/parts.yaml))
* MCLK and ULPCLK ceilings, the SYSOSC base frequency, the flash wait-state bands, `fADCCLK` and
`TRNGCLKF` (all in [`parts.yaml`](./data/parts.yaml))
* Device errata sheets
* Which functional advisories apply ([`data/errata/`](./data/errata))
* Manually entered
* IIDX values for interrupts within a `INT_GROUP`
* Whether the BOR warning thresholds BOR1–BOR3 exist (`bor_warning_levels` in
[`parts.yaml`](./data/parts.yaml)), from each datasheet's `VBOR1`–`VBOR3` rows. The SVDs
enumerate four levels on every device, and driverlib's per-family enums disagree with the
datasheets in both directions, so only the datasheet answers
* The flash erase-sector size (`flash_sector_bytes` in [`parts.yaml`](./data/parts.yaml)), from
each datasheet's "minimum erase resolution" bullet. 1KB everywhere so far, recorded per family
so no driver has to trust driverlib's single portfolio-wide constant
* What each OPA input-mux position selects ([`data/opa/`](./data/opa)), including which peer
instance the cascade positions reach. Hand-curated because the L-series datasheet publishes it
only as a figure — one it promises as tables it does not contain
* Whether the device has `MCLKCFG.UDIV` and the STOP1 sub-mode (`clock_tree` in
[`parts.yaml`](./data/parts.yaml)). Neither can be keyed off the SYSCTL version: MSPM0L112x and
MSPM0L211x share `sysctl_l122x_l222x` with MSPM0L122x and MSPM0L222x, but have no STOP1

Run `./d download-docs` to fetch the datasheets, errata sheets and reference manuals into `./files/`;
the `tools/` scripts read them from there.

# Adding a new chip

1. Update the data sources to include the new chip. You will need to get the SVD and sysconfig metadata.
2. Add the new chip family and part numbers to [`parts.yaml`](./data/parts.yaml)
2. Add the new chip family and part numbers to [`parts.yaml`](./data/parts.yaml). Besides the part
numbers and memory this needs every frequency, the `clock_tree` entries and `standby1_timers`,
all from the datasheet.
3. If needed, add any chip specific register blocks like `sysctl`.
4. Check the peripheral mapping in [`perimap.rs`](./mspm0-data-gen/src/perimap.rs) to use the correct peripherals.
5. Fetch the documents with `./d download-docs`, then regenerate the extracted data:
`tools/operating_modes.py`, `tools/timers.py`, `tools/wakeup.py`, `tools/vref.py`,
`tools/adc_channels.py`, `tools/uart.py`, `tools/comp.py`, `tools/errata.py` and
`tools/temp_sensor.py`, each with `--write files`.
6. Run `./d gen` and read its output. `verify.rs` reports every per-chip gap it can detect, including
a family with no timer, errata or operating-mode data.

# Adding support for a new peripheral

Expand Down Expand Up @@ -103,3 +191,13 @@ When parsing a chip, for each peripheral a "key" string is constructed using thi
("mspm0c110x:sysctl", ("sysctl", "c110x")),
("mspm0g..0x:sysctl", ("sysctl", "g350x_g310x_g150x_g110x")),
```

`PERIPHERAL_NAME` is the peripheral type, so every instance of a type on a chip gets the same
version. Where one type covers instances with different register blocks, the key has to say which:
`timb` does that for the basic timers alongside `tim`, in `get_peripheral_type_version`. Such a
version also needs an entry in `VARIANT_MODULES` in
[`peripheral.rs`](./mspm0-metapac-gen/src/peripheral.rs) to give it a module name of its own.
Without one, the metapac generator panics on the two blocks colliding.

A version also means the register block exists. `verify.rs` fails if a perimap entry names a YAML
that has not been written, so do not add the entry ahead of the block.
26 changes: 26 additions & 0 deletions d
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,32 @@ case "$CMD" in
cd ./sources/
git checkout $REV
;;
download-docs)
# Fetch the PDFs the tools/ scripts read, into ./files/.
#
# Not part of `ci`: nothing in the build reads these. They are the source for the checked-in
# data/operating_modes, data/timers and data/errata, and are needed only to regenerate those.
#
# Named after the last segment of the URL, which is the document the data is traceable to.
mkdir -p ./files/
grep -oE '^ (datasheet|errata|reference_manual)_url: \S+' data/parts.yaml | sort -u |
while read -r kind url; do
case "$kind" in
datasheet_url:) suffix=datasheet ;;
errata_url:) suffix=errata ;;
*) suffix=trm ;;
esac

out="./files/${url##*/}_$suffix.pdf"
if [ -s "$out" ]; then
echo "have $out"
continue
fi

echo "fetching $out"
curl -fsSL -o "$out" "$url" || echo "FAILED $url"
done
;;
install-chiptool)
cargo install --git https://github.com/embassy-rs/chiptool
;;
Expand Down
10 changes: 10 additions & 0 deletions data/adc_channels/mspm0c1105_c1106.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0C1106
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: TemperatureSensor
29: Vref
31: SupplyMonitor
9 changes: 9 additions & 0 deletions data/adc_channels/mspm0c110x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0C1104
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
15: SupplyMonitor
14 changes: 14 additions & 0 deletions data/adc_channels/mspm0g110x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G1107
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
14: Gpamp
15: SupplyMonitor
ADC1:
12: TemperatureSensor
14: Gpamp
15: SupplyMonitor
17 changes: 17 additions & 0 deletions data/adc_channels/mspm0g150x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G1507
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
13: Opa0
14: Gpamp
15: SupplyMonitor
ADC1:
0: Dac0
12: TemperatureSensor
13: Opa1
14: Gpamp
15: SupplyMonitor
12 changes: 12 additions & 0 deletions data/adc_channels/mspm0g151x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G1519
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
15: SupplyMonitor
ADC1:
0: Dac0
15: SupplyMonitor
14 changes: 14 additions & 0 deletions data/adc_channels/mspm0g310x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G3107
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
14: Gpamp
15: SupplyMonitor
ADC1:
12: TemperatureSensor
14: Gpamp
15: SupplyMonitor
17 changes: 17 additions & 0 deletions data/adc_channels/mspm0g350x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G3507
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
13: Opa0
14: Gpamp
15: SupplyMonitor
ADC1:
0: Dac0
12: TemperatureSensor
13: Opa1
14: Gpamp
15: SupplyMonitor
12 changes: 12 additions & 0 deletions data/adc_channels/mspm0g351x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G3519
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
15: SupplyMonitor
ADC1:
0: Dac0
15: SupplyMonitor
11 changes: 11 additions & 0 deletions data/adc_channels/mspm0g518x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0G5187
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: Vref
29: TemperatureSensor
30: VusbMonitor
31: SupplyMonitor
10 changes: 10 additions & 0 deletions data/adc_channels/mspm0h321x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0H3216
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: TemperatureSensor
29: Vref
31: SupplyMonitor
10 changes: 10 additions & 0 deletions data/adc_channels/mspm0l110x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L1106
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
14: Gpamp
15: SupplyMonitor
10 changes: 10 additions & 0 deletions data/adc_channels/mspm0l112x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L2117
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: TemperatureSensor
29: Vref
31: SupplyMonitor
11 changes: 11 additions & 0 deletions data/adc_channels/mspm0l122x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L1228
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: Vref
29: TemperatureSensor
30: VbatMonitor
31: SupplyMonitor
12 changes: 12 additions & 0 deletions data/adc_channels/mspm0l130x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L1306
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
12: Opa0
13: Opa1
14: Gpamp
15: SupplyMonitor
12 changes: 12 additions & 0 deletions data/adc_channels/mspm0l134x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L1346
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
12: Opa0
13: Opa1
14: Gpamp
15: SupplyMonitor
10 changes: 10 additions & 0 deletions data/adc_channels/mspm0l211x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L2117
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: TemperatureSensor
29: Vref
31: SupplyMonitor
11 changes: 11 additions & 0 deletions data/adc_channels/mspm0l222x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0L2228
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
28: Vref
29: TemperatureSensor
30: VbatMonitor
31: SupplyMonitor
9 changes: 9 additions & 0 deletions data/adc_channels/msps003fx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Which internal signals this family's ADC channels sample.
#
# GENERATED by `tools/adc_channels.py --write` from the ADC channel-mapping table of the MSPM0C1104
# datasheet. Re-run the tool rather than editing by hand.
#
# Channels not listed here go to package pins or nowhere.
ADC0:
11: TemperatureSensor
15: SupplyMonitor
Loading
Loading