Skip to content
Back to skills

S32ct Pins Info

ASecurity

Looks up what pins, pads, signals, signal routings, pin multiplexing, pin properties and package pinouts are available in the S32 Configuration Tools Pins-tool data model for any NXP S32-family MCU (S32K1, S32K3, S32G2/G3, S32M, S32R, S32E, S32Z, S32S, ...) on any installed RTD / Platform SDK and any package variant. Triggers on "pin configuration", "pin info", "which pins exist on package X", "which pins can carry signal Y", "where can LPUART2_TX / LPSPI0_SCK / CAN0_TX / eMIOS_0_CH3 / ADC1_P...

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 15, 2026
researchgonoderailsgitdatabase

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned October 15, 2026

npx -y skills add nxp-agentic-ai/s32-ds-ai-support --skill s32ct-pins-info --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of S32ct Pins Info?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for S32ct Pins Info
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nxp-agentic-ai-s32ct-pins-info/badge)](https://www.skillsdirectory.com/skills/nxp-agentic-ai-s32ct-pins-info)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: s32ct-pins-info
description: >
  Looks up what pins, pads, signals, signal routings, pin multiplexing,
  pin properties and package pinouts are available in the S32 Configuration
  Tools Pins-tool data model for any NXP S32-family MCU (S32K1, S32K3,
  S32G2/G3, S32M, S32R, S32E, S32Z, S32S, ...) on any installed RTD / Platform
  SDK and any package variant. Triggers on "pin configuration", "pin info",
  "which pins exist on package X", "which pins can carry signal Y", "where
  can LPUART2_TX / LPSPI0_SCK / CAN0_TX / eMIOS_0_CH3 / ADC1_P7 go", "pin
  properties of PTA10", "pin-to-peripheral mapping", "signal routing", "pad
  multiplex", "alternate functions / altN", "pin features / pull / drive
  strength", "package pinout", "Pins tool", "Siul2_Port_Ip_Cfg generation",
  or anything that needs signal_configuration.xml. Read-only canonical
  bridge between the installed RTD pin database and a Pins-tool .mex.
allowed-tools: Read, Grep, Glob
license: LA_OPT_Online Code Hosting NXP_Software_License
metadata:
  author: NXP
  version: "1.0.0"
  product: s32ct
  depends_on: "s32ct-distributions"
  tags: '[s32ct, configuration-tools, knowledge, discovery, pins, read-only]'
---

# S32CT Pins Info

Look up *what* pins are available on a given `(MCU, RTD, package)` triple
and *how* each pin can be configured in the S32 Configuration Tools
Pins tool, by parsing the `signal_configuration.xml` shipped with the
installed Platform SDK / RTD. Pure read/inspection skill - does not
modify any project, `.mex`, target memory, or system state. Legacy
alias `freemaster.get_pin_info` is kept for back-compat but the skill is
unrelated to FreeMASTER.

## When to use
- Use for: enumerating pins on a package; finding legal routings for a
  peripheral signal (e.g. "where can `LPSPI0_SCK` go?"); listing the
  configurable attributes of a single pin (mode digital/analog, pulls,
  drive strengths, open-drain, slew rate, direction); validating a
  routing before authoring a `.mex`; diagnosing why a routing is
  missing (wrong package variant, RTD version, or signal not exposed).
- Do **not** use this skill for: editing a `.mex` (use `s32ct-pins-author-mex` /
  `s32ct-generate-mex-config` / `s32ct-pins-facade`); generating
  `Siul2_Port_Ip_Cfg.[ch]` / `Tspc_Port_Ip_Cfg.[ch]` (use
  `s32ct-generate-code`); peripheral or clock queries (use
  `s32ct-peripherals-info` / `s32ct-clocks-info`).

## Available Capabilities

This skill is read-only. The capabilities below only inspect the Pins
data model; none of them modify a `.mex`, generate code, or execute a
CLI.

| Type | Name | Invocation |
|------|------|------------|
| Query | Package overview | `mcu="S32K312", package="S32K312_172HDQFP", include_routings=false` |
| Query | Legal routings for a signal | `filter={ "signal": "LPUART2_TX" }` |
| Query | Pin properties + routings | `filter={ "pin": "PTA10" }` |
| Query | Signals of a peripheral instance | `filter={ "peripheral": "LPSPI0" }` |
| Reference | Full XML anatomy and filter schema | `references/pin-inspection.md` |
| Reference | Authoring a `<pin>` entry (hand-off prep) | `references/authoring-pin-reference.md` |
| Data | `<S32DS>/eclipse/mcu_data/processors/<mcu>/<platform_sdk>/<package>/signal_configuration.xml` | The per-package XML consumed by this skill. |

## Post 16->5 tool mapping

Write-side and CLI actions belong to the sibling skills listed below.
They are documented here only so the agent knows where to hand off -
this skill never invokes them.

| Sibling skill id | MCP call to use |
|---|---|
| `s32ct-cli` | `nxp_s32ct_execute_action(action_name="s32ct.configure_cli", params={...})` |
| `s32ct-pins-facade` | `nxp_s32ct_execute_action(action_name="s32ct.configure_pins", params={...})` |
| `s32ct-generate-code` | `nxp_s32ct_execute_action(action_name="s32ct.generate_code", params={...})` |

## Quickstart

1. Resolve paths from `mcu`, `package`, and `platform_sdk` (defaults to
   the sole subfolder under `mcu_data/processors/<mcu>/` when exactly
   one exists):

   ```
   <S32DS_INSTALL>/eclipse/mcu_data/processors/<mcu>/<platform_sdk>/<package>/signal_configuration.xml
   ```

2. Package overview:

   ```jsonc
   { "mcu": "S32K312",
     "package": "S32K312_172HDQFP",
     "include_routings": false }
   ```

3. Where can a signal go?

   ```jsonc
   { "mcu": "S32K312", "package": "S32K312_172HDQFP",
     "filter": { "signal": "LPUART2_TX" } }
   ```

4. Pin properties + all its legal routings:

   ```jsonc
   { "mcu": "S32K312", "package": "S32K312_172HDQFP",
     "filter": { "pin": "PTA10" } }
   ```

5. All signals exposed by a peripheral instance:

   ```jsonc
   { "mcu": "S32K312", "package": "S32K312_172HDQFP",
     "filter": { "peripheral": "LPSPI0" } }
   ```

More payloads in `references/usage-examples.md`. Full XML anatomy,
namespace pitfall, filter schema, output format and behaviour rules are
in `references/pin-inspection.md`. Authoring `<pin>` entries in a
`.mex` is in `references/authoring-pin-reference.md`.

## Configuration

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `mcu` | string | yes | Folder name under `mcu_data/processors/`. Case-sensitive. |
| `package` | string | yes | Package folder name. Case-sensitive. |
| `platform_sdk` | string | no | Defaults to the sole subfolder when unambiguous. |
| `s32ds_install` | string | no | Override of the S32CT install root. MCP auto-discovers at startup - see `s32ct-distributions`. |
| `query` | string | no | Free-form question, fuzzy-matched. |
| `filter` | object | no | Structured filter (`pin`, `peripheral`, `peripheral_type`, `signal`, `direction`, `mode`, `property`, `property_value`). AND-combined. See `references/pin-inspection.md`. |
| `include_routings` | bool | no | Default `true`. Include the legal routing list when describing a pin or signal. |
| `max_results` | int | no | Default `200`. |

## Guardrails

**Scope.** Reads only `signal_configuration.xml` and its parent
directories under `<S32DS_INSTALL>/eclipse/mcu_data/.../<package>/`. Does
not modify any project, `.mex`, target memory, or system state.
Idempotent - safe to call repeatedly.

**Destructive actions.** None. Purely read-only.

**Refuse-and-escalate.** Refuses when required MCU / SDK / package
directories are missing, when `signal_configuration.xml` is absent or
unparseable, or when a filter key is unknown - returns actionable
error messages listing the available alternatives. Never invents pin
names, signal ids, or routings: only what appears verbatim in the XML
is quoted.

## Validation loop

1. Resolve `mcu` -> `platform_sdk` -> `package` paths and confirm each
   directory exists. On failure return the appropriate error template
   listing available subfolders - the skill never raises.
2. Parse `signal_configuration.xml` handling the namespace pitfall:
   only the root `<pinsmodel:signal_configuration>` carries the
   `pinsmodel:` prefix; every child element is in the *default* (empty)
   namespace. Strip or normalise the prefix on the root before XPath
   iteration, otherwise child lookups silently return nothing.
3. Build the in-memory index (pin `name`+`coords`, peripheral instance
   id, peripheral_type id, peripheral_signal id - always lower-case in
   XML) and apply `filter` (indexed fast path) and/or `query` (fuzzy
   fallback).
4. Walk matched nodes and quote evidence verbatim from `<pin>`,
   `<assign>`, `<peripheral_signal_ref>`,
   `<functional_property>` - never paraphrase attribute values.
5. **Pass** = every filter key resolves and the answer includes the
   verbatim XML excerpts, capped at `max_results` with a truncation
   note when needed. **Fail** = any filter key is unknown or matches
   nothing - return the "closest matches" error template.

## Out of scope

- Modifying `.mex` files, generating driver sources, or launching the
  Pins tool CLI (siblings: `s32ct-pins-author-mex`,
  `s32ct-pins-facade`, `s32ct-generate-code`).
- Clocks and Peripherals tool queries (use `s32ct-clocks-info`,
  `s32ct-peripherals-info`).
- Executing code on target hardware or reading target memory.
- Parsing `.dsn` GUI vector diagrams.
- Guessing pin names or signal ids not present in the XML - packages
  and RTD versions differ; the XML is the sole source of truth.

## See Also

- `references/pin-inspection.md` - full XML anatomy of
  `signal_configuration.xml` (top-level children, illustrative bulk
  counts, `<pin>` shape with `name`+`coords`,
  `<peripheral_signal_ref>` structure), the namespace pitfall, filter
  schema, output format, behaviour rules, reasoning notes on
  case-sensitivity and the channel rule, and the full error-message
  templates.
- `references/authoring-pin-reference.md` - how to turn an XML lookup
  into a `<pin>` entry in a `.mex`: required shape, attribute mapping
  (`peripheral` / `signal` / `pin_num` / `pin_signal`),
  `<pin_features>` table (`direction`, `pull_select`, `pull_enable`,
  `slew_rate`, `drive_strength`, `open_drain`), channel-vs-no-channel
  `signal=` joining rule, verified end-to-end example
  (`LPSPI0_SOUT -> PTB1` and `SIUL2 gpio,0 -> PTA0`), the 3-item
  pre-insertion checklist, and the hand-off chain.
- `references/usage-examples.md` - ready-made input payloads for the
  five common query patterns.
- Related skills: `s32ct-clocks-info` (Clocks-tool data model),
  `s32ct-peripherals-info` (Peripherals-tool data model),
  `s32ct-pins-author-mex` (board-level reference pin definitions),
  `s32ct-generate-mex-config` (bake pin choices into a `.mex`),
  `s32ct-generate-code` (emit `Siul2_Port_Ip_Cfg.[ch]` /
  `Tspc_Port_Ip_Cfg.[ch]`), `s32ct-distributions` (install-root
  discovery).

Files in this skill

  • SKILL.md9.4 KB
  • references/authoring-pin-reference.md5.9 KB
  • references/pin-inspection.md11.6 KB
  • references/usage-examples.md2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.