diff --git a/extras/board_spec/.gitignore b/extras/board_spec/.gitignore new file mode 100644 index 00000000..f8487c8b --- /dev/null +++ b/extras/board_spec/.gitignore @@ -0,0 +1 @@ +/generated/resolved/ diff --git a/extras/board_spec/README.md b/extras/board_spec/README.md index 987ab815..91358962 100644 --- a/extras/board_spec/README.md +++ b/extras/board_spec/README.md @@ -10,7 +10,6 @@ facts in reviewable JSON. It is intentionally outside M5GFX's build inputs. - `targets.json`: generator-specific option-bit to board-choice mappings - `detector_order.json`: which catalog boards each package's detector families cover - `lib/`, `cli/`: browser-safe model logic and the Node command wrapper -- `generated/resolved/`: fully resolved revision/runtime combinations - `generated/docs/`: revision and composition tables rendered from the catalog - `generated/m5unified_pin_table/`: the M5Unified external pin tables, per SoC - `editor/`, `build/`: editor sources and the dependency-free bundler @@ -20,7 +19,9 @@ facts in reviewable JSON. It is intentionally outside M5GFX's build inputs. ```sh node cli/spec.js validate boards/m5stack_core2.json # schema and catalog rules (all boards when no file is given) node cli/spec.js format boards/m5stack_core2.json --write # canonical formatting (without --write: report only) -node cli/spec.js resolve boards/m5stack_core2.json # generated/resolved/ and generated/docs/ for one board +node cli/spec.js resolve boards/m5stack_core2.json # inspect all revision/runtime combinations as JSON on stdout +node cli/spec.js resolve boards/m5stack_core2.json --out /tmp/resolved # optional local JSON files +node cli/spec.js emit-docs # generated/docs/ (all boards, or pass board files) node cli/spec.js emit-wiring # src/board_detect/m5/generated/ (detection wiring, specs, detector order) node cli/spec.js emit-pintable # generated/m5unified_pin_table/.{json,inl} node cli/spec.js compare-pintable --m5unified # compile the generated tables against M5Unified's src/M5Unified.inl @@ -31,10 +32,16 @@ npm test # test/*.test.js (the C `check` validates the connector types, parts, accessories and every board, requires every board file to be in canonical format, and fails when any generated output -(resolved snapshots, docs, pin tables, detection wiring, the editor bundle) is -missing, stale or unexpected. So after editing a board: `resolve` it, run -`emit-wiring`, `emit-pintable` and `build/bundle.js`, then `check` and `npm test`, -and commit the generated files together with the source. +(docs, pin tables, detection wiring, the editor bundle) is missing, stale or +unexpected. Every revision/runtime combination is expanded and validated in +memory; resolved exports are not build inputs or freshness-check fixtures. +After editing a board, run `emit-docs`, `emit-wiring`, `emit-pintable` and +`build/bundle.js`, then `check` and `npm test`, and commit those generated files +with the source. Do not commit resolved exports. + +Inspect resolved boards with `resolve` (one JSON array of `{combination, board}` +entries on stdout), or select a revision in the editor's read-only view. +The `--out` directory is arbitrary; its exports are not read by any tool. Boards use `devices..choices` for replaceable parts and `revisions[]` for known product revisions. Runtime-selected slots are expanded as additional @@ -242,7 +249,7 @@ Measure each of these states on real hardware before writing a value. 1. Set `pins..detect_class` in the board JSON. Validation (`node cli/spec.js validate`, also shown in the editor) rejects it on pins without internal pulls. -2. Regenerate from `extras/board_spec`: `node cli/spec.js resolve boards/.json`, +2. Regenerate from `extras/board_spec`: `node cli/spec.js emit-docs boards/.json`, `node cli/spec.js emit-wiring`, and `node build/bundle.js`; then run `node cli/spec.js check` and `npm test`. Commit the generated files; do not edit them by hand. diff --git a/extras/board_spec/cli/spec.js b/extras/board_spec/cli/spec.js index 3c9a29ab..8b2b2e19 100644 --- a/extras/board_spec/cli/spec.js +++ b/extras/board_spec/cli/spec.js @@ -300,7 +300,7 @@ async function formatFiles(files, write) { } } -async function resolveFile(filename) { +async function loadValidatedBoard(filename) { const schema = await loadSchema(); const connectorTypes = await loadConnectorTypes(); const parts = await loadParts(); @@ -313,25 +313,43 @@ async function resolveFile(filename) { printErrors(filename, errors); throw new Error(`${failureCount(errors)} validation error(s)`); } - const outputDir = path.join(root, "generated/resolved"); + return { board, ctx }; +} + +async function resolveFile(filename, outputDir) { + const { board, ctx } = await loadValidatedBoard(filename); + const outputs = resolveAll(board, ctx.connectorTypes, resolveCatalogs(ctx)); + // Resolved boards are inspection views, not build inputs. Only --out writes + // local exports; stdout preserves combination names for programmatic users. + if (!outputDir) { + const views = outputs.map((output) => ({ + combination: output.filename.slice(0, -".json".length), + board: JSON.parse(formatBoard(output.board)), + })); + process.stdout.write(`${JSON.stringify(views, null, 2)}\n`); + return; + } await fs.mkdir(outputDir, { recursive: true }); - const outputs = resolveAll(board, connectorTypes, resolveCatalogs(ctx)); for (const output of outputs) await fs.writeFile(safeOutputPath(outputDir, output.filename), formatBoard(output.board)); - const revisionDoc = renderRevisionDoc(board, ctx.target); - if (revisionDoc) { - const docsDir = path.join(root, "generated/docs"); - await fs.mkdir(docsDir, { recursive: true }); - await fs.writeFile(safeOutputPath(docsDir, `${board.id}_revisions.md`), revisionDoc); - } - const compositionDoc = renderCompositionDoc(board, ctx.composition, accessories); - if (compositionDoc) { - const docsDir = path.join(root, "generated/docs"); - await fs.mkdir(docsDir, { recursive: true }); - await fs.writeFile(safeOutputPath(docsDir, `${board.id}_composition.md`), compositionDoc); - } console.log(`resolved ${outputs.length} combination(s)`); } +async function writeDocs(files) { + for (const filename of files) { + const { board, ctx } = await loadValidatedBoard(filename); + const docs = [ + [`${board.id}_revisions.md`, renderRevisionDoc(board, ctx.target)], + [`${board.id}_composition.md`, renderCompositionDoc(board, ctx.composition, ctx.accessories)], + ]; + for (const [name, text] of docs) if (text) { + const directory = path.join(root, "generated/docs"); + await fs.mkdir(directory, { recursive: true }); + await fs.writeFile(safeOutputPath(directory, name), text); + } + } + console.log(`generated docs for ${files.length} board(s)`); +} + async function check() { const schema = await loadSchema(); const connectorTypes = await loadConnectorTypes(); @@ -356,17 +374,14 @@ async function check() { throw new Error(`${failureCount(errors)} validation error(s)`); } + // validateResolvedVariants above checks every expansion in memory; there is + // no resolved-file cache to maintain or compare with the source catalog. + let combinations = 0; for (let index = 0; index < boards.length; index += 1) { const source = await fs.readFile(files[index], "utf8"); if (source !== formatBoard(boards[index])) throw new Error(`${path.relative(root, files[index])} is not formatted`); const ctx = contexts.get(boards[index].id); - for (const output of resolveAll(boards[index], connectorTypes, resolveCatalogs(ctx))) { - const filename = path.join(root, "generated/resolved", output.filename); - let actual; - try { actual = await fs.readFile(filename, "utf8"); } - catch { throw new Error(`missing resolved snapshot: ${path.relative(root, filename)}`); } - if (actual !== formatBoard(output.board)) throw new Error(`stale resolved snapshot: ${path.relative(root, filename)}`); - } + combinations += resolveAll(boards[index], connectorTypes, resolveCatalogs(ctx)).length; const revisionDoc = renderRevisionDoc(boards[index], ctx.target); if (revisionDoc) { const filename = path.join(root, "generated/docs", `${boards[index].id}_revisions.md`); @@ -384,10 +399,6 @@ async function check() { if (actual !== compositionDoc) throw new Error(`stale composition doc: ${path.relative(root, filename)}`); } } - const expectedSnapshots = new Set(boards.flatMap((board) => resolveAll(board, connectorTypes, resolveCatalogs(contexts.get(board.id))).map((output) => output.filename))); - const actualSnapshots = (await fs.readdir(path.join(root, "generated/resolved"))).filter((name) => name.endsWith(".json")); - const unexpected = actualSnapshots.filter((name) => !expectedSnapshots.has(name)); - if (unexpected.length) throw new Error(`unexpected resolved snapshot(s): ${unexpected.join(", ")}`); const expectedDocs = new Set([ ...boards.filter((board) => board.revisions?.length).map((board) => `${board.id}_revisions.md`), ...boards.filter((board) => contexts.get(board.id).composition).map((board) => `${board.id}_composition.md`), @@ -421,7 +432,7 @@ async function check() { try { dist = await fs.readFile(distFilename, "utf8"); } catch { throw new Error(`missing editor bundle: ${path.relative(root, distFilename)}`); } if (dist !== await renderBundle()) throw new Error(`stale editor bundle: ${path.relative(root, distFilename)}`); - console.log(`check passed: ${boards.length} board(s), ${boards.reduce((sum, board) => sum + resolveAll(board, connectorTypes, resolveCatalogs(contexts.get(board.id))).length, 0)} resolved snapshot(s)`); + console.log(`check passed: ${boards.length} board(s), ${combinations} resolved combination(s)`); } const PIN_TABLE_START = "static constexpr const uint8_t _pin_table_i2c_ex_in[][5] = {"; @@ -553,9 +564,13 @@ async function main() { return formatFiles(files, write); } if (command === "resolve") { - if (args.length !== 1) throw new Error("resolve requires exactly one board file"); - return resolveFile(path.resolve(args[0])); + if ((args.length !== 1 && args.length !== 3) || args[0]?.startsWith("--") + || (args.length === 3 && (args[1] !== "--out" || args[2].startsWith("--")))) { + throw new Error("resolve requires one board file and optional --out "); + } + return resolveFile(path.resolve(args[0]), args.length === 3 ? path.resolve(args[2]) : undefined); } + if (command === "emit-docs") return writeDocs(args.length ? args.map((file) => path.resolve(file)) : await boardFiles()); if (command === "emit-pintable") return writePinTableOutputs(); if (command === "emit-wiring") return writeWiringOutput(); if (command === "compare-pintable") { @@ -563,7 +578,7 @@ async function main() { return comparePinTable(path.resolve(args[1])); } if (command === "check") return check(); - throw new Error("usage: spec.js validate | format [--write] | resolve | emit-pintable | emit-wiring | compare-pintable --m5unified | check"); + throw new Error("usage: spec.js validate | format [--write] | resolve [--out ] | emit-docs [file...] | emit-pintable | emit-wiring | compare-pintable --m5unified | check"); } main().catch((failure) => { diff --git a/extras/board_spec/generated/resolved/arduino_nesso_n1.json b/extras/board_spec/generated/resolved/arduino_nesso_n1.json deleted file mode 100644 index 64680bae..00000000 --- a/extras/board_spec/generated/resolved/arduino_nesso_n1.json +++ /dev/null @@ -1,382 +0,0 @@ -{ - "schema_version": 1, - "id": "arduino_nesso_n1", - "name": "ArduinoNessoN1", - "official_name": "Arduino Nesso N1", - "official_name_verified": true, - "aliases": [ - "nesso", - "nesso n1", - "n1", - "arduinonesson1" - ], - "legacy_board_id": 23, - "chip": "esp32c6", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": true - }, - "links": { - "product": "https://docs.arduino.cc/hardware/nesso-n1/", - "verified": { - "product": "datasheet" - } - } - }, - "pins": { - "2": { - "roles": [ - "conn:expansion.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "dev:touch.int" - ] - }, - "4": { - "roles": [ - "conn:port_b.1", - "conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:port_b.2", - "conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:expansion.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:expansion.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "dev:lcd.dc" - ] - }, - "17": { - "roles": [ - "dev:lcd.cs" - ] - }, - "18": { - "roles": [], - "note": "Board-family signature pin tied low" - }, - "20": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:main_spi.miso" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "freq": 100000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "rotation_offset": 0, - "invert": true, - "readable": true, - "three_wire": true - }, - "signals": { - "dc": "gpio:16", - "cs": "gpio:17", - "rst": "pin:pi4io2.p1" - }, - "verified": { - "signals": "generated" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "touch_i2c", - "i2c_addr": "0x38", - "spec": { - "x_min": 0, - "x_max": 134, - "y_min": 0, - "y_max": 239, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:3" - }, - "verified": { - "signals": "generated" - } - }, - "pi4io2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44", - "pins": { - "p1": { - "roles": [ - "dev:lcd.rst" - ] - }, - "p6": { - "roles": [ - "dev:backlight.pwm" - ] - } - }, - "note": "P1 LCD reset; P6 LCD backlight" - }, - "pi4io1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43", - "note": "P0 BTN1; P1 BTN2", - "pins": { - "p0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "p1": { - "roles": [ - "dev:btn_b.in" - ] - } - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x44", - "spec": { - "i2c_freq": 400000 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "pin:pi4io2.p6" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "internal_up" - }, - "signals": { - "in": "pin:pi4io1.p0" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "internal_up" - }, - "signals": { - "in": "pin:pi4io1.p1" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "qwiic_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:8", - "2": "gpio:10", - "3": "pwr:3v3", - "4": "pwr:gnd" - }, - "note": "Qwiic physical pins in Arduino full pinout page 3: 1=GND, 2=3V3 output, 3=SDA GPIO10, 4=SCL GPIO8. port_a retains the library logical terminal order 1=SCL GPIO8, 2=SDA GPIO10, 3=3V3, 4=GND. Shared with internal I2C.", - "verified": { - "positions": "datasheet" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Both library contracts refer to the same physical Grove socket: manufacturer pins 1=GND, 2=5V, 3=GPIO5, 4=GPIO4. Logical terminal 1=GPIO4/2=GPIO5.", - "positions": { - "1": "gpio:4", - "2": "gpio:5", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Both library contracts refer to the same physical Grove socket: manufacturer pins 1=GND, 2=5V, 3=GPIO5, 4=GPIO4. Logical terminal 1=GPIO4/2=GPIO5.", - "positions": { - "1": "gpio:4", - "2": "gpio:5", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "expansion": { - "type": "logical_terminals_8", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5v", - "3": "gpio:7", - "4": "gpio:2", - "5": "gpio:6", - "6": "pwr:bat", - "7": "pwr:3v3", - "8": "pwr:5v" - }, - "note": "8-pin expansion port numbered as Arduino official full pinout page 6. BATTERY is an unregulated approximately 3–4.2V output rail; do not back-feed. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5airq+epd=gdew0154d67.json b/extras/board_spec/generated/resolved/m5airq+epd=gdew0154d67.json deleted file mode 100644 index d920f687..00000000 --- a/extras/board_spec/generated/resolved/m5airq+epd=gdew0154d67.json +++ /dev/null @@ -1,259 +0,0 @@ -{ - "schema_version": 1, - "id": "m5airq", - "name": "M5AirQ", - "official_name": "M5Stack Air Quality", - "official_name_verified": true, - "aliases": [ - "airq", - "air quality", - "air quality kit" - ], - "legacy_board_id": 15, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 200, - 200 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "flash_mb": 8 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Air_Quality", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/467/Sch_AirQ_v1.0.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "1": { - "roles": [ - "dev:epd.busy" - ] - }, - "2": { - "roles": [ - "dev:epd.rst" - ], - "detect_class": "floating" - }, - "3": { - "roles": [ - "dev:epd.dc" - ] - }, - "4": { - "roles": [ - "dev:epd.cs" - ] - }, - "5": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "dev:btn_b.in" - ] - }, - "11": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "epd": { - "kind": "display", - "bus": "main_spi", - "part": "gdew0154d67", - "spec": { - "width": 200, - "height": 200 - }, - "signals": { - "busy": "gpio:1", - "rst": "gpio:2", - "dc": "gpio:3", - "cs": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:46" - }, - "verified": { - "signals": "generated" - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:8" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:15", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5airq+epd=gdew0154m09.json b/extras/board_spec/generated/resolved/m5airq+epd=gdew0154m09.json deleted file mode 100644 index a26f5610..00000000 --- a/extras/board_spec/generated/resolved/m5airq+epd=gdew0154m09.json +++ /dev/null @@ -1,259 +0,0 @@ -{ - "schema_version": 1, - "id": "m5airq", - "name": "M5AirQ", - "official_name": "M5Stack Air Quality", - "official_name_verified": true, - "aliases": [ - "airq", - "air quality", - "air quality kit" - ], - "legacy_board_id": 15, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 200, - 200 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "flash_mb": 8 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Air_Quality", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/467/Sch_AirQ_v1.0.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "1": { - "roles": [ - "dev:epd.busy" - ] - }, - "2": { - "roles": [ - "dev:epd.rst" - ], - "detect_class": "floating" - }, - "3": { - "roles": [ - "dev:epd.dc" - ] - }, - "4": { - "roles": [ - "dev:epd.cs" - ] - }, - "5": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "dev:btn_b.in" - ] - }, - "11": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "epd": { - "kind": "display", - "bus": "main_spi", - "part": "gdew0154m09", - "spec": { - "width": 200, - "height": 200 - }, - "signals": { - "busy": "gpio:1", - "rst": "gpio:2", - "dc": "gpio:3", - "cs": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:46" - }, - "verified": { - "signals": "generated" - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:8" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:15", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atom_psram.json b/extras/board_spec/generated/resolved/m5atom_psram.json deleted file mode 100644 index 2819382b..00000000 --- a/extras/board_spec/generated/resolved/m5atom_psram.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atom_psram", - "name": "M5AtomPsram", - "official_name": "M5Stack Atom PSRAM", - "aliases": [ - "atom psram", - "atompsram", - "atom display" - ], - "legacy_board_id": 129, - "chip": "esp32_d0wdq6", - "spec": { - "storage": { - "psram_mb": 2, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/atom/Atom_Display", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/atom/atom_display/atom_display_sch_01.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot" - ] - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "5": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "dev:psram.cs" - ] - }, - "10": { - "roles": [ - "dev:psram.clk" - ] - }, - "19": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "25": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch9102", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:27" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:9", - "clk": "gpio:10" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:32", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:22", - "3": "gpio:19", - "4": "gpio:5", - "5": "gpio:33" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom. Pin 4 is GPIO5; the schematic shows the GPIO23 alternative through unpopulated R6.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:21", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - }, - "chip_package": "pico_v3_02" -} diff --git a/extras/board_spec/generated/resolved/m5atomlite.json b/extras/board_spec/generated/resolved/m5atomlite.json deleted file mode 100644 index d69fcbc6..00000000 --- a/extras/board_spec/generated/resolved/m5atomlite.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atomlite", - "name": "M5AtomLite", - "official_name": "M5Stack Atom-Lite", - "official_name_verified": true, - "legacy_board_id": 128, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Atom-Lite", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/core/ATOM%20Lite/img-2e58eac3-d9ef-4be4-b486-d4dd9a8324fa.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "2": { - "roles": [], - "note": "Atom family exclusion gate: StampPico holds G2 low." - }, - "12": { - "roles": [ - "dev:ir.pwm" - ], - "note": "IR transmitter GPIO from the official pin map." - }, - "13": { - "roles": [], - "note": "T4=G13 for Atom touch measurement." - }, - "18": { - "roles": [], - "note": "Unconnected GPIO sampled by the Atom family exclusion gate." - }, - "19": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "23": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "25": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "34": { - "roles": [] - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:27" - }, - "verified": { - "signals": "generated" - } - }, - "ir": { - "kind": "led", - "signals": { - "pwm": "gpio:12" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:32", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:22", - "3": "gpio:19", - "4": "gpio:23", - "5": "gpio:33" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:21", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atommatrix.json b/extras/board_spec/generated/resolved/m5atommatrix.json deleted file mode 100644 index 267d5ab7..00000000 --- a/extras/board_spec/generated/resolved/m5atommatrix.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atommatrix", - "name": "M5AtomMatrix", - "official_name": "M5Stack Atom-Matrix", - "official_name_verified": true, - "legacy_board_id": 141, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Atom-Matrix", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/core/ATOM%20Matrix/img-fa9922b3-727d-4598-8d16-84611248a3c6.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "2": { - "roles": [], - "note": "Atom family exclusion gate: StampPico holds G2 low." - }, - "12": { - "roles": [ - "dev:ir.pwm" - ], - "note": "IR transmitter GPIO from the official pin map." - }, - "13": { - "roles": [], - "note": "T4=G13 for Atom touch measurement." - }, - "18": { - "roles": [], - "note": "Unconnected GPIO sampled by the Atom family exclusion gate." - }, - "19": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "23": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "25": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "34": { - "roles": [] - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:27" - }, - "verified": { - "signals": "generated" - } - }, - "ir": { - "kind": "led", - "signals": { - "pwm": "gpio:12" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:32", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:22", - "3": "gpio:19", - "4": "gpio:23", - "5": "gpio:33" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:21", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom. GPIO21/25 share the onboard MPU6886 I2C bus.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3+lcd=gc9107.json b/extras/board_spec/generated/resolved/m5atoms3+lcd=gc9107.json deleted file mode 100644 index 8d26d49f..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3+lcd=gc9107.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3", - "name": "M5AtomS3", - "official_name": "M5Stack AtomS3", - "official_name_verified": true, - "aliases": [ - "atoms3", - "atom s3" - ], - "legacy_board_id": 11, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 128, - 128 - ], - "touch": false - }, - "storage": { - "psram_mb": 0 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/472/Sch_M5_AtomS3_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "dev:lcd.cs" - ] - }, - "16": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "17": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "dev:lcd.dc" - ] - }, - "34": { - "roles": [ - "dev:lcd.rst" - ] - }, - "38": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "gc9107", - "spec": { - "width": 128, - "height": 128, - "offset_x": 0, - "offset_y": 32, - "rotation_offset": 0, - "invert": false, - "readable": false, - "panel_type": "gc9107" - }, - "signals": { - "cs": "gpio:15", - "dc": "gpio:33", - "rst": "gpio:34" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 48 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:16" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:41" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom. GPIO39/38 share the onboard MPU6886 I2C bus.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3+lcd=st7735s.json b/extras/board_spec/generated/resolved/m5atoms3+lcd=st7735s.json deleted file mode 100644 index df644600..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3+lcd=st7735s.json +++ /dev/null @@ -1,291 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3", - "name": "M5AtomS3", - "official_name": "M5Stack AtomS3", - "official_name_verified": true, - "aliases": [ - "atoms3", - "atom s3" - ], - "legacy_board_id": 11, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 128, - 128 - ], - "touch": false - }, - "storage": { - "psram_mb": 0 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/472/Sch_M5_AtomS3_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "dev:lcd.cs" - ] - }, - "16": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "17": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "dev:lcd.dc" - ] - }, - "34": { - "roles": [ - "dev:lcd.rst" - ] - }, - "38": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "st7735s", - "spec": { - "width": 128, - "height": 128, - "memory_height": 132, - "offset_x": 2, - "offset_y": 1, - "rotation_offset": 2, - "invert": true, - "readable": true, - "panel_type": "st7735s" - }, - "signals": { - "cs": "gpio:15", - "dc": "gpio:33", - "rst": "gpio:34" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 48 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:16" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:41" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom. GPIO39/38 share the onboard MPU6886 I2C bus.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3lite.json b/extras/board_spec/generated/resolved/m5atoms3lite.json deleted file mode 100644 index 2f9249fe..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3lite.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3lite", - "name": "M5AtomS3Lite", - "official_name": "M5Stack AtomS3-Lite", - "official_name_verified": true, - "legacy_board_id": 137, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3-Lite", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/471/Sch_M5_AtomS3_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:ir_led.on" - ] - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [] - }, - "16": { - "roles": [] - }, - "35": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:35" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:41" - }, - "verified": { - "signals": "generated" - } - }, - "ir_led": { - "kind": "led", - "signals": { - "on": "gpio:4" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3r+lcd=gc9107.json b/extras/board_spec/generated/resolved/m5atoms3r+lcd=gc9107.json deleted file mode 100644 index 5b3562c4..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3r+lcd=gc9107.json +++ /dev/null @@ -1,368 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3r", - "name": "M5AtomS3R", - "official_name": "M5Stack AtomS3R", - "official_name_verified": true, - "aliases": [ - "atoms3r", - "atom s3r", - "atoms3r-cam", - "atoms3r-m12" - ], - "legacy_board_id": 18, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 128, - 128 - ], - "touch": false - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3R", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/680/Sch_M5_AtomS3R_v0.4.1.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "38": { - "roles": [ - "conn:rear_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:rear_right.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "dev:btn_a.in" - ] - }, - "42": { - "roles": [ - "dev:lcd.dc" - ] - }, - "45": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "dev:lcd.rst" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "gc9107", - "spec": { - "width": 128, - "height": 128, - "offset_x": 0, - "offset_y": 32, - "rotation_offset": 0, - "invert": false, - "readable": false, - "panel_type": "gc9107" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:42", - "rst": "gpio:48" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x30", - "verified": { - "i2c_addr": "datasheet" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:41" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3r+lcd=st7735s.json b/extras/board_spec/generated/resolved/m5atoms3r+lcd=st7735s.json deleted file mode 100644 index e3c6504f..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3r+lcd=st7735s.json +++ /dev/null @@ -1,369 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3r", - "name": "M5AtomS3R", - "official_name": "M5Stack AtomS3R", - "official_name_verified": true, - "aliases": [ - "atoms3r", - "atom s3r", - "atoms3r-cam", - "atoms3r-m12" - ], - "legacy_board_id": 18, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 128, - 128 - ], - "touch": false - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3R", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/680/Sch_M5_AtomS3R_v0.4.1.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "38": { - "roles": [ - "conn:rear_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:rear_right.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "dev:btn_a.in" - ] - }, - "42": { - "roles": [ - "dev:lcd.dc" - ] - }, - "45": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "dev:lcd.rst" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "st7735s", - "spec": { - "width": 128, - "height": 128, - "memory_height": 132, - "offset_x": 2, - "offset_y": 1, - "rotation_offset": 2, - "invert": true, - "readable": true, - "panel_type": "st7735s" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:42", - "rst": "gpio:48" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x30", - "verified": { - "i2c_addr": "datasheet" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:41" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3rcam.json b/extras/board_spec/generated/resolved/m5atoms3rcam.json deleted file mode 100644 index 4daa907d..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3rcam.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3rcam", - "name": "M5AtomS3RCam", - "official_name": "M5Stack AtomS3R-CAM", - "official_name_verified": true, - "legacy_board_id": 144, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3R%20Cam", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/681/main_board_schematic.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [] - }, - "12": { - "roles": [] - }, - "18": { - "roles": [] - }, - "21": { - "roles": [] - }, - "38": { - "roles": [ - "conn:rear_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:rear_right.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "imu": { - "kind": "imu", - "part": "bmi270", - "bus": "internal_i2c", - "i2c_addr": "0x68" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3rext.json b/extras/board_spec/generated/resolved/m5atoms3rext.json deleted file mode 100644 index 72104a75..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3rext.json +++ /dev/null @@ -1,353 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3rext", - "name": "M5AtomS3RExt", - "official_name": "M5Stack AtomS3R-Ext", - "official_name_verified": true, - "legacy_board_id": 143, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3R-Ext", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/681/main_board_schematic.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:proto.5" - ], - "note": "Exposed on Proto board terminal 5 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:proto.6" - ], - "note": "Exposed on Proto board terminal 6 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:proto.7" - ], - "note": "Exposed on Proto board terminal 7 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:proto.8" - ], - "note": "Exposed on Proto board terminal 8 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "11": { - "roles": [ - "conn:proto.9" - ], - "note": "Exposed on Proto board terminal 9 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "conn:proto.10" - ], - "note": "Exposed on Proto board terminal 10 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "13": { - "roles": [ - "conn:proto.11" - ], - "note": "Exposed on Proto board terminal 11 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "14": { - "roles": [], - "note": "The official Specifications list GPIO14 among Proto Board Reserved GPIOs, but the Proto Pin table and PinMap assign no exposed Proto terminal to it. Terminal assignments follow the numbered Proto Pin table; no connector role is assigned to GPIO14.", - "verified": { - "note": "datasheet" - } - }, - "17": { - "roles": [ - "conn:proto.12" - ], - "note": "Exposed on Proto board terminal 12 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "18": { - "roles": [] - }, - "21": { - "roles": [ - "conn:proto.13" - ], - "note": "Exposed on Proto board terminal 13 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "38": { - "roles": [ - "conn:rear_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:rear_right.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "40": { - "roles": [ - "conn:proto.14" - ], - "note": "Exposed on Proto board terminal 14 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "42": { - "roles": [ - "conn:proto.15" - ], - "note": "Exposed on Proto board terminal 15 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "conn:proto.16" - ], - "note": "Exposed on Proto board terminal 16 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - }, - "48": { - "roles": [ - "conn:proto.17" - ], - "note": "Exposed on Proto board terminal 17 in the official Proto Pin table.", - "verified": { - "note": "datasheet", - "roles": "datasheet" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "imu": { - "kind": "imu", - "part": "bmi270", - "bus": "internal_i2c", - "i2c_addr": "0x68" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "proto": { - "type": "atoms3r_ext_proto", - "positions": { - "1": "pwr:3v3", - "2": "pwr:1v2", - "3": "pwr:2v8", - "4": "chip:en", - "5": "gpio:3", - "6": "gpio:4", - "7": "gpio:9", - "8": "gpio:10", - "9": "gpio:11", - "10": "gpio:12", - "11": "gpio:13", - "12": "gpio:17", - "13": "gpio:21", - "14": "gpio:40", - "15": "gpio:42", - "16": "gpio:46", - "17": "gpio:48", - "18": "pwr:gnd", - "19": "pwr:gnd" - }, - "note": "Terminal numbers and wiring follow the official Proto Pin table and PinMap, not a verified physical layout. RST is the ESP32-S3 enable/reset input. The Specifications include GPIO14 among reserved Proto GPIOs, but the numbered table and PinMap give GPIO14 no terminal; it is not assigned here.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atoms3u.json b/extras/board_spec/generated/resolved/m5atoms3u.json deleted file mode 100644 index 81a7aacf..00000000 --- a/extras/board_spec/generated/resolved/m5atoms3u.json +++ /dev/null @@ -1,201 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atoms3u", - "name": "M5AtomS3U", - "official_name": "M5Stack AtomS3U", - "official_name_verified": true, - "legacy_board_id": 138, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/AtomS3U", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/477/Sch_AtomS3U_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [] - }, - "12": { - "roles": [ - "dev:ir_led.on" - ] - }, - "14": { - "roles": [ - "conn:rear_gpio.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "16": { - "roles": [] - }, - "17": { - "roles": [ - "conn:rear_gpio.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "35": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "conn:rear_gpio.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "dev:btn_a.in" - ] - }, - "42": { - "roles": [ - "conn:rear_gpio.5" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:35" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:41" - }, - "verified": { - "signals": "generated" - } - }, - "ir_led": { - "kind": "led", - "signals": { - "on": "gpio:12" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_gpio": { - "type": "socket_1x6_254", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5v", - "3": "gpio:14", - "4": "gpio:17", - "5": "gpio:42", - "6": "gpio:40" - }, - "note": "Rear expansion socket; positions numbered from GND toward the last GPIO in the official pin map.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atomu.json b/extras/board_spec/generated/resolved/m5atomu.json deleted file mode 100644 index afcd009c..00000000 --- a/extras/board_spec/generated/resolved/m5atomu.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atomu", - "name": "M5AtomU", - "official_name": "M5Stack AtomU", - "official_name_verified": true, - "legacy_board_id": 130, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/AtomU", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/675/Sch_AtomU_01.jpg", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "2": { - "roles": [], - "note": "Atom family exclusion gate: StampPico holds G2 low." - }, - "12": { - "roles": [ - "dev:ir.pwm" - ], - "note": "IR transmitter GPIO from the official pin map." - }, - "13": { - "roles": [], - "note": "T4=G13 for Atom touch measurement." - }, - "18": { - "roles": [], - "note": "Unconnected GPIO sampled by the Atom family exclusion gate." - }, - "21": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_gpio.6" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:rear_gpio.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "23": { - "roles": [], - "note": "Atom family G34 gate: internal pull only, never drive it." - }, - "25": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_gpio.3" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:rear_gpio.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "34": { - "roles": [] - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:27" - }, - "verified": { - "signals": "generated" - } - }, - "ir": { - "kind": "led", - "signals": { - "pwm": "gpio:12" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:32", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_gpio": { - "type": "socket_1x6_254", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5v", - "3": "gpio:25", - "4": "gpio:33", - "5": "gpio:22", - "6": "gpio:21" - }, - "note": "Rear expansion socket; positions numbered from GND toward the last GPIO in the official pin map.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atomvoice.json b/extras/board_spec/generated/resolved/m5atomvoice.json deleted file mode 100644 index b577e92c..00000000 --- a/extras/board_spec/generated/resolved/m5atomvoice.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atomvoice", - "name": "M5AtomVoice", - "official_name": "M5Stack Atom Voice", - "official_name_verified": true, - "legacy_board_id": 142, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/atom/atomecho", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/atom/atomecho/atomecho_sch_01.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "2": { - "roles": [], - "note": "Atom family exclusion gate: StampPico holds G2 low." - }, - "18": { - "roles": [], - "note": "Unconnected GPIO sampled by the Atom family exclusion gate." - }, - "19": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet", - "note": "datasheet" - }, - "note": "GPIO19/22/23/33 are reserved for the internal audio interface. The official documentation prohibits external reuse, expansion modules, or additional wiring on these pins." - }, - "21": { - "roles": [ - "bus:internal_i2c.scl", - "conn:rear_right.1" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet", - "note": "datasheet" - }, - "note": "GPIO19/22/23/33 are reserved for the internal audio interface. The official documentation prohibits external reuse, expansion modules, or additional wiring on these pins." - }, - "23": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet", - "note": "datasheet" - }, - "note": "GPIO19/22/23/33 are reserved for the internal audio interface. The official documentation prohibits external reuse, expansion modules, or additional wiring on these pins." - }, - "25": { - "roles": [ - "bus:internal_i2c.sda", - "conn:rear_right.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet", - "note": "datasheet" - }, - "note": "GPIO19/22/23/33 are reserved for the internal audio interface. The official documentation prohibits external reuse, expansion modules, or additional wiring on these pins." - }, - "34": { - "roles": [], - "note": "Microphone DATA remains high with G23 pulled down." - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:27" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:32", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:22", - "3": "gpio:19", - "4": "gpio:23", - "5": "gpio:33" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom. GPIO19/22/23/33 are reserved for the internal audio interface. The official documentation prohibits external reuse, expansion modules, or additional wiring on these pins.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:21", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5atomvoices3r.json b/extras/board_spec/generated/resolved/m5atomvoices3r.json deleted file mode 100644 index 40ec1813..00000000 --- a/extras/board_spec/generated/resolved/m5atomvoices3r.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "schema_version": 1, - "id": "m5atomvoices3r", - "name": "M5AtomVoiceS3R", - "official_name": "M5Stack Atom VoiceS3R", - "official_name_verified": true, - "legacy_board_id": 145, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Atom_VoiceS3R", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1182/Sch_M5_AtomS3R_v0.4.1.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:rear_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:rear_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:rear_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:rear_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "38": { - "roles": [ - "conn:rear_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:rear_right.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "codec": { - "kind": "speaker", - "bus": "internal_i2c", - "i2c_addr": "0x18" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - } - }, - "rear_left": { - "type": "socket_1x5_254", - "positions": { - "1": "pwr:3v3", - "2": "gpio:5", - "3": "gpio:6", - "4": "gpio:7", - "5": "gpio:8" - }, - "note": "Rear left socket viewed from the bottom with USB at the bottom; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - }, - "rear_right": { - "type": "socket_1x4_254", - "positions": { - "1": "gpio:39", - "2": "gpio:38", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Rear right socket in the same bottom view; positions numbered top to bottom.", - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "group": "bottom" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5capsule.json b/extras/board_spec/generated/resolved/m5capsule.json deleted file mode 100644 index bcc48d45..00000000 --- a/extras/board_spec/generated/resolved/m5capsule.json +++ /dev/null @@ -1,311 +0,0 @@ -{ - "schema_version": 1, - "id": "m5capsule", - "name": "M5Capsule", - "official_name": "M5Stack Capsule", - "official_name_verified": true, - "legacy_board_id": 139, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Capsule", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/496/Sch_M5Capsule.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "conn:capsule_bus.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:capsule_bus.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:capsule_bus.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:capsule_bus.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:capsule_bus.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "conn:capsule_bus.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:sd_bus.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:sd_bus.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:capsule_bus.15" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:sd_bus.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:capsule_bus.17" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sd_bus.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "conn:capsule_bus.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "43": { - "roles": [ - "conn:capsule_bus.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:capsule_bus.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "46": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sd_bus": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d3" - ], - "fixed": false - } - }, - "devices": { - "rtc": { - "kind": "rtc", - "part": "bm8563", - "bus": "internal_i2c", - "i2c_addr": "0x51" - }, - "imu": { - "kind": "imu", - "part": "bmi270", - "bus": "internal_i2c", - "i2c_addr": "0x69" - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:46" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:21" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sd_bus", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:11", - "cmd": "gpio:12", - "clk": "gpio:14", - "d0": "gpio:39" - }, - "derived": { - "modes": [ - "sdio1" - ] - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:15", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "capsule_bus": { - "type": "logical_terminals_18", - "positions": { - "1": "gpio:1", - "2": "pwr:5vout", - "3": "gpio:3", - "4": "pwr:bat", - "5": "gpio:5", - "6": "gpio:42", - "7": "gpio:7", - "8": "pwr:3v3", - "9": "gpio:9", - "10": "gpio:43", - "11": "pwr:gnd", - "12": "gpio:44", - "13": "pwr:5vin", - "14": "chip:en", - "15": "gpio:13", - "16": "gpio:0", - "17": "gpio:15", - "18": "pwr:gnd" - }, - "note": "Capsule Bus numbered as the official table. WAKE=GPIO42 and Boot=GPIO0. GPIO13/15 are shared with Grove; UART is GPIO43/44. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5cardputer.json b/extras/board_spec/generated/resolved/m5cardputer.json deleted file mode 100644 index 0b426b85..00000000 --- a/extras/board_spec/generated/resolved/m5cardputer.json +++ /dev/null @@ -1,299 +0,0 @@ -{ - "schema_version": 1, - "id": "m5cardputer", - "name": "M5Cardputer", - "official_name": "M5Stack Cardputer", - "official_name_verified": true, - "aliases": [ - "cardputer", - "cardputer v1.1" - ], - "legacy_board_id": 14, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Cardputer", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/481/Sch_M5Cardputer.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [], - "note": "Keyboard matrix" - }, - "6": { - "roles": [], - "note": "Keyboard matrix" - }, - "7": { - "roles": [], - "note": "Keyboard matrix" - }, - "8": { - "roles": [], - "note": "74HC138 keyboard row selector" - }, - "9": { - "roles": [], - "note": "74HC138 keyboard row selector" - }, - "12": { - "roles": [ - "bus:sd_bus.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:sd_bus.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:lcd.dc" - ] - }, - "35": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:lcd.cs" - ] - }, - "38": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "39": { - "roles": [ - "bus:sd_bus.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sd_bus.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "sd_bus": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d3" - ], - "fixed": false - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "rotation_offset": 1, - "invert": true, - "readable": true - }, - "signals": { - "rst": "gpio:33", - "dc": "gpio:34", - "cs": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 16 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:38" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sd_bus", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:12", - "cmd": "gpio:14", - "d0": "gpio:39", - "clk": "gpio:40" - }, - "derived": { - "modes": [ - "sdio1" - ] - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5cardputer_adv.json b/extras/board_spec/generated/resolved/m5cardputer_adv.json deleted file mode 100644 index 03df95c2..00000000 --- a/extras/board_spec/generated/resolved/m5cardputer_adv.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "schema_version": 1, - "id": "m5cardputer_adv", - "name": "M5CardputerADV", - "official_name": "M5Stack Cardputer-Adv", - "official_name_verified": true, - "aliases": [ - "cardputer adv", - "cardputer-adv", - "cardputeradv", - "adv" - ], - "legacy_board_id": 24, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Cardputer-Adv", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1178/Sch_M5CardputerAdv_v1.0_2025_06_20_17_19_58.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:ext_header.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:ext_header.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:ext_header.13" - ], - "note": "External GPIO", - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:ext_header.5" - ], - "note": "External GPIO", - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [], - "note": "Internal FPC" - }, - "8": { - "roles": [ - "bus:internal_i2c.sda", - "conn:ext_header.8" - ], - "note": "System I2C SDA", - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "bus:internal_i2c.scl", - "conn:ext_header.10" - ], - "note": "System I2C SCL", - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:sd_bus.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:ext_header.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "bus:sd_bus.cmd", - "dev:sd.cmd", - "conn:ext_header.9" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "conn:ext_header.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:lcd.dc" - ] - }, - "35": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:lcd.cs" - ] - }, - "38": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "39": { - "roles": [ - "bus:sd_bus.d0", - "dev:sd.d0", - "conn:ext_header.11" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sd_bus.clk", - "dev:sd.clk", - "conn:ext_header.7" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "sd_bus": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d3" - ], - "fixed": false - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "rotation_offset": 1, - "invert": true, - "readable": true - }, - "signals": { - "rst": "gpio:33", - "dc": "gpio:34", - "cs": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 16 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:38" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sd_bus", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:12", - "cmd": "gpio:14", - "d0": "gpio:39", - "clk": "gpio:40" - }, - "derived": { - "modes": [ - "sdio1" - ] - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "ext_header": { - "type": "logical_terminals_14", - "positions": { - "1": "gpio:3", - "2": "pwr:5vin", - "3": "gpio:4", - "4": "pwr:gnd", - "5": "gpio:6", - "6": "pwr:5vout", - "7": "gpio:40", - "8": "gpio:8", - "9": "gpio:14", - "10": "gpio:9", - "11": "gpio:39", - "12": "gpio:13", - "13": "gpio:5", - "14": "gpio:15" - }, - "note": "EXT 2.54-14P numbered as the official table. GPIO8/9 share internal I2C; GPIO14/39/40 share microSD SPI. Official table labels GPIO13 TX and GPIO15 RX; role names here identify terminals only. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5chaincaptain.json b/extras/board_spec/generated/resolved/m5chaincaptain.json deleted file mode 100644 index 5e010823..00000000 --- a/extras/board_spec/generated/resolved/m5chaincaptain.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "schema_version": 1, - "id": "m5chaincaptain", - "name": "M5ChainCaptain", - "official_name": "M5Stack Chain Captain", - "official_name_verified": true, - "aliases": [ - "chaincaptain", - "chain captain", - "captain" - ], - "legacy_board_id": 32, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 240, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi" - } - }, - "pins": { - "1": { - "roles": [ - "dev:btn_a.in" - ] - }, - "2": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:btn_b.in" - ] - }, - "5": { - "roles": [ - "dev:btn_c.in" - ] - }, - "6": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [], - "note": "Audio PA control" - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "45": { - "roles": [ - "dev:lcd.cs" - ] - }, - "46": { - "roles": [ - "dev:lcd.dc" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "jd9853", - "bus": "main_spi", - "spec": { - "width": 240, - "height": 240, - "memory_width": 240, - "memory_height": 320, - "offset_x": 0, - "offset_y": 0, - "rotation_offset": 2, - "invert": false, - "readable": false, - "rgb_order": true, - "three_wire": true - }, - "signals": { - "cs": "gpio:45", - "dc": "gpio:46" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x4F" - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c" - }, - "rtc": { - "kind": "rtc", - "part": "rx8130", - "bus": "internal_i2c" - }, - "imu": { - "kind": "imu", - "part": "bmi270", - "bus": "internal_i2c", - "i2c_addr": "0x68" - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:1" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:5" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:6", - "2": "gpio:7", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:17", - "2": "gpio:18", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5dial.json b/extras/board_spec/generated/resolved/m5dial.json deleted file mode 100644 index 27baf05e..00000000 --- a/extras/board_spec/generated/resolved/m5dial.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "schema_version": 1, - "id": "m5dial", - "name": "M5Dial", - "official_name": "M5Stack Dial", - "official_name_verified": true, - "aliases": [ - "dial", - "m5dial", - "dial v1.1" - ], - "legacy_board_id": 12, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 240, - 240 - ], - "touch": true - }, - "storage": { - "psram_mb": 0, - "flash_mb": 8 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Dial", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/499/Sch_M5Dial.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_b.in" - ], - "note": "Encoder push" - }, - "1": { - "roles": [ - "conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:buzzer.data_out" - ] - }, - "4": { - "roles": [ - "dev:lcd.dc" - ] - }, - "5": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "dev:lcd.cs" - ] - }, - "8": { - "roles": [ - "dev:lcd.rst" - ] - }, - "9": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "11": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:touch.int" - ] - }, - "15": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "dev:btn_a.in" - ] - }, - "46": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 80000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "gc9a01", - "bus": "main_spi", - "spec": { - "width": 240, - "height": 240, - "invert": true, - "readable": false - }, - "signals": { - "dc": "gpio:4", - "cs": "gpio:7", - "rst": "gpio:8" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:9" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_min": 0, - "x_max": 239, - "y_min": 0, - "y_max": 239, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:14" - }, - "verified": { - "signals": "generated" - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:46" - }, - "verified": { - "signals": "generated" - } - }, - "buzzer": { - "kind": "speaker", - "signals": { - "data_out": "gpio:3" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:42" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:15", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5dinmeter.json b/extras/board_spec/generated/resolved/m5dinmeter.json deleted file mode 100644 index d644c7a8..00000000 --- a/extras/board_spec/generated/resolved/m5dinmeter.json +++ /dev/null @@ -1,316 +0,0 @@ -{ - "schema_version": 1, - "id": "m5dinmeter", - "name": "M5DinMeter", - "official_name": "M5Stack DinMeter", - "official_name_verified": true, - "aliases": [ - "dinmeter", - "din meter" - ], - "legacy_board_id": 13, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "flash_mb": 8 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/DinMeter", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/500/DIN_Meter_v1.0.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_b.in" - ] - }, - "1": { - "roles": [ - "conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:buzzer.data_out" - ] - }, - "4": { - "roles": [ - "dev:lcd.dc" - ] - }, - "5": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "dev:lcd.cs" - ] - }, - "8": { - "roles": [ - "dev:lcd.rst" - ] - }, - "9": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "11": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "dev:btn_a.in" - ] - }, - "46": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "rotation_offset": 3, - "invert": true, - "readable": true - }, - "signals": { - "dc": "gpio:4", - "cs": "gpio:7", - "rst": "gpio:8" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 16 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:9" - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:46" - }, - "verified": { - "signals": "generated" - } - }, - "buzzer": { - "kind": "speaker", - "signals": { - "data_out": "gpio:3" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:42" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:15", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5dualkey.json b/extras/board_spec/generated/resolved/m5dualkey.json deleted file mode 100644 index 56ec9ae4..00000000 --- a/extras/board_spec/generated/resolved/m5dualkey.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "schema_version": 1, - "id": "m5dualkey", - "name": "M5DualKey", - "official_name": "M5Stack Chain DualKey", - "official_name_verified": true, - "legacy_board_id": 147, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/chain/Chain_DualKey", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1176/Chain_DualKey_SCH_V1.5_20250725_2025_07_25_16_06_51.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "5": { - "roles": [ - "conn:chain_2.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:chain_2.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "17": { - "roles": [ - "dev:btn_b.in" - ] - }, - "21": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [], - "note": "NC; measured floating" - }, - "39": { - "roles": [], - "note": "NC; measured floating" - }, - "47": { - "roles": [ - "conn:chain_1.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "48": { - "roles": [ - "conn:chain_1.3" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": {}, - "devices": { - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:17" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:21" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "chain_1": { - "type": "logical_terminals_4", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5v", - "3": "gpio:48", - "4": "gpio:47" - }, - "note": "HY2.0-4P_1 in logical official table order GND/VOUT/UART1_RX/UART1_TX. A physical Chain connector, not a library Port A/B/C contract. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "chain_2": { - "type": "logical_terminals_4", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5v", - "3": "gpio:5", - "4": "gpio:6" - }, - "note": "HY2.0-4P_2 in logical official table order GND/VOUT/UART2_RX/UART2_TX. A physical Chain connector, not a library Port A/B/C contract. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5nanoc6.json b/extras/board_spec/generated/resolved/m5nanoc6.json deleted file mode 100644 index cd05998b..00000000 --- a/extras/board_spec/generated/resolved/m5nanoc6.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "schema_version": 1, - "id": "m5nanoc6", - "name": "M5NanoC6", - "official_name": "M5Stack NanoC6", - "official_name_verified": true, - "legacy_board_id": 140, - "chip": "esp32c6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/NanoC6", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/505/Sch_M5NanoC6_v0.0.1.pdf" - } - }, - "pins": { - "1": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:ir_led.on" - ], - "note": "IR LED clamps the internal pull-up low", - "verified": { - "roles": "measured" - }, - "measured_by": { - "roles": "docs/investigations/nano-c6-h2-pins-2026-09-28.md" - } - } - }, - "buses": {}, - "devices": { - "ir_led": { - "kind": "led", - "signals": { - "on": "gpio:3" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Product marking PORT.CUSTOM; registered as port_a because M5Unified external I2C uses GPIO1 (SCL)/GPIO2 (SDA).", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5nanoh2.json b/extras/board_spec/generated/resolved/m5nanoh2.json deleted file mode 100644 index 78ac11e9..00000000 --- a/extras/board_spec/generated/resolved/m5nanoh2.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "schema_version": 1, - "id": "m5nanoh2", - "name": "M5NanoH2", - "official_name": "M5Stack NanoH2", - "official_name_verified": true, - "legacy_board_id": 151, - "chip": "esp32h2", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/NanoH2", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1204/SCH_M5NanoH2_v0.0.3_2025_08_20_17_17_26.pdf" - } - }, - "pins": { - "1": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:ir_led.on" - ], - "note": "IR LED clamps the internal pull-up low", - "verified": { - "roles": "measured" - }, - "measured_by": { - "roles": "docs/investigations/nano-c6-h2-pins-2026-09-28.md" - } - } - }, - "buses": {}, - "devices": { - "ir_led": { - "kind": "led", - "signals": { - "on": "gpio:3" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Product marking PORT.CUSTOM; registered as port_a because M5Unified external I2C uses GPIO1 (SCL)/GPIO2 (SDA).", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5paper.json b/extras/board_spec/generated/resolved/m5paper.json deleted file mode 100644 index 8d8485f7..00000000 --- a/extras/board_spec/generated/resolved/m5paper.json +++ /dev/null @@ -1,418 +0,0 @@ -{ - "schema_version": 1, - "id": "m5paper", - "name": "M5Paper", - "official_name": "M5Stack Paper", - "official_name_verified": true, - "aliases": [ - "paper", - "m5paper", - "paper v1.1", - "comm edition" - ], - "legacy_board_id": 7, - "chip": "esp32_d0wdq6", - "spec": { - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Paper", - "schematic": "https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/schematic/Core/m5paper/M5_PAPER_SCH.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot" - ] - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "2": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.cs" - ] - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "dev:lcd.rst" - ] - }, - "25": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.busy" - ] - }, - "32": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "dev:touch.int" - ] - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_c.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 20000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "cp2104", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "part": "it8951", - "bus": "main_spi", - "spec": { - "width": 960, - "height": 540, - "rotation_offset": 3 - }, - "signals": { - "cs": "gpio:15", - "rst": "gpio:23", - "busy": "gpio:27" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:4", - "cmd": "gpio:12", - "d0": "gpio:13", - "clk": "gpio:14" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "internal_i2c", - "i2c_addr": "0x5D", - "spec": { - "x_max": 539, - "y_max": 959 - }, - "signals": { - "int": "gpio:36" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:2" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:32", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:33", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:19", - "2": "gpio:18", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5papercolor.json b/extras/board_spec/generated/resolved/m5papercolor.json deleted file mode 100644 index f7de4bc6..00000000 --- a/extras/board_spec/generated/resolved/m5papercolor.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "schema_version": 1, - "id": "m5papercolor", - "name": "M5PaperColor", - "official_name": "M5Stack PaperColor", - "official_name_verified": true, - "aliases": [ - "papercolor", - "paper color", - "m5paper color" - ], - "legacy_board_id": 28, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 400, - 600 - ], - "touch": false - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi", - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/PaperColor", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1239/C151-SCH_PaperColor_V0.5_SCH_PDF_20260424_EN_2026_04_24_11_01_17.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "dev:btn_c.in" - ] - }, - "2": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "dev:btn_b.in" - ] - }, - "10": { - "roles": [ - "dev:btn_a.in" - ] - }, - "11": { - "roles": [ - "dev:epd.busy" - ] - }, - "12": { - "roles": [ - "dev:epd.rst" - ] - }, - "13": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "43": { - "roles": [ - "dev:epd.dc" - ] - }, - "44": { - "roles": [ - "dev:epd.cs" - ] - }, - "47": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 4000000, - "freq_read": 1000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "epd": { - "kind": "display", - "part": "ed2208", - "bus": "main_spi", - "spec": { - "width": 400, - "height": 600, - "offset_x": 0, - "offset_y": 0, - "rotation_offset": 0, - "invert": false, - "readable": false, - "three_wire": true - }, - "signals": { - "busy": "gpio:11", - "rst": "gpio:12", - "dc": "gpio:43", - "cs": "gpio:44" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "cmd": "gpio:13", - "d0": "gpio:14", - "clk": "gpio:15", - "d3": "gpio:47" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "main_spi", - "cs": "gpio:47" - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "rtc": { - "kind": "rtc", - "part": "rx8130", - "bus": "internal_i2c" - }, - "env": { - "kind": "sensor", - "part": "sht40", - "bus": "internal_i2c" - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 2 - }, - "signals": { - "data": "gpio:21" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:10" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:9" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:1" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Grove 5V direction is controlled by PY_GROVE_OUT_EN (M5PM1 BOOST5V_EN_PP); the official pin map assigns white GPIO5 and yellow GPIO4.", - "positions": { - "1": "gpio:5", - "2": "gpio:4", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5paperdiy.json b/extras/board_spec/generated/resolved/m5paperdiy.json deleted file mode 100644 index 7f9974a1..00000000 --- a/extras/board_spec/generated/resolved/m5paperdiy.json +++ /dev/null @@ -1,396 +0,0 @@ -{ - "schema_version": 1, - "id": "m5paperdiy", - "name": "M5PaperDIY", - "official_name": "M5Stack PaperDIY", - "aliases": [ - "paperdiy", - "paper diy" - ], - "legacy_board_id": 34, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 960, - 540 - ], - "touch": false - }, - "storage": { - "psram_mode": "opi", - "sd": true, - "psram_mb": 8 - } - }, - "pins": { - "3": { - "roles": [ - "dev:btn_b.in" - ] - }, - "4": { - "roles": [ - "dev:btn_a.in" - ] - }, - "6": { - "roles": [ - "bus:epd_bus.data0" - ] - }, - "7": { - "roles": [ - "bus:epd_bus.data2" - ] - }, - "8": { - "roles": [ - "bus:epd_bus.data6" - ] - }, - "9": { - "roles": [ - "bus:epd_bus.data4" - ] - }, - "10": { - "roles": [ - "bus:epd_bus.data7" - ] - }, - "11": { - "roles": [ - "bus:epd_bus.data5" - ] - }, - "12": { - "roles": [ - "bus:epd_bus.data3" - ] - }, - "13": { - "roles": [ - "bus:epd_bus.sph" - ] - }, - "14": { - "roles": [ - "bus:epd_bus.data1" - ] - }, - "15": { - "roles": [ - "bus:epd_bus.le" - ] - }, - "16": { - "roles": [ - "bus:epd_bus.cl" - ] - }, - "17": { - "roles": [ - "bus:epd_bus.spv" - ] - }, - "18": { - "roles": [ - "bus:epd_bus.ckv" - ] - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "38": { - "roles": [ - "bus:sd_spi.mosi", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sd_spi.sclk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sd_spi.miso", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "bus:epd_bus.oe" - ] - }, - "46": { - "roles": [ - "bus:epd_bus.pwr" - ] - }, - "47": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "epd_bus": { - "kind": "parallel_epd", - "signals": [ - "data0", - "data1", - "data2", - "data3", - "data4", - "data5", - "data6", - "data7", - "pwr", - "spv", - "ckv", - "sph", - "oe", - "le", - "cl" - ], - "fixed": false, - "freq": 16000000 - }, - "sd_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "fixed": false, - "verified": { - "signals": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - } - }, - "devices": { - "epd": { - "kind": "display", - "part": "ed047tc1", - "bus": "epd_bus", - "spec": { - "width": 960, - "height": 540, - "memory_width": 960, - "memory_height": 540, - "offset_x": 0, - "offset_y": 0, - "rotation_offset": 3, - "line_padding": 8 - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sd_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "cmd": "gpio:38", - "clk": "gpio:39", - "d0": "gpio:40", - "d3": "gpio:47" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "sd_spi", - "cs": "gpio:47" - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:3" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:42", - "2": "gpio:41", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5papermono.json b/extras/board_spec/generated/resolved/m5papermono.json deleted file mode 100644 index a6a907e6..00000000 --- a/extras/board_spec/generated/resolved/m5papermono.json +++ /dev/null @@ -1,438 +0,0 @@ -{ - "schema_version": 1, - "id": "m5papermono", - "name": "M5PaperMono", - "official_name": "M5Stack PaperMono", - "official_name_verified": true, - "aliases": [ - "papermono", - "paper mono", - "m5papermono", - "papermono-lite" - ], - "legacy_board_id": 29, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 800, - 480 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi", - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/PaperMono", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1267/PaperMono_SCH_V0.6.2_20260522.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "2": { - "roles": [ - "dev:btn_a.in" - ] - }, - "3": { - "roles": [ - "dev:btn_b.in" - ] - }, - "4": { - "roles": [ - "dev:touch.int" - ] - }, - "8": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "dev:epd.cs" - ] - }, - "17": { - "roles": [ - "dev:epd.dc" - ] - }, - "18": { - "roles": [ - "dev:epd.busy" - ] - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "47": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 10000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 1, - "fixed": false - } - }, - "devices": { - "epd": { - "kind": "display", - "part": "ssd1677", - "bus": "main_spi", - "spec": { - "width": 800, - "height": 480, - "offset_x": 0, - "offset_y": 0, - "rotation_offset": 3, - "invert": false, - "readable": false, - "three_wire": true - }, - "signals": { - "cs": "gpio:16", - "dc": "gpio:17", - "busy": "gpio:18" - }, - "verified": { - "signals": "generated" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "touch_i2c", - "i2c_addr": "0x38", - "spec": { - "x_min": 0, - "x_max": 479, - "y_min": 0, - "y_max": 799, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x6E" - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c" - }, - "rtc": { - "kind": "rtc", - "bus": "internal_i2c", - "i2c_addr": "0x32" - }, - "imu": { - "kind": "imu", - "bus": "internal_i2c", - "i2c_addr": "0x68" - }, - "nfc": { - "kind": "sensor", - "bus": "internal_i2c", - "i2c_addr": "0x50" - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:8", - "d2": "gpio:9", - "d1": "gpio:10", - "d0": "gpio:11", - "cmd": "gpio:12", - "clk": "gpio:13" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:2" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:3" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5papers3.json b/extras/board_spec/generated/resolved/m5papers3.json deleted file mode 100644 index adf9c904..00000000 --- a/extras/board_spec/generated/resolved/m5papers3.json +++ /dev/null @@ -1,424 +0,0 @@ -{ - "schema_version": 1, - "id": "m5papers3", - "name": "M5PaperS3", - "official_name": "M5Stack PaperS3", - "official_name_verified": true, - "aliases": [ - "papers3", - "m5papers3", - "paper s3" - ], - "legacy_board_id": 19, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 960, - 540 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi", - "flash_mb": 16, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/PaperS3", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/517/sch_papers3_V1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "bus:epd_bus.data0" - ] - }, - "7": { - "roles": [ - "bus:epd_bus.data2" - ] - }, - "8": { - "roles": [ - "bus:epd_bus.data6" - ] - }, - "9": { - "roles": [ - "bus:epd_bus.data4" - ] - }, - "10": { - "roles": [ - "bus:epd_bus.data7" - ] - }, - "11": { - "roles": [ - "bus:epd_bus.data5" - ] - }, - "12": { - "roles": [ - "bus:epd_bus.data3" - ] - }, - "13": { - "roles": [ - "bus:epd_bus.sph" - ] - }, - "14": { - "roles": [ - "bus:epd_bus.data1" - ] - }, - "15": { - "roles": [ - "bus:epd_bus.le" - ] - }, - "16": { - "roles": [ - "bus:epd_bus.cl" - ] - }, - "17": { - "roles": [ - "bus:epd_bus.spv" - ] - }, - "18": { - "roles": [ - "bus:epd_bus.ckv" - ] - }, - "21": { - "roles": [], - "note": "buzzer" - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "38": { - "roles": [ - "bus:sd_spi.mosi", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sd_spi.sclk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sd_spi.miso", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "dev:power_hold.enable" - ], - "note": "PWROFF_PULSE (also U0RXD)", - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "bus:epd_bus.oe" - ] - }, - "46": { - "roles": [ - "bus:epd_bus.pwr" - ] - }, - "47": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "dev:touch.int" - ] - } - }, - "buses": { - "epd_bus": { - "kind": "parallel_epd", - "signals": [ - "data0", - "data1", - "data2", - "data3", - "data4", - "data5", - "data6", - "data7", - "pwr", - "spv", - "ckv", - "sph", - "oe", - "le", - "cl" - ], - "fixed": false, - "freq": 16000000 - }, - "sd_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "fixed": false, - "verified": { - "signals": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "epd": { - "kind": "display", - "part": "ed047tc1", - "bus": "epd_bus", - "spec": { - "width": 960, - "height": 540, - "memory_width": 960, - "memory_height": 540, - "offset_x": 0, - "offset_y": 0, - "rotation_offset": 3, - "line_padding": 8 - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sd_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "cmd": "gpio:38", - "clk": "gpio:39", - "d0": "gpio:40", - "d3": "gpio:47" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "sd_spi", - "cs": "gpio:47" - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "internal_i2c", - "spec": { - "x_min": 0, - "x_max": 539, - "y_min": 0, - "y_max": 959, - "rotation_offset": 1 - }, - "signals": { - "int": "gpio:48" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "spec": { - "active_low": true - }, - "signals": { - "enable": "gpio:44" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hc125_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:3v3", - "4": "pwr:gnd" - }, - "note": "The physical connector is HC1.25-4PLT. Official schematic J5: 1=GND, 2=3V3 (SOC_VDD), 3=GPIO1, 4=GPIO2. The port_a terminal numbers are the pin-table logical order: 1=GPIO1 (library SCL), 2=GPIO2 (library SDA), 3=3V3, 4=GND. The schematic names the external signals EXT_GPIO1/2, not SCL/SDA; the product color table lists yellow=GPIO1 and white=GPIO2.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5powerhub.json b/extras/board_spec/generated/resolved/m5powerhub.json deleted file mode 100644 index b973cbe2..00000000 --- a/extras/board_spec/generated/resolved/m5powerhub.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "schema_version": 1, - "id": "m5powerhub", - "name": "M5PowerHub", - "official_name": "M5Stack PowerHub", - "official_name_verified": true, - "legacy_board_id": 146, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/PowerHub", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1183/PowerHub_SCH_Main_b0.3_20250704_Docs_2025_09_09_14_01_58.pdf" - } - }, - "pins": { - "1": { - "roles": [ - "conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:ext_bus.15" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:ext_bus.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:ext_bus.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:ext_bus.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "conn:ext_bus.13" - ], - "verified": { - "roles": "datasheet" - } - }, - "42": { - "roles": [ - "conn:ext_bus.11" - ], - "verified": { - "roles": "datasheet" - } - }, - "43": { - "roles": [ - "conn:ext_bus.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:ext_bus.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "i2c_device": { - "kind": "io_expander", - "bus": "internal_i2c", - "i2c_addr": "0x50" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:16", - "2": "gpio:15", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "The product color table lists white GPIO2/yellow GPIO1. The existing port_c terminal contract remains 1=GPIO1/2=GPIO2 for compatibility with the library pin table; terminal order is logical.", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "ext_bus": { - "type": "logical_terminals_16", - "positions": { - "1": "pwr:bat", - "2": "pwr:bat", - "3": "pwr:vin", - "4": "pwr:5vout", - "5": "pwr:gnd", - "6": "pwr:gnd", - "7": "gpio:43", - "8": "chip:en", - "9": "gpio:44", - "10": "fixed:pmu.nwkup", - "11": "gpio:42", - "12": "gpio:7", - "13": "gpio:41", - "14": "gpio:6", - "15": "gpio:4", - "16": "gpio:5" - }, - "note": "Rear EXT 2.54-16P numbered as the official table. BAT-2S is the two-cell battery rail; nWKUP is the PMU wake signal, not an ESP32 GPIO. 5VOUT is enabled by GPIO14. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@from_2020_04_to_v2_5_fire+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@from_2020_04_to_v2_5_fire+lcd=ips.json deleted file mode 100644 index a7bc97b7..00000000 --- a/extras/board_spec/generated/resolved/m5stack@from_2020_04_to_v2_5_fire+lcd=ips.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "dev:psram.cs", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "dev:psram.clk", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@from_2020_04_to_v2_5_fire+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@from_2020_04_to_v2_5_fire+lcd=tn.json deleted file mode 100644 index 48e39982..00000000 --- a/extras/board_spec/generated/resolved/m5stack@from_2020_04_to_v2_5_fire+lcd=tn.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "dev:psram.cs", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "dev:psram.clk", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@pre_2020_04_fire+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@pre_2020_04_fire+lcd=ips.json deleted file mode 100644 index b193da8e..00000000 --- a/extras/board_spec/generated/resolved/m5stack@pre_2020_04_fire+lcd=ips.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 4, - "psram_mode": "quad" - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "dev:psram.cs", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "dev:psram.clk", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@pre_2020_04_fire+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@pre_2020_04_fire+lcd=tn.json deleted file mode 100644 index 26a6b979..00000000 --- a/extras/board_spec/generated/resolved/m5stack@pre_2020_04_fire+lcd=tn.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 4, - "psram_mode": "quad" - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "dev:psram.cs", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "dev:psram.clk", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_basic+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@pre_v2_6_basic+lcd=ips.json deleted file mode 100644 index ae0b044e..00000000 --- a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_basic+lcd=ips.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_basic+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@pre_v2_6_basic+lcd=tn.json deleted file mode 100644 index 075a88ba..00000000 --- a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_basic+lcd=tn.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_gray+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@pre_v2_6_gray+lcd=ips.json deleted file mode 100644 index ae0b044e..00000000 --- a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_gray+lcd=ips.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_gray+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@pre_v2_6_gray+lcd=tn.json deleted file mode 100644 index 075a88ba..00000000 --- a/extras/board_spec/generated/resolved/m5stack@pre_v2_6_gray+lcd=tn.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_basic+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@v2_6_plus_basic+lcd=ips.json deleted file mode 100644 index 62dfbe74..00000000 --- a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_basic+lcd=ips.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_basic+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@v2_6_plus_basic+lcd=tn.json deleted file mode 100644 index 88e2de3e..00000000 --- a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_basic+lcd=tn.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_fire+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@v2_6_plus_fire+lcd=ips.json deleted file mode 100644 index ab0e279f..00000000 --- a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_fire+lcd=ips.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "dev:psram.cs", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "dev:psram.clk", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_fire+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@v2_6_plus_fire+lcd=tn.json deleted file mode 100644 index a7118953..00000000 --- a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_fire+lcd=tn.json +++ /dev/null @@ -1,562 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "dev:psram.cs", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "dev:psram.clk", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_gray+lcd=ips.json b/extras/board_spec/generated/resolved/m5stack@v2_6_plus_gray+lcd=ips.json deleted file mode 100644 index 62dfbe74..00000000 --- a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_gray+lcd=ips.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "ips" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_gray+lcd=tn.json b/extras/board_spec/generated/resolved/m5stack@v2_6_plus_gray+lcd=tn.json deleted file mode 100644 index 88e2de3e..00000000 --- a/extras/board_spec/generated/resolved/m5stack@v2_6_plus_gray+lcd=tn.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack", - "name": "M5Stack", - "official_name": "M5Stack Core (Basic/Gray/Fire)", - "aliases": [ - "core", - "basic", - "gray", - "grey", - "fire", - "m5go", - "m5stack basic" - ], - "legacy_board_id": 1, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Basic", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/480/M5-Core-Schematic_20171206.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - }, - "storage": { - "psram_mb": 0 - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.20", - "m5basic_base_lite/conn:port_e.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.22", - "m5basic_base_lite/conn:port_e.2" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.cs" - ] - }, - "15": { - "roles": [ - "conn:mbus.23", - "m5go_bottom/dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:mbus.15", - "m5go_bottom/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.16", - "m5go_bottom/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:port_a.2", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:port_a.1", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:speaker.data_out", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "dev:lcd.dc" - ] - }, - "32": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:mic.data_in", - "conn:mbus.26", - "m5basic_base_lite/conn:port_d.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "m5basic_base_lite/conn:port_d.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_c.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_a.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "part": "ili9342c", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0, - "panel_type": "tn" - }, - "signals": { - "cs": "gpio:14", - "dc": "gpio:27", - "rst": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "d0": "gpio:19", - "cmd": "gpio:23" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:32" - } - }, - "speaker": { - "kind": "speaker", - "signals": { - "data_out": "gpio:25" - } - }, - "mic": { - "kind": "mic", - "signals": { - "data_in": "gpio:34" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:15" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:22", - "2": "gpio:21", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Basic/Gray/Fire/M5GO share this host M-Bus mapping. Port B/C belong to M5GO Bottom accessories. GPIO16/17 are used by PSRAM on Fire; HPWR and battery availability depend on the attached base.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:19", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:16", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:2", - "20": "gpio:5", - "21": "gpio:12", - "22": "gpio:13", - "23": "gpio:15", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5basic_base_lite", - "origin": "third_party", - "bundled": false - }, - "positions": { - "1": "gpio:5", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_core2@v1_0.json b/extras/board_spec/generated/resolved/m5stack_core2@v1_0.json deleted file mode 100644 index 1ab46366..00000000 --- a/extras/board_spec/generated/resolved/m5stack_core2@v1_0.json +++ /dev/null @@ -1,689 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_core2", - "name": "M5StackCore2", - "official_name": "M5Stack Core2", - "official_name_verified": true, - "aliases": [ - "core2", - "core2 v1.1", - "core2 v1.3", - "core2 for aws", - "aws" - ], - "legacy_board_id": 2, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "size_inch": 2, - "resolution": [ - 320, - 240 - ] - }, - "power": { - "battery_mah": 390, - "usb": "type-c" - }, - "storage": { - "psram_mb": 8, - "flash_mb": 16, - "sd": true, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Core2", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/644/CORE2_V1.0_SCH.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:i2s_spk.ws", - "bus:pdm_mic.ws", - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "pull": "none", - "note": "I2S WS shared by the speaker and PDM microphone", - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "pull": "none", - "note": "TXD0", - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:i2s_spk.data_out", - "conn:mbus.23" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "pull": "none", - "note": "RXD0", - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ], - "pull": "up" - }, - "12": { - "roles": [ - "bus:i2s_spk.bck" - ], - "pull": "none" - }, - "13": { - "roles": [ - "conn:mbus.15", - "m5go_bottom2/conn:port_c.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16", - "m5go_bottom2/conn:port_c.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.dc" - ], - "pull": "none" - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.22", - "extport_core2/conn:port_e.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:mbus.8", - "m5go_bottom2/dev:rgb_led.data" - ], - "pull": "none", - "note": "Optional M5GO Bottom2 LED bar (M5Unified RGBLED column)", - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom2/conn:port_b.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "conn:mbus.21", - "extport_core2/conn:port_e.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:pdm_mic.data_in", - "conn:mbus.26", - "extport_core2/conn:port_d.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "extport_core2/conn:port_d.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom2/conn:port_b.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "dev:touch.int" - ], - "pull": "up" - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "i2s_spk": { - "kind": "i2s", - "signals": [ - "bck", - "ws", - "data_out" - ], - "fixed": false - }, - "pdm_mic": { - "kind": "pdm", - "signals": [ - "ws", - "data_in" - ], - "fixed": false - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "cp2104", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0 - }, - "part": "ili9342c", - "signals": { - "cs": "gpio:5", - "dc": "gpio:15", - "rst": "pin:pmic.gpio3", - "backlight": "pin:pmic.dcdc3" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "cmd": "gpio:23", - "d0": "gpio:38" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 279 - }, - "signals": { - "int": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "speaker": { - "kind": "speaker", - "part": "ns4168", - "bus": "i2s_spk", - "enable": "pin:pmic.gpio2", - "verified": { - "enable": "generated" - } - }, - "mic": { - "kind": "mic", - "part": "spm1423", - "bus": "pdm_mic" - }, - "imu": { - "kind": "imu", - "bus": "internal_i2c", - "i2c_addr": "0x68", - "part": "mpu6886" - }, - "rtc": { - "kind": "rtc", - "part": "bm8563", - "bus": "internal_i2c", - "i2c_addr": "0x51" - }, - "pmic": { - "kind": "pmic", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "part": "axp192", - "pins": { - "gpio3": { - "roles": [ - "dev:lcd.rst" - ] - }, - "gpio2": { - "roles": [ - "dev:speaker.enable" - ] - }, - "dcdc3": { - "roles": [ - "dev:lcd.backlight" - ] - }, - "ldo2": { - "roles": [ - "pwr:lcd_sd_3v3" - ] - }, - "ldo3": { - "roles": [ - "dev:vibration.enable" - ] - }, - "gpio1": { - "roles": [ - "dev:power_led.pwm" - ] - }, - "dcdc1": { - "roles": [ - "pwr:esp_3v3" - ] - }, - "gpio0": { - "roles": [ - "pwr:ext_ldo" - ] - }, - "exten": { - "roles": [ - "pwr:ext_5v" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "vibration": { - "kind": "vibration", - "signals": { - "enable": "pin:pmic.ldo3" - } - }, - "power_led": { - "kind": "led", - "signals": { - "pwm": "pin:pmic.gpio1" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:25" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Official Core2 host mapping. Port B/C are provided by optional bottom accessories, not the bare host. GPIO34 is shared with the microphone on the attached Core2 Ext Board.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:38", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:32", - "20": "gpio:33", - "21": "gpio:27", - "22": "gpio:19", - "23": "gpio:2", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:27", - "2": "gpio:19", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_core2@v1_1.json b/extras/board_spec/generated/resolved/m5stack_core2@v1_1.json deleted file mode 100644 index 9bfe01f8..00000000 --- a/extras/board_spec/generated/resolved/m5stack_core2@v1_1.json +++ /dev/null @@ -1,674 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_core2", - "name": "M5StackCore2", - "official_name": "M5Stack Core2", - "official_name_verified": true, - "aliases": [ - "core2", - "core2 v1.1", - "core2 v1.3", - "core2 for aws", - "aws" - ], - "legacy_board_id": 2, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "size_inch": 2, - "resolution": [ - 320, - 240 - ] - }, - "power": { - "battery_mah": 390, - "usb": "type-c" - }, - "storage": { - "psram_mb": 8, - "flash_mb": 16, - "sd": true, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Core2", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/644/CORE2_V1.0_SCH.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:i2s_spk.ws", - "bus:pdm_mic.ws", - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "pull": "none", - "note": "I2S WS shared by the speaker and PDM microphone", - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "pull": "none", - "note": "TXD0", - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:i2s_spk.data_out", - "conn:mbus.23" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "pull": "none", - "note": "RXD0", - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ], - "pull": "up" - }, - "12": { - "roles": [ - "bus:i2s_spk.bck" - ], - "pull": "none" - }, - "13": { - "roles": [ - "conn:mbus.15", - "m5go_bottom2/conn:port_c.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16", - "m5go_bottom2/conn:port_c.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.dc" - ], - "pull": "none" - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.22", - "extport_core2/conn:port_e.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:mbus.8", - "m5go_bottom2/dev:rgb_led.data" - ], - "pull": "none", - "note": "Optional M5GO Bottom2 LED bar (M5Unified RGBLED column)", - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom2/conn:port_b.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "conn:mbus.21", - "extport_core2/conn:port_e.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:pdm_mic.data_in", - "conn:mbus.26", - "extport_core2/conn:port_d.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "extport_core2/conn:port_d.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom2/conn:port_b.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "dev:touch.int" - ], - "pull": "up" - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "i2s_spk": { - "kind": "i2s", - "signals": [ - "bck", - "ws", - "data_out" - ], - "fixed": false - }, - "pdm_mic": { - "kind": "pdm", - "signals": [ - "ws", - "data_in" - ], - "fixed": false - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0 - }, - "part": "ili9342c", - "signals": { - "cs": "gpio:5", - "dc": "gpio:15", - "rst": "pin:pmic.aldo2", - "backlight": "pin:pmic.bldo1" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "cmd": "gpio:23", - "d0": "gpio:38" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 279 - }, - "signals": { - "int": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "speaker": { - "kind": "speaker", - "part": "ns4168", - "bus": "i2s_spk", - "enable": "pin:pmic.aldo3", - "verified": { - "enable": "generated" - } - }, - "mic": { - "kind": "mic", - "part": "spm1423", - "bus": "pdm_mic" - }, - "imu": { - "kind": "imu", - "bus": "internal_i2c", - "i2c_addr": "0x68", - "part": "mpu6886" - }, - "rtc": { - "kind": "rtc", - "part": "bm8563", - "bus": "internal_i2c", - "i2c_addr": "0x51" - }, - "pmic": { - "kind": "pmic", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "part": "axp2101", - "pins": { - "aldo2": { - "roles": [ - "dev:lcd.rst" - ] - }, - "aldo3": { - "roles": [ - "dev:speaker.enable" - ] - }, - "bldo1": { - "roles": [ - "dev:lcd.backlight" - ] - }, - "dldo1": { - "roles": [ - "dev:vibration.enable" - ] - }, - "bldo2": { - "roles": [ - "pwr:ext_5v" - ] - }, - "chgled": { - "roles": [ - "dev:power_led.on" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "vibration": { - "kind": "vibration", - "signals": { - "enable": "pin:pmic.dldo1" - } - }, - "power_led": { - "kind": "led", - "signals": { - "on": "pin:pmic.chgled" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:25" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Official Core2 host mapping. Port B/C are provided by optional bottom accessories, not the bare host. GPIO34 is shared with the microphone on the attached Core2 Ext Board.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:38", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:32", - "20": "gpio:33", - "21": "gpio:27", - "22": "gpio:19", - "23": "gpio:2", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:27", - "2": "gpio:19", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_core2@v1_2.json b/extras/board_spec/generated/resolved/m5stack_core2@v1_2.json deleted file mode 100644 index 2800930b..00000000 --- a/extras/board_spec/generated/resolved/m5stack_core2@v1_2.json +++ /dev/null @@ -1,689 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_core2", - "name": "M5StackCore2", - "official_name": "M5Stack Core2", - "official_name_verified": true, - "aliases": [ - "core2", - "core2 v1.1", - "core2 v1.3", - "core2 for aws", - "aws" - ], - "legacy_board_id": 2, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "size_inch": 2, - "resolution": [ - 320, - 240 - ] - }, - "power": { - "battery_mah": 390, - "usb": "type-c" - }, - "storage": { - "psram_mb": 8, - "flash_mb": 16, - "sd": true, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Core2", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/644/CORE2_V1.0_SCH.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:i2s_spk.ws", - "bus:pdm_mic.ws", - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "pull": "none", - "note": "I2S WS shared by the speaker and PDM microphone", - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "pull": "none", - "note": "TXD0", - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:i2s_spk.data_out", - "conn:mbus.23" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "pull": "none", - "note": "RXD0", - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ], - "pull": "up" - }, - "12": { - "roles": [ - "bus:i2s_spk.bck" - ], - "pull": "none" - }, - "13": { - "roles": [ - "conn:mbus.15", - "m5go_bottom2/conn:port_c.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16", - "m5go_bottom2/conn:port_c.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.dc" - ], - "pull": "none" - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.22", - "extport_core2/conn:port_e.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:mbus.8", - "m5go_bottom2/dev:rgb_led.data" - ], - "pull": "none", - "note": "Optional M5GO Bottom2 LED bar (M5Unified RGBLED column)", - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom2/conn:port_b.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "conn:mbus.21", - "extport_core2/conn:port_e.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:pdm_mic.data_in", - "conn:mbus.26", - "extport_core2/conn:port_d.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "extport_core2/conn:port_d.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom2/conn:port_b.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "dev:touch.int" - ], - "pull": "up" - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "i2s_spk": { - "kind": "i2s", - "signals": [ - "bck", - "ws", - "data_out" - ], - "fixed": false - }, - "pdm_mic": { - "kind": "pdm", - "signals": [ - "ws", - "data_in" - ], - "fixed": false - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0 - }, - "part": "ili9342c", - "signals": { - "cs": "gpio:5", - "dc": "gpio:15", - "rst": "pin:pmic.gpio3", - "backlight": "pin:pmic.dcdc3" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "cmd": "gpio:23", - "d0": "gpio:38" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 279 - }, - "signals": { - "int": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "speaker": { - "kind": "speaker", - "part": "ns4168", - "bus": "i2s_spk", - "enable": "pin:pmic.gpio2", - "verified": { - "enable": "generated" - } - }, - "mic": { - "kind": "mic", - "part": "spm1423", - "bus": "pdm_mic" - }, - "imu": { - "kind": "imu", - "bus": "internal_i2c", - "i2c_addr": "0x68", - "part": "mpu6886" - }, - "rtc": { - "kind": "rtc", - "part": "bm8563", - "bus": "internal_i2c", - "i2c_addr": "0x51" - }, - "pmic": { - "kind": "pmic", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "part": "axp192", - "pins": { - "gpio3": { - "roles": [ - "dev:lcd.rst" - ] - }, - "gpio2": { - "roles": [ - "dev:speaker.enable" - ] - }, - "dcdc3": { - "roles": [ - "dev:lcd.backlight" - ] - }, - "ldo2": { - "roles": [ - "pwr:lcd_sd_3v3" - ] - }, - "ldo3": { - "roles": [ - "dev:vibration.enable" - ] - }, - "gpio1": { - "roles": [ - "dev:power_led.pwm" - ] - }, - "dcdc1": { - "roles": [ - "pwr:esp_3v3" - ] - }, - "gpio0": { - "roles": [ - "pwr:ext_ldo" - ] - }, - "exten": { - "roles": [ - "pwr:ext_5v" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "vibration": { - "kind": "vibration", - "signals": { - "enable": "pin:pmic.ldo3" - } - }, - "power_led": { - "kind": "led", - "signals": { - "pwm": "pin:pmic.gpio1" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:25" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Official Core2 host mapping. Port B/C are provided by optional bottom accessories, not the bare host. GPIO34 is shared with the microphone on the attached Core2 Ext Board.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:38", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:32", - "20": "gpio:33", - "21": "gpio:27", - "22": "gpio:19", - "23": "gpio:2", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:27", - "2": "gpio:19", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_core2@v1_3.json b/extras/board_spec/generated/resolved/m5stack_core2@v1_3.json deleted file mode 100644 index dcdf33e3..00000000 --- a/extras/board_spec/generated/resolved/m5stack_core2@v1_3.json +++ /dev/null @@ -1,689 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_core2", - "name": "M5StackCore2", - "official_name": "M5Stack Core2", - "official_name_verified": true, - "aliases": [ - "core2", - "core2 v1.1", - "core2 v1.3", - "core2 for aws", - "aws" - ], - "legacy_board_id": 2, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "size_inch": 2, - "resolution": [ - 320, - 240 - ] - }, - "power": { - "battery_mah": 390, - "usb": "type-c" - }, - "storage": { - "psram_mb": 8, - "flash_mb": 16, - "sd": true, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Core2", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/644/CORE2_V1.0_SCH.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:i2s_spk.ws", - "bus:pdm_mic.ws", - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "pull": "none", - "note": "I2S WS shared by the speaker and PDM microphone", - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "pull": "none", - "note": "TXD0", - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:i2s_spk.data_out", - "conn:mbus.23" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "pull": "none", - "note": "RXD0", - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ], - "pull": "up" - }, - "12": { - "roles": [ - "bus:i2s_spk.bck" - ], - "pull": "none" - }, - "13": { - "roles": [ - "conn:mbus.15", - "m5go_bottom2/conn:port_c.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16", - "m5go_bottom2/conn:port_c.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.dc" - ], - "pull": "none" - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.22", - "extport_core2/conn:port_e.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:mbus.8", - "m5go_bottom2/dev:rgb_led.data" - ], - "pull": "none", - "note": "Optional M5GO Bottom2 LED bar (M5Unified RGBLED column)", - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "m5go_bottom2/conn:port_b.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "conn:mbus.21", - "extport_core2/conn:port_e.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:pdm_mic.data_in", - "conn:mbus.26", - "extport_core2/conn:port_d.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2", - "extport_core2/conn:port_d.2" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "m5go_bottom2/conn:port_b.1" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "pull": "none", - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "dev:touch.int" - ], - "pull": "up" - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "i2s_spk": { - "kind": "i2s", - "signals": [ - "bck", - "ws", - "data_out" - ], - "fixed": false - }, - "pdm_mic": { - "kind": "pdm", - "signals": [ - "ws", - "data_in" - ], - "fixed": false - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "part": "ch9102f", - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0 - }, - "part": "ili9342e", - "signals": { - "cs": "gpio:5", - "dc": "gpio:15", - "rst": "pin:pmic.gpio3", - "backlight": "pin:pmic.dcdc3" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "cmd": "gpio:23", - "d0": "gpio:38" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 279 - }, - "signals": { - "int": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "speaker": { - "kind": "speaker", - "part": "ns4168", - "bus": "i2s_spk", - "enable": "pin:pmic.gpio2", - "verified": { - "enable": "generated" - } - }, - "mic": { - "kind": "mic", - "part": "spm1423", - "bus": "pdm_mic" - }, - "imu": { - "kind": "imu", - "bus": "internal_i2c", - "i2c_addr": "0x68", - "part": "bmi270" - }, - "rtc": { - "kind": "rtc", - "part": "bm8563", - "bus": "internal_i2c", - "i2c_addr": "0x51" - }, - "pmic": { - "kind": "pmic", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "part": "axp192", - "pins": { - "gpio3": { - "roles": [ - "dev:lcd.rst" - ] - }, - "gpio2": { - "roles": [ - "dev:speaker.enable" - ] - }, - "dcdc3": { - "roles": [ - "dev:lcd.backlight" - ] - }, - "ldo2": { - "roles": [ - "pwr:lcd_sd_3v3" - ] - }, - "ldo3": { - "roles": [ - "dev:vibration.enable" - ] - }, - "gpio1": { - "roles": [ - "dev:power_led.pwm" - ] - }, - "dcdc1": { - "roles": [ - "pwr:esp_3v3" - ] - }, - "gpio0": { - "roles": [ - "pwr:ext_ldo" - ] - }, - "exten": { - "roles": [ - "pwr:ext_5v" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "vibration": { - "kind": "vibration", - "signals": { - "enable": "pin:pmic.ldo3" - } - }, - "power_led": { - "kind": "led", - "signals": { - "pwm": "pin:pmic.gpio1" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rgb_led": { - "kind": "led_strip", - "part": "sk6812", - "spec": { - "count": 10 - }, - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "signals": { - "data": "gpio:25" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "Official Core2 host mapping. Port B/C are provided by optional bottom accessories, not the bare host. GPIO34 is shared with the microphone on the attached Core2 Ext Board.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:38", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:32", - "20": "gpio:33", - "21": "gpio:27", - "22": "gpio:19", - "23": "gpio:2", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "m5go_bottom2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:34", - "2": "gpio:35", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "extport_core2", - "origin": "official", - "bundled": false - }, - "positions": { - "1": "gpio:27", - "2": "gpio:19", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_coreink+epd=gdew0154d67.json b/extras/board_spec/generated/resolved/m5stack_coreink+epd=gdew0154d67.json deleted file mode 100644 index dedfdeac..00000000 --- a/extras/board_spec/generated/resolved/m5stack_coreink+epd=gdew0154d67.json +++ /dev/null @@ -1,425 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_coreink", - "name": "M5StackCoreInk", - "official_name": "M5Stack CoreInk", - "official_name_verified": true, - "aliases": [ - "coreink", - "core ink" - ], - "legacy_board_id": 6, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "resolution": [ - 200, - 200 - ], - "touch": false - }, - "storage": { - "psram_mb": 0 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/CoreInk", - "schematic": "https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/schematic/Core/coreink/coreink_sch.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:epd.rst", - "dev:usb_serial.boot" - ] - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "4": { - "roles": [ - "dev:epd.busy" - ] - }, - "5": { - "roles": [ - "dev:btn_ext.in" - ] - }, - "9": { - "roles": [ - "dev:epd.cs" - ] - }, - "12": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:coreink_bus.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "conn:coreink_bus.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "dev:epd.dc" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "conn:coreink_bus.11" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:coreink_bus.9" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:coreink_bus.10" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "conn:coreink_bus.15" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:coreink_bus.16", - "conn:hat.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:coreink_bus.14", - "conn:hat.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "dev:btn_pwr.in" - ] - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:main_spi.miso", - "conn:coreink_bus.13" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:coreink_bus.12", - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_c.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "cp2104", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "epd": { - "kind": "display", - "bus": "main_spi", - "part": "gdew0154d67", - "spec": { - "width": 200, - "height": 200, - "three_wire": true - }, - "signals": { - "rst": "gpio:0", - "busy": "gpio:4", - "cs": "gpio:9", - "dc": "gpio:15" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:12" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_ext": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:5" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:27" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "coreink_bus": { - "type": "logical_terminals_16", - "positions": { - "1": "pwr:gnd", - "2": "pwr:bat", - "3": "pwr:5vin", - "4": "pwr:5vout", - "5": "chip:en", - "6": "pwr:3v3", - "7": "gpio:13", - "8": "gpio:14", - "9": "gpio:21", - "10": "gpio:22", - "11": "gpio:18", - "12": "gpio:36", - "13": "gpio:34", - "14": "gpio:26", - "15": "gpio:23", - "16": "gpio:25" - }, - "note": "Side BUS1 numbered as the official M5_BUS_16P schematic; GPIO paths have 47-ohm series resistors. This is not the 30-pin M-Bus. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "hat": { - "type": "logical_terminals_8", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5vout", - "3": "gpio:26", - "4": "gpio:36", - "5": "gpio:25", - "6": "pwr:bat", - "7": "pwr:3v3", - "8": "pwr:5vin" - }, - "note": "Top exposed 8-pin socket ordered from GND to 5VIN on the official rear label. These correspond to internal FPC J1 pins 3 through 10; LED/button FPC pins 1/2 are not exposed. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_coreink+epd=gdew0154m09.json b/extras/board_spec/generated/resolved/m5stack_coreink+epd=gdew0154m09.json deleted file mode 100644 index 869afdfc..00000000 --- a/extras/board_spec/generated/resolved/m5stack_coreink+epd=gdew0154m09.json +++ /dev/null @@ -1,425 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_coreink", - "name": "M5StackCoreInk", - "official_name": "M5Stack CoreInk", - "official_name_verified": true, - "aliases": [ - "coreink", - "core ink" - ], - "legacy_board_id": 6, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "resolution": [ - 200, - 200 - ], - "touch": false - }, - "storage": { - "psram_mb": 0 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/CoreInk", - "schematic": "https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/schematic/Core/coreink/coreink_sch.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:epd.rst", - "dev:usb_serial.boot" - ] - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "4": { - "roles": [ - "dev:epd.busy" - ] - }, - "5": { - "roles": [ - "dev:btn_ext.in" - ] - }, - "9": { - "roles": [ - "dev:epd.cs" - ] - }, - "12": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:coreink_bus.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "conn:coreink_bus.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "dev:epd.dc" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "conn:coreink_bus.11" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:coreink_bus.9" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:coreink_bus.10" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "conn:coreink_bus.15" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:coreink_bus.16", - "conn:hat.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:coreink_bus.14", - "conn:hat.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "dev:btn_pwr.in" - ] - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:main_spi.miso", - "conn:coreink_bus.13" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:coreink_bus.12", - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_c.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "cp2104", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "epd": { - "kind": "display", - "bus": "main_spi", - "part": "gdew0154m09", - "spec": { - "width": 200, - "height": 200, - "three_wire": true - }, - "signals": { - "rst": "gpio:0", - "busy": "gpio:4", - "cs": "gpio:9", - "dc": "gpio:15" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:12" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_ext": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:5" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:27" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "coreink_bus": { - "type": "logical_terminals_16", - "positions": { - "1": "pwr:gnd", - "2": "pwr:bat", - "3": "pwr:5vin", - "4": "pwr:5vout", - "5": "chip:en", - "6": "pwr:3v3", - "7": "gpio:13", - "8": "gpio:14", - "9": "gpio:21", - "10": "gpio:22", - "11": "gpio:18", - "12": "gpio:36", - "13": "gpio:34", - "14": "gpio:26", - "15": "gpio:23", - "16": "gpio:25" - }, - "note": "Side BUS1 numbered as the official M5_BUS_16P schematic; GPIO paths have 47-ohm series resistors. This is not the 30-pin M-Bus. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "hat": { - "type": "logical_terminals_8", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5vout", - "3": "gpio:26", - "4": "gpio:36", - "5": "gpio:25", - "6": "pwr:bat", - "7": "pwr:3v3", - "8": "pwr:5vin" - }, - "note": "Top exposed 8-pin socket ordered from GND to 5VIN on the official rear label. These correspond to internal FPC J1 pins 3 through 10; LED/button FPC pins 1/2 are not exposed. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_corematrix.json b/extras/board_spec/generated/resolved/m5stack_corematrix.json deleted file mode 100644 index 065d7709..00000000 --- a/extras/board_spec/generated/resolved/m5stack_corematrix.json +++ /dev/null @@ -1,410 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_corematrix", - "name": "M5CoreMatrix", - "official_name": "M5Stack CoreMatrix", - "aliases": [ - "corematrix", - "core matrix" - ], - "legacy_board_id": 152, - "chip": "esp32c61", - "spec": { - "display": { - "resolution": [ - 16, - 16 - ], - "touch": false - }, - "storage": { - "sd": true - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.sda", - "bus:display_i2c.sda", - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.17", - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:internal_i2c.scl", - "bus:display_i2c.scl", - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.18", - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "24": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk", - "conn:mbus.12" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd", - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "28": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "29": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "freq": 100000, - "freq_read": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "display_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "freq": 400000, - "freq_read": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d3" - ], - "preferred_host": 0, - "fixed": false - } - }, - "devices": { - "led_matrix": { - "kind": "display", - "part": "tm1680", - "bus": "display_i2c", - "i2c_addr": "0x72", - "spec": { - "width": 16, - "height": 16, - "rotation_offset": 0 - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "clk": "gpio:25", - "d0": "gpio:26", - "cmd": "gpio:27", - "d3": "gpio:28" - }, - "derived": { - "modes": [ - "sdio1" - ] - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "gpio0": { - "roles": [ - "dev:btn_a.in" - ] - }, - "gpio1": { - "roles": [ - "dev:btn_b.in" - ] - }, - "gpio2": { - "roles": [ - "dev:btn_c.in" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c" - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.gpio0" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.gpio1" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.gpio2" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:0", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "positions": { - "1": "pwr:gnd", - "2": "gpio:3", - "3": "pwr:gnd", - "4": "gpio:4", - "5": "pwr:gnd", - "6": "chip:en", - "7": "nc", - "8": "gpio:27", - "9": "nc", - "10": "gpio:26", - "11": "nc", - "12": "gpio:25", - "13": "gpio:10", - "14": "gpio:11", - "15": "gpio:7", - "16": "gpio:8", - "17": "gpio:0", - "18": "gpio:1", - "19": "gpio:0", - "20": "gpio:1", - "21": "gpio:23", - "22": "gpio:22", - "23": "gpio:24", - "24": "gpio:9", - "25": "nc", - "26": "gpio:29", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - }, - "shared_gpio": [ - "19", - "20" - ] - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_corep4x.json b/extras/board_spec/generated/resolved/m5stack_corep4x.json deleted file mode 100644 index 148f970b..00000000 --- a/extras/board_spec/generated/resolved/m5stack_corep4x.json +++ /dev/null @@ -1,414 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_corep4x", - "name": "M5CoreP4X", - "official_name": "M5Stack CoreP4X", - "official_name_verified": true, - "aliases": [ - "corep4x", - "core p4x", - "p4x" - ], - "legacy_board_id": 31, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 480, - 480 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - } - }, - "pins": { - "1": { - "roles": [ - "dev:touch.int" - ] - }, - "7": { - "roles": [ - "bus:sd_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:sd_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "bus:sd_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "20": { - "roles": [ - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "50": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 600, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sd_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7102", - "bus": "display_dsi", - "spec": { - "width": 480, - "height": 480, - "memory_width": 480, - "memory_height": 480, - "rotation_offset": 2, - "readable": false, - "rgb_order": true, - "dpi_freq_mhz": 24, - "hsync_back_porch": 40, - "hsync_pulse_width": 2, - "hsync_front_porch": 40, - "vsync_back_porch": 8, - "vsync_pulse_width": 4, - "vsync_front_porch": 200 - } - }, - "touch": { - "kind": "touch", - "part": "cst3530", - "bus": "touch_i2c", - "spec": { - "x_max": 479, - "y_max": 479, - "rotation_offset": 2 - }, - "signals": { - "int": "gpio:1" - }, - "verified": { - "signals": "generated" - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c" - }, - "ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c" - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sd_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "cmd": "gpio:7", - "d0": "gpio:8", - "clk": "gpio:10", - "d3": "gpio:50" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "sd_spi", - "cs": "gpio:50" - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:16", - "2": "gpio:18", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "positions": { - "1": "pwr:gnd", - "2": "gpio:17", - "3": "pwr:gnd", - "4": "gpio:20", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:7", - "8": "gpio:21", - "9": "gpio:8", - "10": "gpio:22", - "11": "gpio:10", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:15", - "16": "gpio:14", - "17": "gpio:11", - "18": "gpio:9", - "19": "gpio:18", - "20": "gpio:16", - "21": "gpio:39", - "22": "gpio:12", - "23": "gpio:34", - "24": "gpio:23", - "25": "nc", - "26": "gpio:19", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_cores3.json b/extras/board_spec/generated/resolved/m5stack_cores3.json deleted file mode 100644 index d21cc140..00000000 --- a/extras/board_spec/generated/resolved/m5stack_cores3.json +++ /dev/null @@ -1,580 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_cores3", - "name": "M5StackCoreS3", - "official_name": "M5Stack CoreS3", - "official_name_verified": true, - "aliases": [ - "cores3", - "core s3" - ], - "legacy_board_id": 10, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 320, - 240 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad", - "flash_mb": 16, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/CoreS3", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/490/Sch_M5_CoreS3_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:lcd.cs" - ] - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "conn:port_d.2", - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:port_d.1", - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:camera.d4" - ] - }, - "16": { - "roles": [ - "dev:camera.d5" - ] - }, - "17": { - "roles": [ - "conn:port_c.2", - "conn:port_e.2", - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:port_c.1", - "conn:port_e.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:touch.int" - ] - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "35": { - "roles": [ - "bus:main_spi.miso", - "dev:lcd.dc", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "dev:camera.href" - ] - }, - "39": { - "roles": [ - "dev:camera.d0" - ] - }, - "40": { - "roles": [ - "dev:camera.d1" - ] - }, - "41": { - "roles": [ - "dev:camera.d2" - ] - }, - "42": { - "roles": [ - "dev:camera.d3" - ] - }, - "43": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "dev:camera.pclk" - ] - }, - "46": { - "roles": [ - "dev:camera.vsync" - ] - }, - "47": { - "roles": [ - "dev:camera.d7" - ] - }, - "48": { - "roles": [ - "dev:camera.d6" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "ili9342c", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "three_wire": true - }, - "signals": { - "cs": "gpio:3", - "dc": "gpio:35" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:4", - "d0": "gpio:35", - "clk": "gpio:36", - "cmd": "gpio:37" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "main_spi", - "cs": "gpio:4" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 239 - }, - "signals": { - "int": "gpio:21" - }, - "verified": { - "signals": "generated" - } - }, - "pmic": { - "kind": "pmic", - "part": "axp2101", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "io_expander": { - "kind": "io_expander", - "part": "aw9523", - "bus": "internal_i2c" - }, - "camera": { - "kind": "camera", - "part": "gc0308", - "bus": "internal_i2c", - "signals": { - "d4": "gpio:15", - "d5": "gpio:16", - "href": "gpio:38", - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "pclk": "gpio:45", - "vsync": "gpio:46", - "d7": "gpio:47", - "d6": "gpio:48" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:8", - "2": "gpio:9", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:18", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port alias retained for pin-table compatibility; the official product pin map shows physical Port A/B/C, not a separate PORT_D.", - "positions": { - "1": "gpio:14", - "2": "gpio:10", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port alias retained for pin-table compatibility; the official product pin map shows physical Port A/B/C, not a separate PORT_E.", - "positions": { - "1": "gpio:18", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "The generic M-Bus defaults retain NC at HPWR positions 25/27/29. The official product table labels these HVIN, whose availability depends on the power/base assembly.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:10", - "3": "pwr:gnd", - "4": "gpio:8", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:37", - "8": "gpio:5", - "9": "gpio:35", - "10": "gpio:9", - "11": "gpio:36", - "12": "pwr:3v3", - "13": "gpio:44", - "14": "gpio:43", - "15": "gpio:18", - "16": "gpio:17", - "17": "gpio:12", - "18": "gpio:11", - "19": "gpio:2", - "20": "gpio:1", - "21": "gpio:6", - "22": "gpio:7", - "23": "gpio:13", - "24": "gpio:0", - "25": "nc", - "26": "gpio:14", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_cores3se.json b/extras/board_spec/generated/resolved/m5stack_cores3se.json deleted file mode 100644 index f2e78a6d..00000000 --- a/extras/board_spec/generated/resolved/m5stack_cores3se.json +++ /dev/null @@ -1,510 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_cores3se", - "name": "M5StackCoreS3SE", - "official_name": "M5Stack CoreS3-SE", - "official_name_verified": true, - "aliases": [ - "cores3 se", - "cores3se", - "se" - ], - "legacy_board_id": 17, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 320, - 240 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad", - "flash_mb": 16, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/CoreS3-SE", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/498/Sch_M5_CoreS3_SE_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:lcd.cs" - ] - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "conn:port_d.2", - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:port_d.1", - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_c.2", - "conn:port_e.2", - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:port_c.1", - "conn:port_e.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:touch.int" - ] - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "35": { - "roles": [ - "bus:main_spi.miso", - "dev:lcd.dc", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "ili9342c", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "three_wire": true - }, - "signals": { - "cs": "gpio:3", - "dc": "gpio:35" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:4", - "d0": "gpio:35", - "clk": "gpio:36", - "cmd": "gpio:37" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "main_spi", - "cs": "gpio:4" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 239 - }, - "signals": { - "int": "gpio:21" - }, - "verified": { - "signals": "generated" - } - }, - "pmic": { - "kind": "pmic", - "part": "axp2101", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "io_expander": { - "kind": "io_expander", - "part": "aw9523", - "bus": "internal_i2c" - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port contract; physical Port B/C require an attached bottom/base. The bare CoreS3-SE has Port A.", - "positions": { - "1": "gpio:8", - "2": "gpio:9", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port contract; physical Port B/C require an attached bottom/base. The bare CoreS3-SE has Port A.", - "positions": { - "1": "gpio:18", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port alias retained for pin-table compatibility; the official product pin map shows physical Port A/B/C, not a separate PORT_D.", - "positions": { - "1": "gpio:14", - "2": "gpio:10", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port alias retained for pin-table compatibility; the official product pin map shows physical Port A/B/C, not a separate PORT_E.", - "positions": { - "1": "gpio:18", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "The generic M-Bus defaults retain NC at HPWR positions 25/27/29. The official CoreS3-SE bare-host table also lists NC; an attached powered base can supply these terminals.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:10", - "3": "pwr:gnd", - "4": "gpio:8", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:37", - "8": "gpio:5", - "9": "gpio:35", - "10": "gpio:9", - "11": "gpio:36", - "12": "pwr:3v3", - "13": "gpio:44", - "14": "gpio:43", - "15": "gpio:18", - "16": "gpio:17", - "17": "gpio:12", - "18": "gpio:11", - "19": "gpio:2", - "20": "gpio:1", - "21": "gpio:6", - "22": "gpio:7", - "23": "gpio:13", - "24": "gpio:0", - "25": "nc", - "26": "gpio:14", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_stackchan.json b/extras/board_spec/generated/resolved/m5stack_stackchan.json deleted file mode 100644 index 58d0dd04..00000000 --- a/extras/board_spec/generated/resolved/m5stack_stackchan.json +++ /dev/null @@ -1,528 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_stackchan", - "name": "M5StackChan", - "official_name": "M5Stack StackChan", - "official_name_verified": true, - "aliases": [ - "stackchan", - "stack-chan", - "m5stackchan", - "stackchan core" - ], - "legacy_board_id": 27, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 320, - 240 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "psram_mode": "quad", - "flash_mb": 16, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/StackChan", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/490/Sch_M5_CoreS3_v1.0.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:lcd.cs" - ] - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - }, - "note": "Base pulls GPIO5 D (measured)." - }, - "6": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - }, - "note": "Base pulls GPIO6 U (measured)." - }, - "7": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - }, - "note": "Base pulls GPIO7 D (measured)." - }, - "8": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "conn:port_d.2", - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:port_d.1", - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_c.2", - "conn:port_e.2", - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:port_c.1", - "conn:port_e.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:touch.int" - ] - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "35": { - "roles": [ - "bus:main_spi.miso", - "dev:lcd.dc", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "ili9342c", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "three_wire": true - }, - "signals": { - "cs": "gpio:3", - "dc": "gpio:35" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d3": "gpio:4", - "d0": "gpio:35", - "clk": "gpio:36", - "cmd": "gpio:37" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "main_spi", - "cs": "gpio:4" - } - }, - "touch": { - "kind": "touch", - "part": "ft5x06", - "bus": "internal_i2c", - "i2c_addr": "0x38", - "spec": { - "x_max": 319, - "y_max": 239 - }, - "signals": { - "int": "gpio:21" - }, - "verified": { - "signals": "generated" - } - }, - "pmic": { - "kind": "pmic", - "part": "axp2101", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "io_expander": { - "kind": "io_expander", - "part": "aw9523", - "bus": "internal_i2c" - }, - "camera": { - "kind": "camera", - "part": "gc0308", - "bus": "internal_i2c" - }, - "stackchan_ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c", - "i2c_addr": "0x6F", - "spec": { - "probe_freq": 100000, - "firmware_reg": 2, - "firmware_min": 4 - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:8", - "2": "gpio:9", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:18", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_d": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port alias retained for pin-table compatibility; the official product pin map shows physical Port A/B/C, not a separate PORT_D.", - "positions": { - "1": "gpio:14", - "2": "gpio:10", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_e": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port alias retained for pin-table compatibility; the official product pin map shows physical Port A/B/C, not a separate PORT_E.", - "positions": { - "1": "gpio:18", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "CoreS3 host mapping. StackChan uses GPIO6/7 for servo UART, GPIO5/10 for IR and GPIO11/12 for internal I2C; these signals are shared with the host M-Bus. The generic M-Bus defaults retain NC at HPWR positions 25/27/29. The official product table labels these HVIN, whose availability depends on the power/base assembly.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:10", - "3": "pwr:gnd", - "4": "gpio:8", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:37", - "8": "gpio:5", - "9": "gpio:35", - "10": "gpio:9", - "11": "gpio:36", - "12": "pwr:3v3", - "13": "gpio:44", - "14": "gpio:43", - "15": "gpio:18", - "16": "gpio:17", - "17": "gpio:12", - "18": "gpio:11", - "19": "gpio:2", - "20": "gpio:1", - "21": "gpio:6", - "22": "gpio:7", - "23": "gpio:13", - "24": "gpio:0", - "25": "nc", - "26": "gpio:14", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_tab5+lcd=ili9881c.json b/extras/board_spec/generated/resolved/m5stack_tab5+lcd=ili9881c.json deleted file mode 100644 index 60cf59c4..00000000 --- a/extras/board_spec/generated/resolved/m5stack_tab5+lcd=ili9881c.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_tab5", - "name": "M5Tab5", - "official_name": "M5Stack Tab5", - "official_name_verified": true, - "aliases": [ - "tab5", - "m5tab5" - ], - "legacy_board_id": 22, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 720, - 1280 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Tab5", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1132/Tab5_Schematics_PDF.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:side_header.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:side_header.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.11", - "conn:stamp_pads.10" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_c.2", - "conn:mbus.16", - "conn:stamp_pads.3" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:port_c.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:wifi_sdio.d3" - ] - }, - "9": { - "roles": [ - "bus:wifi_sdio.d2" - ] - }, - "10": { - "roles": [ - "bus:wifi_sdio.d1" - ] - }, - "11": { - "roles": [ - "bus:wifi_sdio.d0" - ] - }, - "12": { - "roles": [ - "bus:wifi_sdio.clk" - ] - }, - "13": { - "roles": [ - "bus:wifi_sdio.cmd" - ] - }, - "16": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:mbus.7", - "conn:stamp_pads.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.9", - "conn:stamp_pads.12" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "dev:backlight.pwm" - ], - "detect_class": "down" - }, - "23": { - "roles": [ - "dev:touch.int" - ] - }, - "31": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17", - "conn:stamp_pads.4" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18", - "conn:stamp_pads.5" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:stamp_pads.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "35": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "conn:stamp_pads.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "47": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "49": { - "roles": [ - "conn:side_header.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "50": { - "roles": [ - "conn:side_header.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "51": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "52": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "53": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 1040, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 0, - "fixed": false - }, - "wifi_sdio": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "fixed": false - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "display_dsi", - "part": "ili9881c", - "spec": { - "width": 720, - "height": 1280, - "memory_width": 720, - "memory_height": 1280, - "rotation_offset": 0, - "readable": true, - "rgb_order": true, - "dpi_freq_mhz": 80, - "hsync_back_porch": 140, - "hsync_pulse_width": 40, - "hsync_front_porch": 40, - "vsync_back_porch": 20, - "vsync_pulse_width": 4, - "vsync_front_porch": 20 - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "touch_i2c", - "spec": { - "x_max": 719, - "y_max": 1279, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "ioe1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43" - }, - "ioe2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44" - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:22" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "clk": "gpio:43", - "cmd": "gpio:44" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "EXT5V output is shared with the rear M-Bus and side expansion header and controlled by EXT5V_EN on the internal IO expander.", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port contract on the M-Bus; the product shows a physical Grove Port A only.", - "positions": { - "1": "gpio:17", - "2": "gpio:52", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port contract on the M-Bus; the product shows a physical Grove Port A only.", - "positions": { - "1": "gpio:7", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "HPWR positions 25/27/29 are wired to SYS_VIN inside Tab5, the same rail as side header J9 pin 2.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:16", - "3": "pwr:gnd", - "4": "gpio:17", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:18", - "8": "gpio:45", - "9": "gpio:19", - "10": "gpio:52", - "11": "gpio:5", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:7", - "16": "gpio:6", - "17": "gpio:31", - "18": "gpio:32", - "19": "gpio:3", - "20": "gpio:4", - "21": "gpio:2", - "22": "gpio:48", - "23": "gpio:47", - "24": "gpio:35", - "25": "pwr:vin", - "26": "gpio:51", - "27": "pwr:vin", - "28": "pwr:5v", - "29": "pwr:vin", - "30": "pwr:bat" - }, - "verified": { - "positions": "datasheet" - } - }, - "side_header": { - "type": "logical_terminals_10", - "positions": { - "1": "pwr:gnd", - "2": "pwr:vin", - "3": "pwr:gnd", - "4": "pwr:gnd", - "5": "pwr:5v", - "6": "pwr:3v3", - "7": "gpio:0", - "8": "gpio:1", - "9": "gpio:49", - "10": "gpio:50" - }, - "note": "Side 2.54-10P header J9, numbered as the official schematic. Pin 2 is SYS_VIN; pin 5 is SYS_EXT5V controlled by EXT5V_EN. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "stamp_pads": { - "type": "logical_terminals_12", - "positions": { - "1": "pwr:gnd", - "2": "gpio:46", - "3": "gpio:6", - "4": "gpio:31", - "5": "gpio:32", - "6": "gpio:33", - "7": "pwr:sys_5v", - "8": "pwr:3v3", - "9": "pwr:gnd", - "10": "gpio:5", - "11": "gpio:18", - "12": "gpio:19" - }, - "note": "STAMP COMM expansion pads numbered TP1 through TP12 in the official schematic. TP7 is SYS_INT5V (system 5V), distinct from switched SYS_EXT5V on Grove/side header. GPIO31/32 share internal I2C; GPIO5/18/19 share SPI. Logical terminal order only; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_tab5+lcd=st7121.json b/extras/board_spec/generated/resolved/m5stack_tab5+lcd=st7121.json deleted file mode 100644 index 3e0b4c4f..00000000 --- a/extras/board_spec/generated/resolved/m5stack_tab5+lcd=st7121.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_tab5", - "name": "M5Tab5", - "official_name": "M5Stack Tab5", - "official_name_verified": true, - "aliases": [ - "tab5", - "m5tab5" - ], - "legacy_board_id": 22, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 720, - 1280 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Tab5", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1132/Tab5_Schematics_PDF.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:side_header.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:side_header.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.11", - "conn:stamp_pads.10" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_c.2", - "conn:mbus.16", - "conn:stamp_pads.3" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:port_c.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:wifi_sdio.d3" - ] - }, - "9": { - "roles": [ - "bus:wifi_sdio.d2" - ] - }, - "10": { - "roles": [ - "bus:wifi_sdio.d1" - ] - }, - "11": { - "roles": [ - "bus:wifi_sdio.d0" - ] - }, - "12": { - "roles": [ - "bus:wifi_sdio.clk" - ] - }, - "13": { - "roles": [ - "bus:wifi_sdio.cmd" - ] - }, - "16": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:mbus.7", - "conn:stamp_pads.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.9", - "conn:stamp_pads.12" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "dev:backlight.pwm" - ], - "detect_class": "down" - }, - "23": { - "roles": [ - "dev:touch.int" - ] - }, - "31": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17", - "conn:stamp_pads.4" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18", - "conn:stamp_pads.5" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:stamp_pads.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "35": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "conn:stamp_pads.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "47": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "49": { - "roles": [ - "conn:side_header.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "50": { - "roles": [ - "conn:side_header.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "51": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "52": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "53": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 1040, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 0, - "fixed": false - }, - "wifi_sdio": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "fixed": false - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "display_dsi", - "part": "st7121", - "spec": { - "width": 720, - "height": 1280, - "memory_width": 720, - "memory_height": 1280, - "rotation_offset": 0, - "readable": true, - "rgb_order": true, - "dpi_freq_mhz": 70, - "hsync_back_porch": 40, - "hsync_pulse_width": 2, - "hsync_front_porch": 40, - "vsync_back_porch": 24, - "vsync_pulse_width": 20, - "vsync_front_porch": 200 - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "touch_i2c", - "spec": { - "x_max": 719, - "y_max": 1279, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "ioe1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43" - }, - "ioe2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44" - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:22" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "clk": "gpio:43", - "cmd": "gpio:44" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "EXT5V output is shared with the rear M-Bus and side expansion header and controlled by EXT5V_EN on the internal IO expander.", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port contract on the M-Bus; the product shows a physical Grove Port A only.", - "positions": { - "1": "gpio:17", - "2": "gpio:52", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port contract on the M-Bus; the product shows a physical Grove Port A only.", - "positions": { - "1": "gpio:7", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "HPWR positions 25/27/29 are wired to SYS_VIN inside Tab5, the same rail as side header J9 pin 2.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:16", - "3": "pwr:gnd", - "4": "gpio:17", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:18", - "8": "gpio:45", - "9": "gpio:19", - "10": "gpio:52", - "11": "gpio:5", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:7", - "16": "gpio:6", - "17": "gpio:31", - "18": "gpio:32", - "19": "gpio:3", - "20": "gpio:4", - "21": "gpio:2", - "22": "gpio:48", - "23": "gpio:47", - "24": "gpio:35", - "25": "pwr:vin", - "26": "gpio:51", - "27": "pwr:vin", - "28": "pwr:5v", - "29": "pwr:vin", - "30": "pwr:bat" - }, - "verified": { - "positions": "datasheet" - } - }, - "side_header": { - "type": "logical_terminals_10", - "positions": { - "1": "pwr:gnd", - "2": "pwr:vin", - "3": "pwr:gnd", - "4": "pwr:gnd", - "5": "pwr:5v", - "6": "pwr:3v3", - "7": "gpio:0", - "8": "gpio:1", - "9": "gpio:49", - "10": "gpio:50" - }, - "note": "Side 2.54-10P header J9, numbered as the official schematic. Pin 2 is SYS_VIN; pin 5 is SYS_EXT5V controlled by EXT5V_EN. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "stamp_pads": { - "type": "logical_terminals_12", - "positions": { - "1": "pwr:gnd", - "2": "gpio:46", - "3": "gpio:6", - "4": "gpio:31", - "5": "gpio:32", - "6": "gpio:33", - "7": "pwr:sys_5v", - "8": "pwr:3v3", - "9": "pwr:gnd", - "10": "gpio:5", - "11": "gpio:18", - "12": "gpio:19" - }, - "note": "STAMP COMM expansion pads numbered TP1 through TP12 in the official schematic. TP7 is SYS_INT5V (system 5V), distinct from switched SYS_EXT5V on Grove/side header. GPIO31/32 share internal I2C; GPIO5/18/19 share SPI. Logical terminal order only; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_tab5+lcd=st7123.json b/extras/board_spec/generated/resolved/m5stack_tab5+lcd=st7123.json deleted file mode 100644 index 397d306b..00000000 --- a/extras/board_spec/generated/resolved/m5stack_tab5+lcd=st7123.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_tab5", - "name": "M5Tab5", - "official_name": "M5Stack Tab5", - "official_name_verified": true, - "aliases": [ - "tab5", - "m5tab5" - ], - "legacy_board_id": 22, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 720, - 1280 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Tab5", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1132/Tab5_Schematics_PDF.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:side_header.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:side_header.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.11", - "conn:stamp_pads.10" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_c.2", - "conn:mbus.16", - "conn:stamp_pads.3" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:port_c.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:wifi_sdio.d3" - ] - }, - "9": { - "roles": [ - "bus:wifi_sdio.d2" - ] - }, - "10": { - "roles": [ - "bus:wifi_sdio.d1" - ] - }, - "11": { - "roles": [ - "bus:wifi_sdio.d0" - ] - }, - "12": { - "roles": [ - "bus:wifi_sdio.clk" - ] - }, - "13": { - "roles": [ - "bus:wifi_sdio.cmd" - ] - }, - "16": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:mbus.7", - "conn:stamp_pads.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.9", - "conn:stamp_pads.12" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "dev:backlight.pwm" - ], - "detect_class": "down" - }, - "23": { - "roles": [ - "dev:touch.int" - ] - }, - "31": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17", - "conn:stamp_pads.4" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18", - "conn:stamp_pads.5" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:stamp_pads.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "35": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "conn:stamp_pads.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "47": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "49": { - "roles": [ - "conn:side_header.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "50": { - "roles": [ - "conn:side_header.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "51": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "52": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "53": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 1040, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 0, - "fixed": false - }, - "wifi_sdio": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "fixed": false - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "display_dsi", - "part": "st7123", - "spec": { - "width": 720, - "height": 1280, - "memory_width": 720, - "memory_height": 1280, - "rotation_offset": 0, - "readable": true, - "rgb_order": true, - "dpi_freq_mhz": 80, - "hsync_back_porch": 40, - "hsync_pulse_width": 2, - "hsync_front_porch": 40, - "vsync_back_porch": 8, - "vsync_pulse_width": 2, - "vsync_front_porch": 220 - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "touch_i2c", - "spec": { - "x_max": 719, - "y_max": 1279, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "ioe1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43" - }, - "ioe2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44" - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:22" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "clk": "gpio:43", - "cmd": "gpio:44" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "EXT5V output is shared with the rear M-Bus and side expansion header and controlled by EXT5V_EN on the internal IO expander.", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "Library port contract on the M-Bus; the product shows a physical Grove Port A only.", - "positions": { - "1": "gpio:17", - "2": "gpio:52", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Library port contract on the M-Bus; the product shows a physical Grove Port A only.", - "positions": { - "1": "gpio:7", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "note": "HPWR positions 25/27/29 are wired to SYS_VIN inside Tab5, the same rail as side header J9 pin 2.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:16", - "3": "pwr:gnd", - "4": "gpio:17", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:18", - "8": "gpio:45", - "9": "gpio:19", - "10": "gpio:52", - "11": "gpio:5", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:7", - "16": "gpio:6", - "17": "gpio:31", - "18": "gpio:32", - "19": "gpio:3", - "20": "gpio:4", - "21": "gpio:2", - "22": "gpio:48", - "23": "gpio:47", - "24": "gpio:35", - "25": "pwr:vin", - "26": "gpio:51", - "27": "pwr:vin", - "28": "pwr:5v", - "29": "pwr:vin", - "30": "pwr:bat" - }, - "verified": { - "positions": "datasheet" - } - }, - "side_header": { - "type": "logical_terminals_10", - "positions": { - "1": "pwr:gnd", - "2": "pwr:vin", - "3": "pwr:gnd", - "4": "pwr:gnd", - "5": "pwr:5v", - "6": "pwr:3v3", - "7": "gpio:0", - "8": "gpio:1", - "9": "gpio:49", - "10": "gpio:50" - }, - "note": "Side 2.54-10P header J9, numbered as the official schematic. Pin 2 is SYS_VIN; pin 5 is SYS_EXT5V controlled by EXT5V_EN. Positions are logical ordering; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "stamp_pads": { - "type": "logical_terminals_12", - "positions": { - "1": "pwr:gnd", - "2": "gpio:46", - "3": "gpio:6", - "4": "gpio:31", - "5": "gpio:32", - "6": "gpio:33", - "7": "pwr:sys_5v", - "8": "pwr:3v3", - "9": "pwr:gnd", - "10": "gpio:5", - "11": "gpio:18", - "12": "gpio:19" - }, - "note": "STAMP COMM expansion pads numbered TP1 through TP12 in the official schematic. TP7 is SYS_INT5V (system 5V), distinct from switched SYS_EXT5V on Grove/side header. GPIO31/32 share internal I2C; GPIO5/18/19 share SPI. Logical terminal order only; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=ili9881c.json b/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=ili9881c.json deleted file mode 100644 index b61832da..00000000 --- a/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=ili9881c.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_tab5x", - "name": "M5Tab5X", - "official_name": "M5Stack Tab5X", - "aliases": [ - "tab5x", - "tab5 x" - ], - "legacy_board_id": 35, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 720, - 1280 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - } - }, - "pins": { - "2": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_c.2", - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:port_c.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:wifi_sdio.d3" - ] - }, - "9": { - "roles": [ - "bus:wifi_sdio.d2" - ] - }, - "10": { - "roles": [ - "bus:wifi_sdio.d1" - ] - }, - "11": { - "roles": [ - "bus:wifi_sdio.d0" - ] - }, - "12": { - "roles": [ - "bus:wifi_sdio.clk" - ] - }, - "13": { - "roles": [ - "bus:wifi_sdio.cmd" - ] - }, - "16": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "dev:backlight.pwm" - ], - "detect_class": "down" - }, - "23": { - "roles": [ - "dev:touch.int" - ] - }, - "31": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "47": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "51": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "52": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "53": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 1040, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 0, - "fixed": false - }, - "wifi_sdio": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "fixed": false - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "display_dsi", - "part": "ili9881c", - "spec": { - "width": 720, - "height": 1280, - "memory_width": 720, - "memory_height": 1280, - "rotation_offset": 0, - "readable": true, - "rgb_order": true, - "dpi_freq_mhz": 80, - "hsync_back_porch": 140, - "hsync_pulse_width": 40, - "hsync_front_porch": 40, - "vsync_back_porch": 20, - "vsync_pulse_width": 4, - "vsync_front_porch": 20 - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "touch_i2c", - "spec": { - "x_max": 719, - "y_max": 1279, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "ioe1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43" - }, - "ioe2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44" - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:22" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "clk": "gpio:43", - "cmd": "gpio:44" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:17", - "2": "gpio:52", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:7", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "positions": { - "1": "pwr:gnd", - "2": "gpio:16", - "3": "pwr:gnd", - "4": "gpio:17", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:18", - "8": "gpio:45", - "9": "gpio:19", - "10": "gpio:52", - "11": "gpio:5", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:7", - "16": "gpio:6", - "17": "gpio:31", - "18": "gpio:32", - "19": "gpio:3", - "20": "gpio:4", - "21": "gpio:2", - "22": "gpio:48", - "23": "gpio:47", - "24": "gpio:35", - "25": "nc", - "26": "gpio:51", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=st7121.json b/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=st7121.json deleted file mode 100644 index 63469020..00000000 --- a/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=st7121.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_tab5x", - "name": "M5Tab5X", - "official_name": "M5Stack Tab5X", - "aliases": [ - "tab5x", - "tab5 x" - ], - "legacy_board_id": 35, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 720, - 1280 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - } - }, - "pins": { - "2": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_c.2", - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:port_c.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:wifi_sdio.d3" - ] - }, - "9": { - "roles": [ - "bus:wifi_sdio.d2" - ] - }, - "10": { - "roles": [ - "bus:wifi_sdio.d1" - ] - }, - "11": { - "roles": [ - "bus:wifi_sdio.d0" - ] - }, - "12": { - "roles": [ - "bus:wifi_sdio.clk" - ] - }, - "13": { - "roles": [ - "bus:wifi_sdio.cmd" - ] - }, - "16": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "dev:backlight.pwm" - ], - "detect_class": "down" - }, - "23": { - "roles": [ - "dev:touch.int" - ] - }, - "31": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "47": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "51": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "52": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "53": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 1040, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 0, - "fixed": false - }, - "wifi_sdio": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "fixed": false - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "display_dsi", - "part": "st7121", - "spec": { - "width": 720, - "height": 1280, - "memory_width": 720, - "memory_height": 1280, - "rotation_offset": 0, - "readable": true, - "rgb_order": true, - "dpi_freq_mhz": 70, - "hsync_back_porch": 40, - "hsync_pulse_width": 2, - "hsync_front_porch": 40, - "vsync_back_porch": 24, - "vsync_pulse_width": 20, - "vsync_front_porch": 200 - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "touch_i2c", - "spec": { - "x_max": 719, - "y_max": 1279, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "ioe1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43" - }, - "ioe2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44" - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:22" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "clk": "gpio:43", - "cmd": "gpio:44" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:17", - "2": "gpio:52", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:7", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "positions": { - "1": "pwr:gnd", - "2": "gpio:16", - "3": "pwr:gnd", - "4": "gpio:17", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:18", - "8": "gpio:45", - "9": "gpio:19", - "10": "gpio:52", - "11": "gpio:5", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:7", - "16": "gpio:6", - "17": "gpio:31", - "18": "gpio:32", - "19": "gpio:3", - "20": "gpio:4", - "21": "gpio:2", - "22": "gpio:48", - "23": "gpio:47", - "24": "gpio:35", - "25": "nc", - "26": "gpio:51", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=st7123.json b/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=st7123.json deleted file mode 100644 index 4768778a..00000000 --- a/extras/board_spec/generated/resolved/m5stack_tab5x+lcd=st7123.json +++ /dev/null @@ -1,551 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stack_tab5x", - "name": "M5Tab5X", - "official_name": "M5Stack Tab5X", - "aliases": [ - "tab5x", - "tab5 x" - ], - "legacy_board_id": 35, - "chip": "esp32p4", - "spec": { - "display": { - "resolution": [ - 720, - 1280 - ], - "touch": true - }, - "storage": { - "psram_mb": 32, - "sd": true, - "psram_mode": "opi" - } - }, - "pins": { - "2": { - "roles": [ - "conn:mbus.21" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.19" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:mbus.20" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_c.2", - "conn:mbus.16" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "conn:port_c.1", - "conn:mbus.15" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:wifi_sdio.d3" - ] - }, - "9": { - "roles": [ - "bus:wifi_sdio.d2" - ] - }, - "10": { - "roles": [ - "bus:wifi_sdio.d1" - ] - }, - "11": { - "roles": [ - "bus:wifi_sdio.d0" - ] - }, - "12": { - "roles": [ - "bus:wifi_sdio.clk" - ] - }, - "13": { - "roles": [ - "bus:wifi_sdio.cmd" - ] - }, - "16": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_b.1", - "conn:mbus.4" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "dev:backlight.pwm" - ], - "detect_class": "down" - }, - "23": { - "roles": [ - "dev:touch.int" - ] - }, - "31": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.24" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "conn:mbus.14" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "conn:mbus.13" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:sdmmc.d0", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:sdmmc.d1", - "dev:sd.d1" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:sdmmc.d2", - "dev:sd.d2" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:sdmmc.d3", - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "43": { - "roles": [ - "bus:sdmmc.clk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "44": { - "roles": [ - "bus:sdmmc.cmd", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "conn:mbus.8" - ], - "verified": { - "roles": "generated" - } - }, - "47": { - "roles": [ - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "conn:mbus.22" - ], - "verified": { - "roles": "generated" - } - }, - "51": { - "roles": [ - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "52": { - "roles": [ - "conn:port_b.2", - "conn:mbus.10" - ], - "verified": { - "roles": "generated" - } - }, - "53": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "display_dsi": { - "kind": "dsi", - "signals": [], - "preferred_host": 0, - "lane_num": 2, - "freq": 1040, - "ldo_chan_id": 3, - "ldo_voltage_mv": 2500, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "sdmmc": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "preferred_host": 0, - "fixed": false - }, - "wifi_sdio": { - "kind": "sdmmc", - "signals": [ - "clk", - "cmd", - "d0", - "d1", - "d2", - "d3" - ], - "fixed": false - } - }, - "devices": { - "lcd": { - "kind": "display", - "bus": "display_dsi", - "part": "st7123", - "spec": { - "width": 720, - "height": 1280, - "memory_width": 720, - "memory_height": 1280, - "rotation_offset": 0, - "readable": true, - "rgb_order": true, - "dpi_freq_mhz": 80, - "hsync_back_porch": 40, - "hsync_pulse_width": 2, - "hsync_front_porch": 40, - "vsync_back_porch": 8, - "vsync_pulse_width": 2, - "vsync_front_porch": 220 - } - }, - "touch": { - "kind": "touch", - "part": "gt911", - "bus": "touch_i2c", - "spec": { - "x_max": 719, - "y_max": 1279, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "ioe1": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43" - }, - "ioe2": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x44" - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 44100, - "channel": 7, - "invert": false, - "offset": 0 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:22" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "sdmmc", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "d0": "gpio:39", - "d1": "gpio:40", - "d2": "gpio:41", - "d3": "gpio:42", - "clk": "gpio:43", - "cmd": "gpio:44" - }, - "derived": { - "modes": [ - "sdio1", - "sdio4" - ] - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:17", - "2": "gpio:52", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:7", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "mbus": { - "type": "mbus", - "positions": { - "1": "pwr:gnd", - "2": "gpio:16", - "3": "pwr:gnd", - "4": "gpio:17", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:18", - "8": "gpio:45", - "9": "gpio:19", - "10": "gpio:52", - "11": "gpio:5", - "12": "pwr:3v3", - "13": "gpio:38", - "14": "gpio:37", - "15": "gpio:7", - "16": "gpio:6", - "17": "gpio:31", - "18": "gpio:32", - "19": "gpio:3", - "20": "gpio:4", - "21": "gpio:2", - "22": "gpio:48", - "23": "gpio:47", - "24": "gpio:35", - "25": "nc", - "26": "gpio:51", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stampc3.json b/extras/board_spec/generated/resolved/m5stampc3.json deleted file mode 100644 index 939941db..00000000 --- a/extras/board_spec/generated/resolved/m5stampc3.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stampc3", - "name": "M5StampC3", - "official_name": "M5Stack Stamp-C3", - "official_name_verified": true, - "legacy_board_id": 134, - "chip": "esp32c3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-C3", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/core/stamp_c3/stamp_c3_sch_01.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:stamp_left.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:stamp_left.11" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:stamp_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:stamp_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:stamp_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:stamp_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:stamp_left.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:stamp_right.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:stamp_left.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:stamp_right.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "19": { - "roles": [ - "conn:stamp_right.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "20": { - "roles": [ - "bus:console_uart.rx", - "conn:stamp_right.3" - ], - "note": "CH9102 TXD holds UART0 RX high against the internal pulldown", - "verified": { - "roles": "datasheet" - }, - "measured_by": { - "roles": "docs/investigations/c3-stamp-displayless-2026-09-29.md" - } - }, - "21": { - "roles": [ - "bus:console_uart.tx", - "conn:stamp_right.2" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - } - }, - "devices": {}, - "connectors": { - "stamp_left": { - "type": "logical_terminals_12", - "positions": { - "1": "pwr:gnd", - "2": "gpio:4", - "3": "gpio:5", - "4": "gpio:6", - "5": "gpio:7", - "6": "gpio:8", - "7": "gpio:10", - "8": "pwr:5v", - "9": "pwr:gnd", - "10": "pwr:5v", - "11": "gpio:1", - "12": "gpio:0" - }, - "note": "Positions counted top to bottom in the official component-side PinMap with antenna at the top and USB at the bottom; not schematic connector pin numbers.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "stamp_right": { - "type": "logical_terminals_10", - "positions": { - "1": "pwr:3v3", - "2": "gpio:21", - "3": "gpio:20", - "4": "chip:en", - "5": "gpio:9", - "6": "pwr:gnd", - "7": "gpio:18", - "8": "gpio:19", - "9": "pwr:5v", - "10": "pwr:gnd" - }, - "note": "Positions counted top to bottom in the official component-side PinMap with antenna at the top and USB at the bottom; not schematic connector pin numbers. GPIO18/19 are native USB D-/D+ pads.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stampc3u.json b/extras/board_spec/generated/resolved/m5stampc3u.json deleted file mode 100644 index be3884d3..00000000 --- a/extras/board_spec/generated/resolved/m5stampc3u.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stampc3u", - "name": "M5StampC3U", - "official_name": "M5Stack Stamp-C3U", - "official_name_verified": true, - "legacy_board_id": 135, - "chip": "esp32c3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-C3U", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/core/stamp_c3u/stamp_c3u_sch_01.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:stamp_left.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:stamp_left.11" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:stamp_left.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:stamp_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:stamp_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:stamp_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:stamp_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:stamp_left.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:stamp_right.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:stamp_left.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:stamp_right.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "19": { - "roles": [ - "conn:stamp_right.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "20": { - "roles": [ - "conn:stamp_right.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "conn:stamp_right.2" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": {}, - "devices": {}, - "connectors": { - "stamp_left": { - "type": "logical_terminals_12", - "positions": { - "1": "gpio:3", - "2": "gpio:4", - "3": "gpio:5", - "4": "gpio:6", - "5": "gpio:7", - "6": "gpio:8", - "7": "gpio:10", - "8": "pwr:5v", - "9": "pwr:gnd", - "10": "pwr:5v", - "11": "gpio:1", - "12": "gpio:0" - }, - "note": "Positions counted top to bottom in the official component-side PinMap with antenna at the top and USB at the bottom; not schematic connector pin numbers.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "stamp_right": { - "type": "logical_terminals_10", - "positions": { - "1": "pwr:3v3", - "2": "gpio:21", - "3": "gpio:20", - "4": "chip:en", - "5": "gpio:9", - "6": "pwr:gnd", - "7": "gpio:18", - "8": "gpio:19", - "9": "pwr:5v", - "10": "pwr:gnd" - }, - "note": "Positions counted top to bottom in the official component-side PinMap with antenna at the top and USB at the bottom; not schematic connector pin numbers. GPIO18/19 are native USB D-/D+ pads. The Specifications GPIO list includes G22, while the official PinMap and schematic identify RX0 as GPIO20; the terminal assignment follows the PinMap/schematic.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stampc5.json b/extras/board_spec/generated/resolved/m5stampc5.json deleted file mode 100644 index 78763cad..00000000 --- a/extras/board_spec/generated/resolved/m5stampc5.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stampc5", - "name": "M5StampC5", - "official_name": "M5Stack Stamp-C5", - "official_name_verified": true, - "legacy_board_id": 153, - "chip": "esp32c5", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-C5", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1258/S016_StampC5_V0.3_SCH_PDF_20260207_2026_02_07_11_34_57.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:ext_fpc.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:stamp_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:stamp_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:stamp_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:extra_gpio.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:stamp_right.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:stamp_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:stamp_right.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:stamp_right.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:stamp_right.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:stamp_right.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "11": { - "roles": [ - "conn:ext_fpc.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "conn:ext_fpc.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "23": { - "roles": [ - "conn:ext_fpc.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "24": { - "roles": [ - "conn:ext_fpc.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "25": { - "roles": [ - "conn:ext_fpc.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:ext_fpc.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "conn:ext_fpc.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "28": { - "roles": [ - "conn:stamp_right.7" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": {}, - "devices": {}, - "connectors": { - "stamp_left": { - "type": "logical_terminals_7", - "positions": { - "1": "pwr:3v3", - "2": "gpio:1", - "3": "gpio:2", - "4": "gpio:3", - "5": "pwr:bat", - "6": "pwr:vbus", - "7": "pwr:gnd" - }, - "note": "JP1 positions 1-7 follow the official CELL Header schematic, top to bottom in component-side PinMap.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "stamp_right": { - "type": "logical_terminals_7", - "positions": { - "1": "gpio:5", - "2": "gpio:6", - "3": "gpio:7", - "4": "gpio:8", - "5": "gpio:9", - "6": "gpio:10", - "7": "gpio:28" - }, - "note": "JP2 positions 1-7 follow the official CELL Header schematic. GPIO28 is also BOOT and the blue LED control.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "extra_gpio": { - "type": "logical_terminals_1", - "positions": { - "1": "gpio:4" - }, - "note": "Single exposed GPIO4 pad between the GPIO2/3 pads, documented in the official PinMap and as TP1 in the CELL Header schematic. It is separate from the seven side holes.", - "verified": { - "positions": "datasheet" - } - }, - "ext_fpc": { - "type": "logical_terminals_12", - "positions": { - "1": "pwr:3v3", - "2": "pwr:3v3", - "3": "gpio:23", - "4": "gpio:0", - "5": "gpio:24", - "6": "gpio:25", - "7": "pwr:gnd", - "8": "gpio:26", - "9": "gpio:27", - "10": "gpio:11", - "11": "pwr:gnd", - "12": "gpio:12" - }, - "note": "Rear 12-pin 0.5mm FPC connector JP3. Numbers follow the official EXT.FPC table. GPIO11 TXD connects through 499 ohms. Check cable terminal ordering against the official diagram. The FPC connector is unpopulated on Stamp-C5 and populated on Stamp-C5 DIP, as shown in the official Product Comparison.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stampc6.json b/extras/board_spec/generated/resolved/m5stampc6.json deleted file mode 100644 index 3aa4ae34..00000000 --- a/extras/board_spec/generated/resolved/m5stampc6.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stampc6", - "name": "M5StampC6", - "official_name": "M5Stack StampC6", - "legacy_board_id": 154, - "chip": "esp32c6", - "pins": {}, - "buses": {}, - "devices": {} -} diff --git a/extras/board_spec/generated/resolved/m5stamplc.json b/extras/board_spec/generated/resolved/m5stamplc.json deleted file mode 100644 index 77fabff9..00000000 --- a/extras/board_spec/generated/resolved/m5stamplc.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stamplc", - "name": "M5StamPLC", - "official_name": "M5Stack StamPLC", - "official_name_verified": true, - "aliases": [ - "stamplc", - "stamp plc" - ], - "legacy_board_id": 21, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "sd": true - }, - "links": { - "product": "https://docs.m5stack.com/en/core/StamPLC", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1129/K141_sch_StamPLC_V10_CPU.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "dev:lcd.rst", - "conn:ext_bus.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:grove_c.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:grove_c.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "dev:lcd.dc" - ] - }, - "7": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:ext_bus.12" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:ext_bus.13" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:ext_bus.11" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "conn:ext_bus.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "dev:lcd.cs" - ] - }, - "13": { - "roles": [ - "bus:internal_i2c.sda", - "conn:ext_bus.8" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:ext_bus.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "bus:internal_i2c.scl", - "conn:ext_bus.7" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "dev:led.data" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "conn:ext_bus.15" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "conn:ext_bus.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "dev:buzzer.data_out" - ], - "note": "Internal buzzer" - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "rotation_offset": 1, - "invert": true, - "readable": true, - "three_wire": true - }, - "signals": { - "rst": "gpio:3", - "dc": "gpio:6", - "cs": "gpio:12" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x43", - "verified": { - "i2c_addr": "datasheet" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "clk": "gpio:7", - "cmd": "gpio:8", - "d0": "gpio:9", - "d3": "gpio:10" - }, - "derived": { - "modes": [ - "spi", - "sdio1" - ], - "bus": "main_spi", - "cs": "gpio:10" - } - }, - "led": { - "kind": "led_strip", - "part": "sk6812", - "verified": { - "part": "datasheet", - "signals": "generated" - }, - "signals": { - "data": "gpio:21" - } - }, - "buzzer": { - "kind": "speaker", - "signals": { - "data_out": "gpio:44" - } - }, - "ioe": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43", - "pins": { - "p2": { - "roles": [ - "dev:btn_a.in" - ] - }, - "p1": { - "roles": [ - "dev:btn_b.in" - ] - }, - "p0": { - "roles": [ - "dev:btn_c.in" - ] - } - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "internal_up" - }, - "signals": { - "in": "pin:ioe.p2" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "internal_up" - }, - "signals": { - "in": "pin:ioe.p1" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "internal_up" - }, - "signals": { - "in": "pin:ioe.p0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "ext_bus": { - "type": "logical_terminals_16", - "positions": { - "1": "pwr:vin", - "2": "pwr:gnd", - "3": "pwr:gnd", - "4": "pwr:gnd", - "5": "pwr:gnd", - "6": "pwr:5vout", - "7": "gpio:15", - "8": "gpio:13", - "9": "gpio:3", - "10": "gpio:14", - "11": "gpio:9", - "12": "gpio:7", - "13": "gpio:8", - "14": "gpio:11", - "15": "gpio:40", - "16": "gpio:41" - }, - "note": "Exposed StamPLC-Bus J9; terminal numbering follows the official StamPLC-Bus table and IO schematic. SCL/SDA, PHY_RST/INT and SPI signals share internal peripherals. Isolated input, relay, CAN and RS485 terminals are not direct GPIO connections and are outside this catalog entry.", - "verified": { - "positions": "datasheet" - } - }, - "grove_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "Product marking is PORT.C: white GPIO4, yellow GPIO5, red 5V, black GND. M5Unified does not assign StamPLC Port C in its package pin table, so this is cataloged as the physical grove_c connector rather than the port_c contract name.", - "positions": { - "1": "gpio:4", - "2": "gpio:5", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stampp4.json b/extras/board_spec/generated/resolved/m5stampp4.json deleted file mode 100644 index fe0b3460..00000000 --- a/extras/board_spec/generated/resolved/m5stampp4.json +++ /dev/null @@ -1,590 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stampp4", - "name": "M5StampP4", - "official_name": "M5Stack Stamp-P4", - "official_name_verified": true, - "legacy_board_id": 150, - "chip": "esp32p4", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-P4", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1218/SCH_Stamp-P4_2026_03_16_17_23_06.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:stamp_pads.11" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:stamp_pads.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:stamp_pads.37" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:stamp_pads.45" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:stamp_pads.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:stamp_pads.35" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:stamp_pads.18" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:stamp_pads.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:stamp_pads.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:stamp_pads.6", - "conn:camera_btb.16", - "conn:sdio_btb.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:stamp_pads.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "11": { - "roles": [ - "conn:stamp_pads.4", - "conn:camera_btb.15", - "conn:sdio_btb.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "conn:stamp_pads.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "13": { - "roles": [ - "conn:stamp_pads.29" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "conn:stamp_pads.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "conn:stamp_pads.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "16": { - "roles": [ - "conn:stamp_pads.27" - ], - "verified": { - "roles": "datasheet" - } - }, - "17": { - "roles": [ - "conn:stamp_pads.26" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:stamp_pads.25" - ], - "verified": { - "roles": "datasheet" - } - }, - "19": { - "roles": [ - "conn:stamp_pads.24" - ], - "verified": { - "roles": "datasheet" - } - }, - "20": { - "roles": [ - "conn:stamp_pads.23" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "conn:stamp_pads.22" - ], - "verified": { - "roles": "datasheet" - } - }, - "22": { - "roles": [ - "conn:stamp_pads.21" - ], - "verified": { - "roles": "datasheet" - } - }, - "23": { - "roles": [ - "conn:stamp_pads.20" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:stamp_pads.19" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "conn:stamp_pads.17" - ], - "verified": { - "roles": "datasheet" - } - }, - "28": { - "roles": [ - "conn:stamp_pads.52" - ], - "verified": { - "roles": "datasheet" - } - }, - "29": { - "roles": [ - "conn:stamp_pads.54" - ], - "verified": { - "roles": "datasheet" - } - }, - "30": { - "roles": [ - "conn:stamp_pads.53" - ], - "verified": { - "roles": "datasheet" - } - }, - "31": { - "roles": [ - "conn:stamp_pads.51" - ], - "verified": { - "roles": "datasheet" - } - }, - "32": { - "roles": [ - "conn:stamp_pads.46" - ], - "verified": { - "roles": "datasheet" - } - }, - "33": { - "roles": [ - "conn:stamp_pads.50" - ], - "verified": { - "roles": "datasheet" - } - }, - "34": { - "roles": [ - "conn:stamp_pads.33" - ], - "verified": { - "roles": "datasheet" - } - }, - "35": { - "roles": [ - "conn:stamp_pads.36", - "conn:stamp_pads.48" - ], - "verified": { - "roles": "datasheet" - } - }, - "36": { - "roles": [ - "conn:stamp_pads.47" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "conn:stamp_pads.30" - ], - "verified": { - "roles": "datasheet" - } - }, - "38": { - "roles": [ - "conn:stamp_pads.32" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:stamp_pads.31" - ], - "verified": { - "roles": "datasheet" - } - }, - "40": { - "roles": [ - "conn:sdio_btb.19" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "conn:stamp_pads.49" - ], - "verified": { - "roles": "datasheet" - } - }, - "42": { - "roles": [ - "conn:sdio_btb.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "43": { - "roles": [ - "conn:sdio_btb.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:sdio_btb.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "conn:sdio_btb.13" - ], - "verified": { - "roles": "datasheet" - } - }, - "46": { - "roles": [ - "conn:sdio_btb.11" - ], - "verified": { - "roles": "datasheet" - } - }, - "47": { - "roles": [ - "conn:sdio_btb.15" - ], - "verified": { - "roles": "datasheet" - } - }, - "48": { - "roles": [ - "conn:sdio_btb.17" - ], - "verified": { - "roles": "datasheet" - } - }, - "49": { - "roles": [ - "conn:stamp_pads.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "50": { - "roles": [ - "conn:stamp_pads.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "51": { - "roles": [ - "conn:sdio_btb.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "52": { - "roles": [ - "conn:stamp_pads.55" - ], - "verified": { - "roles": "datasheet" - } - }, - "53": { - "roles": [ - "conn:camera_btb.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "54": { - "roles": [ - "conn:camera_btb.2" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": {}, - "devices": {}, - "connectors": { - "stamp_pads": { - "type": "logical_terminals_65", - "positions": { - "1": "gpio:15", - "2": "gpio:14", - "3": "gpio:12", - "4": "gpio:11", - "5": "gpio:10", - "6": "gpio:9", - "7": "gpio:8", - "8": "gpio:7", - "9": "gpio:1", - "10": "gpio:50", - "11": "gpio:0", - "12": "gpio:49", - "13": "pwr:gnd", - "14": "pwr:5vin", - "15": "pwr:vbus", - "16": "gpio:4", - "17": "gpio:27", - "18": "gpio:6", - "19": "gpio:26", - "20": "gpio:23", - "21": "gpio:22", - "22": "gpio:21", - "23": "gpio:20", - "24": "gpio:19", - "25": "gpio:18", - "26": "gpio:17", - "27": "gpio:16", - "28": "pwr:3v3", - "29": "gpio:13", - "30": "gpio:37", - "31": "gpio:39", - "32": "gpio:38", - "33": "gpio:34", - "34": "chip:en", - "35": "gpio:5", - "36": "gpio:35", - "37": "gpio:2", - "38": "pwr:gnd", - "39": "pwr:sys_5v", - "40": "fixed:usb2.dp", - "41": "fixed:usb2.dn", - "42": "pwr:gnd", - "43": "chip:usb_dn", - "44": "chip:usb_dp", - "45": "gpio:3", - "46": "gpio:32", - "47": "gpio:36", - "48": "gpio:35", - "49": "gpio:41", - "50": "gpio:33", - "51": "gpio:31", - "52": "gpio:28", - "53": "gpio:30", - "54": "gpio:29", - "55": "gpio:52", - "56": "pwr:gnd", - "57": "fixed:mipi_dsi.d0n", - "58": "fixed:mipi_dsi.d0p", - "59": "pwr:gnd", - "60": "fixed:mipi_dsi.clkp", - "61": "fixed:mipi_dsi.clkn", - "62": "pwr:gnd", - "63": "fixed:mipi_dsi.d1n", - "64": "fixed:mipi_dsi.d1p", - "65": "pwr:gnd" - }, - "note": "Numbers 1-65 follow STAMP1 in the official schematic. This logical order does not imply a uniform physical pitch. GPIO24/25 are represented as dedicated native USB D-/D+ endpoints; USB2_HOST and MIPI DSI pads are dedicated non-GPIO signals. GPIO35 reaches two pads (36 and 48).", - "verified": { - "positions": "datasheet" - }, - "shared_gpio": [ - "36", - "48" - ] - }, - "camera_btb": { - "type": "logical_terminals_20", - "positions": { - "1": "pwr:gnd", - "2": "gpio:54", - "3": "gpio:53", - "4": "pwr:gnd", - "5": "fixed:mipi_csi.d0n", - "6": "fixed:mipi_csi.d0p", - "7": "pwr:gnd", - "8": "fixed:mipi_csi.clkn", - "9": "fixed:mipi_csi.clkp", - "10": "pwr:gnd", - "11": "pwr:gnd", - "12": "fixed:mipi_csi.d1n", - "13": "fixed:mipi_csi.d1p", - "14": "pwr:3v3", - "15": "gpio:11", - "16": "gpio:9", - "17": "pwr:gnd", - "18": "pwr:gnd", - "19": "pwr:gnd", - "20": "pwr:gnd" - }, - "note": "Exposed MIPI CSI camera BTB connector J2; terminal numbering follows the official schematic and PinMap. GPIO54=CAM_RST, GPIO53=CAM_MCLK, GPIO11=SDA, GPIO9=SCL.", - "verified": { - "positions": "datasheet" - } - }, - "sdio_btb": { - "type": "logical_terminals_20", - "positions": { - "1": "pwr:gnd", - "2": "pwr:gnd", - "3": "pwr:gnd", - "4": "pwr:sys_5v", - "5": "gpio:42", - "6": "pwr:sys_5v", - "7": "gpio:43", - "8": "pwr:3v3", - "9": "gpio:44", - "10": "pwr:3v3", - "11": "gpio:46", - "12": "gpio:51", - "13": "gpio:45", - "14": "gpio:9", - "15": "gpio:47", - "16": "gpio:11", - "17": "gpio:48", - "18": "pwr:gnd", - "19": "gpio:40", - "20": "pwr:gnd" - }, - "note": "Exposed 20-pin SDIO BTB connector J3. Numbers follow the official schematic/PinMap. GPIO42 is SDIO_RST, GPIO43 CLK, GPIO44 CMD, GPIO45/46/47/48 D0/D1/D2/D3.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stampp4x.json b/extras/board_spec/generated/resolved/m5stampp4x.json deleted file mode 100644 index 5c0aaaf4..00000000 --- a/extras/board_spec/generated/resolved/m5stampp4x.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stampp4x", - "name": "M5StampP4X", - "official_name": "M5StampP4X", - "legacy_board_id": 156, - "chip": "esp32p4", - "pins": {}, - "buses": {}, - "devices": {} -} diff --git a/extras/board_spec/generated/resolved/m5stamppico.json b/extras/board_spec/generated/resolved/m5stamppico.json deleted file mode 100644 index 26e0e20c..00000000 --- a/extras/board_spec/generated/resolved/m5stamppico.json +++ /dev/null @@ -1,201 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stamppico", - "name": "M5StampPico", - "official_name": "M5Stack Stamp-Pico", - "official_name_verified": true, - "legacy_board_id": 133, - "chip": "esp32_d0wdq6", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-Pico", - "schematic": "https://static-cdn.m5stack.com/resource/docs/products/core/stamp_pico/stamp_pico_sch_01.webp", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:stamp_right.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:stamp_right.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:stamp_right.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:stamp_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "19": { - "roles": [ - "conn:stamp_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:stamp_left.5" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:stamp_left.6" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:stamp_left.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:stamp_left.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:stamp_left.2" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:27" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Grove solder footprint shown at the bottom of the official PinMap; the connector may be fitted separately. White signal is GPIO33, yellow signal is GPIO32.", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "stamp_left": { - "type": "logical_terminals_9", - "positions": { - "1": "gpio:26", - "2": "gpio:36", - "3": "gpio:18", - "4": "gpio:19", - "5": "gpio:21", - "6": "gpio:22", - "7": "gpio:25", - "8": "pwr:5v", - "9": "pwr:gnd" - }, - "note": "Positions counted top to bottom in the official component-side PinMap with antenna at the top and Grove pads at the bottom; not schematic connector pin numbers.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "stamp_right": { - "type": "logical_terminals_6", - "positions": { - "1": "pwr:3v3", - "2": "gpio:1", - "3": "gpio:3", - "4": "chip:en", - "5": "gpio:0", - "6": "pwr:gnd" - }, - "note": "Positions counted top to bottom in the official component-side PinMap with antenna at the top and Grove pads at the bottom; not schematic connector pin numbers.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stamps3.json b/extras/board_spec/generated/resolved/m5stamps3.json deleted file mode 100644 index 969549f7..00000000 --- a/extras/board_spec/generated/resolved/m5stamps3.json +++ /dev/null @@ -1,400 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stamps3", - "name": "M5StampS3", - "official_name": "M5Stack Stamp-S3", - "official_name_verified": true, - "legacy_board_id": 136, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-S3", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/522/Sch_M5StampS3_v0.2.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:stamp_pads.20" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:stamp_pads.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:stamp_pads.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:stamp_pads.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:stamp_pads.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:stamp_pads.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:stamp_pads.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:stamp_pads.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:stamp_pads.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:stamp_pads.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:stamp_pads.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "11": { - "roles": [ - "conn:stamp_pads.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "conn:stamp_pads.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:stamp_pads.15" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:stamp_pads.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:stamp_pads.17" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "conn:lcd_fpc12.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "17": { - "roles": [ - "conn:lcd_fpc12.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:lcd_fpc12.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:lcd_fpc12.7", - "conn:lcd_fpc8.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "34": { - "roles": [ - "conn:lcd_fpc12.8", - "conn:lcd_fpc8.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "35": { - "roles": [ - "conn:lcd_fpc12.9", - "conn:lcd_fpc8.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "36": { - "roles": [ - "conn:lcd_fpc12.10", - "conn:lcd_fpc8.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "conn:lcd_fpc12.12", - "conn:lcd_fpc8.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:stamp_pads.19" - ], - "verified": { - "roles": "datasheet" - } - }, - "40": { - "roles": [ - "conn:stamp_pads.21" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "conn:stamp_pads.23" - ], - "verified": { - "roles": "datasheet" - } - }, - "42": { - "roles": [ - "conn:stamp_pads.25" - ], - "verified": { - "roles": "datasheet" - } - }, - "43": { - "roles": [ - "conn:stamp_pads.26" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:stamp_pads.24" - ], - "verified": { - "roles": "datasheet" - } - }, - "46": { - "roles": [ - "conn:stamp_pads.27" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": { - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:21" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Port A uses GPIO15 (SCL) and GPIO13 (SDA), matching the official PinMap. The bare-module schematic has no HY2.0-4P connector; the product includes a separate HY2.0-4P terminal.", - "positions": { - "1": "gpio:15", - "2": "gpio:13", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "stamp_pads": { - "type": "logical_terminals_28", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "gpio:3", - "4": "gpio:4", - "5": "gpio:5", - "6": "gpio:6", - "7": "gpio:7", - "8": "gpio:8", - "9": "gpio:9", - "10": "gpio:10", - "11": "pwr:gnd", - "12": "gpio:11", - "13": "pwr:5v", - "14": "gpio:12", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:15", - "18": "pwr:gnd", - "19": "gpio:39", - "20": "gpio:0", - "21": "gpio:40", - "22": "chip:en", - "23": "gpio:41", - "24": "gpio:44", - "25": "gpio:42", - "26": "gpio:43", - "27": "gpio:46", - "28": "pwr:3v3" - }, - "note": "Numbers follow M1 in the official v0.2 schematic. Module SMT/DIP pads support different pitch variants; this is an electrical terminal ordering.", - "verified": { - "positions": "datasheet" - } - }, - "lcd_fpc12": { - "type": "logical_terminals_12", - "positions": { - "1": "pwr:5v", - "2": "gpio:18", - "3": "gpio:17", - "4": "gpio:16", - "5": "pwr:lcd_bl", - "6": "pwr:gnd", - "7": "gpio:33", - "8": "gpio:34", - "9": "gpio:35", - "10": "gpio:36", - "11": "pwr:3v3", - "12": "gpio:37" - }, - "note": "Rear J1 12-pin 0.5mm LCD/extension footprint, marked NC in the schematic. Pin 5 BL is the SGM2578 regulated output switched by GPIO38, not a direct GPIO38 connection. Numbers follow J1.", - "verified": { - "positions": "datasheet" - } - }, - "lcd_fpc8": { - "type": "logical_terminals_8", - "positions": { - "1": "pwr:lcd_bl", - "2": "pwr:gnd", - "3": "gpio:33", - "4": "gpio:34", - "5": "gpio:35", - "6": "gpio:36", - "7": "pwr:3v3", - "8": "gpio:37" - }, - "note": "Rear J3 8-pin 0.5mm LCD footprint, marked NC in the schematic. Pin 1 BL is the SGM2578 regulated output switched by GPIO38, not a direct GPIO38 connection. Numbers follow J3; the 8-pin and 12-pin footprints are assembly alternatives.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stamps3bat.json b/extras/board_spec/generated/resolved/m5stamps3bat.json deleted file mode 100644 index 883922c4..00000000 --- a/extras/board_spec/generated/resolved/m5stamps3bat.json +++ /dev/null @@ -1,369 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stamps3bat", - "name": "M5StampS3Bat", - "official_name": "M5Stack Stamp-S3Bat", - "official_name_verified": true, - "legacy_board_id": 149, - "chip": "esp32s3", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/core/Stamp-S3Bat", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1222/S015-SCH_Stamp-S3BAT.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "1": { - "roles": [ - "conn:stamp_left.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:stamp_left.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:stamp_left.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:stamp_left.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:stamp_left.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:stamp_left.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:stamp_left.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:stamp_right.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:stamp_right.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:stamp_right.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "11": { - "roles": [ - "conn:stamp_right.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "conn:btb.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "13": { - "roles": [ - "conn:btb.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "14": { - "roles": [ - "conn:btb.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "15": { - "roles": [ - "conn:btb.11" - ], - "verified": { - "roles": "datasheet" - } - }, - "16": { - "roles": [ - "conn:btb.13" - ], - "verified": { - "roles": "datasheet" - } - }, - "17": { - "roles": [ - "conn:btb.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:btb.15" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "conn:btb.17" - ], - "verified": { - "roles": "datasheet" - } - }, - "38": { - "roles": [ - "conn:btb.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:btb.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "40": { - "roles": [ - "conn:btb.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "conn:btb.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "42": { - "roles": [ - "conn:btb.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "43": { - "roles": [ - "conn:btb.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:btb.18" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "conn:btb.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "46": { - "roles": [ - "conn:btb.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "47": { - "roles": [ - "bus:internal_i2c.scl", - "conn:btb.20" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "bus:internal_i2c.sda", - "conn:btb.24" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "gpio4": { - "roles": [ - "conn:stamp_right.8" - ], - "verified": { - "roles": "datasheet" - }, - "note": "PY_G4_WAKE external wake terminal." - } - } - } - }, - "connectors": { - "stamp_left": { - "type": "logical_terminals_9", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "gpio:3", - "4": "gpio:4", - "5": "gpio:5", - "6": "pwr:gnd", - "7": "pwr:5vout", - "8": "gpio:6", - "9": "gpio:7" - }, - "note": "Official schematic J3 positions 1-9, top to bottom in the component-side PinMap. EXT_5V_OUT is controlled by M5PM1 5VOUT_EN.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "stamp_right": { - "type": "logical_terminals_9", - "positions": { - "1": "pwr:5vin", - "2": "pwr:3v3_l2", - "3": "pwr:bat", - "4": "gpio:8", - "5": "gpio:9", - "6": "gpio:10", - "7": "gpio:11", - "8": "pin:pmic.gpio4", - "9": "pwr:gnd" - }, - "note": "Official schematic J5 positions 1-9, top to bottom in the component-side PinMap. Wake terminal is M5PM1 GPIO4, not ESP32-S3 GPIO4. 3V3 is the switched 3V3_L2 rail.", - "verified": { - "positions": "datasheet" - }, - "group": "pins" - }, - "btb": { - "type": "logical_terminals_24", - "positions": { - "1": "gpio:40", - "2": "gpio:46", - "3": "gpio:38", - "4": "gpio:45", - "5": "gpio:12", - "6": "gpio:41", - "7": "gpio:13", - "8": "gpio:43", - "9": "gpio:14", - "10": "gpio:42", - "11": "gpio:15", - "12": "gpio:39", - "13": "gpio:16", - "14": "pwr:gnd", - "15": "gpio:18", - "16": "gpio:17", - "17": "gpio:21", - "18": "gpio:44", - "19": "pwr:3v3_l2", - "20": "gpio:47", - "21": "pwr:sys_vbus", - "22": "pwr:gnd", - "23": "pwr:sys_vbus", - "24": "gpio:48" - }, - "note": "Exposed 24-pin 0.4mm BTB/DVP expansion connector H1. Terminal numbering follows the official BTB table. Positions 19/21/23 are switched 3V3_L2 / SYS_VBUS power rails; GPIO47/48 share the M5PM1 I2C bus.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stamps3mini.json b/extras/board_spec/generated/resolved/m5stamps3mini.json deleted file mode 100644 index b82480d8..00000000 --- a/extras/board_spec/generated/resolved/m5stamps3mini.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stamps3mini", - "name": "M5StampS3Mini", - "official_name": "M5Stack M5StampS3Mini", - "legacy_board_id": 155, - "chip": "esp32s3", - "pins": { - "1": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": {}, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:1", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5station.json b/extras/board_spec/generated/resolved/m5station.json deleted file mode 100644 index b70c29d8..00000000 --- a/extras/board_spec/generated/resolved/m5station.json +++ /dev/null @@ -1,399 +0,0 @@ -{ - "schema_version": 1, - "id": "m5station", - "name": "M5Station", - "official_name": "M5Stack Station (Bat/485)", - "aliases": [ - "station", - "station-bat", - "station-485", - "rs485" - ], - "legacy_board_id": 9, - "chip": "esp32_d0wdq6", - "spec": { - "storage": { - "psram_mb": 0, - "flash_mb": 16 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Station-485", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/521/Sch_M5Station_v1.3.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot" - ] - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "4": { - "roles": [ - "dev:rgb_led.data" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ] - }, - "13": { - "roles": [ - "conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.rst" - ] - }, - "16": { - "roles": [ - "conn:port_c2.1" - ], - "verified": { - "roles": "generated" - } - }, - "17": { - "roles": [ - "conn:port_c2.2" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "dev:lcd.dc" - ] - }, - "21": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:port_b2.2" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:grove_a2.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:grove_a2.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:port_b2.1" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "38": { - "roles": [ - "dev:btn_b.in" - ] - }, - "39": { - "roles": [ - "dev:btn_c.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 15000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch9102f", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "rotation_offset": 1 - }, - "signals": { - "cs": "gpio:5", - "rst": "gpio:15", - "dc": "gpio:19" - }, - "verified": { - "signals": "generated" - } - }, - "rgb_led": { - "kind": "led_strip", - "signals": { - "data": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:38" - }, - "verified": { - "signals": "generated" - } - }, - "btn_c": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Physical PORT.A1; PORT.A2 is a second socket on the same GPIO33/32 I2C bus.", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:35", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b2": { - "type": "hy2_4p", - "standard": "port_io", - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c2": { - "type": "hy2_4p", - "standard": "port_uart", - "positions": { - "1": "gpio:16", - "2": "gpio:17", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "grove_a2": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "Physical PORT.A2 shares GPIO33/32 with PORT.A1 (port_a). Registered separately because M5Unified has one Port A contract for the two sockets.", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stickc.json b/extras/board_spec/generated/resolved/m5stickc.json deleted file mode 100644 index 1b1c465d..00000000 --- a/extras/board_spec/generated/resolved/m5stickc.json +++ /dev/null @@ -1,337 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stickc", - "name": "M5StickC", - "official_name": "M5Stack StickC", - "official_name_verified": true, - "aliases": [ - "stickc", - "m5stickc", - "stick c" - ], - "legacy_board_id": 3, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "resolution": [ - 80, - 160 - ], - "touch": false - }, - "storage": { - "psram_mb": 0 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/StickC", - "schematic": "https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/schematic/Core/M5StickC/20191118__StickC_A04_3110_Schematic_Rebuild_PinMap.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot", - "conn:hat.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "5": { - "roles": [ - "dev:lcd.cs" - ] - }, - "13": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:main_spi.miso" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "dev:lcd.rst" - ] - }, - "21": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "dev:lcd.dc" - ] - }, - "26": { - "roles": [ - "conn:hat.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "39": { - "roles": [ - "dev:btn_b.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 27000000, - "freq_read": 14000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch552", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "part": "st7735s", - "bus": "main_spi", - "spec": { - "width": 80, - "height": 160, - "offset_x": 26, - "offset_y": 1, - "rotation_offset": 2, - "invert": true, - "three_wire": true, - "panel_type": "st7735s" - }, - "signals": { - "cs": "gpio:5", - "rst": "gpio:18", - "dc": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x34" - }, - "pmic": { - "kind": "pmic", - "part": "axp192", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "hat": { - "type": "socket_1x8_254", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5vout", - "3": "gpio:26", - "4": "gpio:36", - "5": "gpio:0", - "6": "pwr:bat", - "7": "pwr:3v3", - "8": "pwr:5vin" - }, - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "note": "HAT socket: positions 1-8 run from GND to 5V input, left to right in the rear-label view. GPIO0 is shared with the microphone clock. 5V output and 5V input are separate rails." - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stickcplus.json b/extras/board_spec/generated/resolved/m5stickcplus.json deleted file mode 100644 index 4bcde987..00000000 --- a/extras/board_spec/generated/resolved/m5stickcplus.json +++ /dev/null @@ -1,352 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stickcplus", - "name": "M5StickCPlus", - "official_name": "M5Stack StickC-Plus", - "official_name_verified": true, - "aliases": [ - "stickc plus", - "m5stickc plus", - "stickcplus", - "stickc-plus se", - "plus se" - ], - "legacy_board_id": 4, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "flash_mb": 4 - }, - "links": { - "product": "https://docs.m5stack.com/en/core/StickC-Plus", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/669/k016-p-StickC-Plus-sche.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot", - "conn:hat.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "5": { - "roles": [ - "dev:lcd.cs" - ] - }, - "13": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:main_spi.miso" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "18": { - "roles": [ - "dev:lcd.rst" - ] - }, - "21": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "dev:lcd.dc" - ] - }, - "25": { - "roles": [ - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:hat.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "39": { - "roles": [ - "dev:btn_b.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 15000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch552", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "invert": true, - "three_wire": true - }, - "signals": { - "cs": "gpio:5", - "rst": "gpio:18", - "dc": "gpio:23" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "bus": "internal_i2c", - "i2c_addr": "0x34" - }, - "pmic": { - "kind": "pmic", - "part": "axp192", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "hat": { - "type": "socket_1x8_254", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5vout", - "3": "gpio:26", - "4": [ - "gpio:25", - "gpio:36" - ], - "5": "gpio:0", - "6": "pwr:bat", - "7": "pwr:3v3", - "8": "pwr:5vin" - }, - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "note": "HAT socket: positions 1-8 run from GND to 5V input, left to right in the rear-label view. GPIO0 is shared with the microphone clock. 5V output and 5V input are separate rails. The current official rear photo is labeled CPlus 1.1 and identifies pin 4 as G36/G25; the linked older schematic labels its external pad only GPIO36. The Specifications External Pins field says G25/G26, which differs from the rear-label G36/G25 notation. This catalog follows the rear label and documented G36/G25 shared terminal without treating either notation as a confirmed typo. When using GPIO36 or GPIO25, leave the other as an input with both internal pulls disabled, as instructed by the official StickC-Plus documentation.", - "multi_gpio": [ - "4" - ] - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stickcplus2.json b/extras/board_spec/generated/resolved/m5stickcplus2.json deleted file mode 100644 index e2610d37..00000000 --- a/extras/board_spec/generated/resolved/m5stickcplus2.json +++ /dev/null @@ -1,419 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stickcplus2", - "name": "M5StickCPlus2", - "official_name": "M5Stack StickC-Plus2", - "official_name_verified": true, - "aliases": [ - "stickc plus2", - "m5stickc plus2", - "stickcplus2" - ], - "legacy_board_id": 5, - "chip": "esp32_d0wdq6", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 2, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/StickC-Plus2", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/512/Sch_M5StickC_Plus2_v0.5.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot", - "conn:hat.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "4": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ] - }, - "9": { - "roles": [ - "dev:psram.cs" - ] - }, - "10": { - "roles": [ - "dev:psram.clk" - ] - }, - "12": { - "roles": [ - "dev:lcd.rst" - ] - }, - "13": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "dev:lcd.dc" - ] - }, - "15": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "dev:ir_led.on", - "dev:red_led.on" - ], - "pull": "down", - "note": "IR transmitter and red LED driven through Q5 base", - "verified": { - "pull": "measured" - }, - "measured_by": { - "pull": "Internal-pull GPIO survey on M5StickCPlus2" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda" - ], - "pull": "up", - "verified": { - "roles": "generated", - "pull": "measured" - }, - "measured_by": { - "pull": "Internal-pull GPIO survey on M5StickCPlus2" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl" - ], - "pull": "up", - "verified": { - "roles": "generated", - "pull": "measured" - }, - "measured_by": { - "pull": "Internal-pull GPIO survey on M5StickCPlus2" - } - }, - "25": { - "roles": [ - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:hat.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "32": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "dev:btn_pwr.in" - ] - }, - "36": { - "roles": [ - "conn:hat.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "dev:btn_a.in" - ] - }, - "39": { - "roles": [ - "dev:btn_b.in" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 15000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch9102", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "invert": true, - "three_wire": true - }, - "signals": { - "cs": "gpio:5", - "rst": "gpio:12", - "dc": "gpio:14" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 40 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:27" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:4" - }, - "verified": { - "signals": "generated" - } - }, - "ir_led": { - "kind": "led", - "signals": { - "on": "gpio:19" - } - }, - "red_led": { - "kind": "led", - "signals": { - "on": "gpio:19" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:35" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:9", - "clk": "gpio:10" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "hat": { - "type": "socket_1x8_254", - "positions": { - "1": "pwr:gnd", - "2": "pwr:5vout", - "3": "gpio:26", - "4": [ - "gpio:25", - "gpio:36" - ], - "5": "gpio:0", - "6": "pwr:bat", - "7": "pwr:3v3", - "8": "pwr:5vin" - }, - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "note": "HAT socket: positions 1-8 run from GND to 5V input, left to right in the rear-label view. GPIO0 is shared with the microphone clock. 5V output and 5V input are separate rails. P1 pin 4 joins GPIO36 and GPIO25 in the official v0.5 schematic; the rear label reads G36/G25. The Specifications External Pins field says G25/G26, which differs from the rear-label G36/G25 notation. This catalog follows the rear label and documented G36/G25 shared terminal without treating either notation as a confirmed typo. When using GPIO36 or GPIO25, leave the other as an input with both internal pulls disabled, as instructed by the official StickC-Plus documentation.", - "multi_gpio": [ - "4" - ] - } - }, - "chip_package": "pico_v3_02" -} diff --git a/extras/board_spec/generated/resolved/m5sticks3.json b/extras/board_spec/generated/resolved/m5sticks3.json deleted file mode 100644 index d5d68a3f..00000000 --- a/extras/board_spec/generated/resolved/m5sticks3.json +++ /dev/null @@ -1,527 +0,0 @@ -{ - "schema_version": 1, - "id": "m5sticks3", - "name": "M5StickS3", - "official_name": "M5Stack StickS3", - "official_name_verified": true, - "aliases": [ - "sticks3", - "m5sticks3", - "stick s3" - ], - "legacy_board_id": 26, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 135, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/StickS3", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1207/K150_Stick_S3_PRJ_V0.6_20251111_2025_11_17_16_10_24.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "conn:hat2.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "1": { - "roles": [ - "conn:hat2.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "2": { - "roles": [ - "conn:hat2.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:hat2.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:hat2.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "5": { - "roles": [ - "conn:hat2.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "6": { - "roles": [ - "conn:hat2.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "7": { - "roles": [ - "conn:hat2.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:hat2.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "dev:btn_a.in" - ] - }, - "12": { - "roles": [ - "dev:btn_b.in" - ] - }, - "14": { - "roles": [ - "bus:i2s_audio.data_out" - ] - }, - "15": { - "roles": [ - "bus:i2s_audio.ws" - ] - }, - "16": { - "roles": [ - "bus:i2s_audio.data_in" - ] - }, - "17": { - "roles": [ - "bus:i2s_audio.bck" - ] - }, - "18": { - "roles": [ - "bus:i2s_audio.mck" - ] - }, - "21": { - "roles": [ - "dev:lcd.rst" - ] - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "38": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "39": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "40": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "dev:lcd.cs" - ] - }, - "43": { - "roles": [ - "conn:hat2.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:hat2.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "dev:lcd.dc" - ] - }, - "47": { - "roles": [ - "bus:internal_i2c.sda" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "bus:internal_i2c.scl" - ], - "pull": "up", - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 100000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "i2s_audio": { - "kind": "i2s", - "signals": [ - "mck", - "bck", - "ws", - "data_out", - "data_in" - ], - "fixed": false, - "freq": 22050, - "note": "Speaker uses I2S0 and microphone uses I2S1; magnification is 1." - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 135, - "height": 240, - "offset_x": 52, - "offset_y": 40, - "rotation_offset": 0, - "invert": true, - "readable": true - }, - "signals": { - "rst": "gpio:21", - "cs": "gpio:41", - "dc": "gpio:45", - "power": "pin:pmic.gpio2" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 256, - "channel": 7, - "invert": false, - "offset": 16 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:38" - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "gpio2": { - "roles": [ - "dev:lcd.power" - ] - }, - "gpio3": { - "roles": [ - "dev:speaker.enable" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "speaker": { - "kind": "speaker", - "bus": "i2s_audio", - "verified": { - "bus": "datasheet", - "enable": "generated" - }, - "enable": "pin:pmic.gpio3" - }, - "mic": { - "kind": "mic", - "bus": "i2s_audio", - "verified": { - "bus": "datasheet" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:11" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:12" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:10", - "2": "gpio:9", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "note": "Grove 5V shares Hat2 EXT_5V. With the default disabled EXT_5V_EN it is an input and external 5V can power the device through Grove or Hat2 EXT_5V. Enabling EXT_5V_EN makes these terminals 5V outputs; then supply power only through USB or Hat2 5V_IN.", - "verified": { - "positions": "datasheet" - } - }, - "hat2": { - "type": "socket_2x8_254", - "positions": { - "1": "pwr:gnd", - "2": "gpio:5", - "3": "pwr:5vout", - "4": "gpio:4", - "5": "gpio:0", - "6": "gpio:6", - "7": "gpio:1", - "8": "gpio:7", - "9": "gpio:8", - "10": "gpio:43", - "11": "pwr:bat", - "12": "gpio:44", - "13": "pwr:3v3_l2", - "14": "gpio:2", - "15": "pwr:5vin", - "16": "gpio:3" - }, - "verified": { - "type": "datasheet", - "positions": "datasheet" - }, - "note": "Hat2: logical positions follow the official Hat2-Bus table (odd pins left, even pins right), not schematic CN2 numbering. Pin 5 BOOT is ESP32-S3 GPIO0, driven by M5PM1 BOOT_OUT_OD. EXT_5V (pin 3) and Grove 5V default to input mode and can supply the device from external 5V. They become 5V outputs only when EXT_5V_EN is enabled; in output mode supply power only through USB or 5V_IN (pin 15), not through Grove/EXT_5V. Pin 13 is the switched 3V3_L2 rail." - } - } -} diff --git a/extras/board_spec/generated/resolved/m5stopwatch.json b/extras/board_spec/generated/resolved/m5stopwatch.json deleted file mode 100644 index 81e648d7..00000000 --- a/extras/board_spec/generated/resolved/m5stopwatch.json +++ /dev/null @@ -1,505 +0,0 @@ -{ - "schema_version": 1, - "id": "m5stopwatch", - "name": "M5StopWatch", - "official_name": "M5Stack StopWatch", - "official_name_verified": true, - "aliases": [ - "stopwatch", - "stop watch" - ], - "legacy_board_id": 30, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 468, - 468 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "psram_mode": "opi", - "flash_mb": 16 - }, - "links": { - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1242/C152-SCH_Stopwatch_PRJ_Main_VA_20251201_2026_04_24_17_46_22.pdf", - "product": "https://docs.m5stack.com/en/core/StopWatch" - } - }, - "pins": { - "0": { - "roles": [ - "conn:rear_mux.5" - ], - "note": "BOOT; connected to M5PM1 BOOT_OUT_OD." - }, - "1": { - "roles": [ - "dev:btn_b.in" - ] - }, - "2": { - "roles": [ - "dev:btn_a.in" - ] - }, - "3": { - "roles": [ - "conn:rear_gpio.1" - ], - "note": "J5 EXT_GPIO3." - }, - "4": { - "roles": [ - "conn:rear_gpio.2" - ], - "note": "J5 EXT_GPIO4." - }, - "5": { - "roles": [ - "conn:rear_gpio.3" - ], - "note": "J5 EXT_GPIO5." - }, - "6": { - "roles": [ - "conn:rear_gpio.4" - ], - "note": "J5 EXT_GPIO6." - }, - "7": { - "roles": [ - "conn:rear_gpio.5" - ], - "note": "J5 EXT_GPIO7." - }, - "8": { - "roles": [ - "conn:rear_gpio.6" - ], - "note": "J5 EXT_GPIO8." - }, - "9": { - "roles": [ - "conn:rear_mux.4" - ], - "note": "J6 EXT_GPIO9." - }, - "10": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "dev:pmic.int" - ], - "note": "G12_PY_IRQ from M5PM1 G1_IRQout." - }, - "13": { - "roles": [ - "dev:touch.int" - ] - }, - "14": { - "roles": [], - "note": "R34 is not populated, so GPIO14 is unconnected by default. Fitting R34 connects it to PYB_SPK_EN; the stock amplifier enable is controlled by M5IOE1 PYG10." - }, - "26": { - "roles": [ - "dev:psram.cs" - ] - }, - "27": { - "roles": [ - "dev:psram.d3" - ] - }, - "28": { - "roles": [ - "dev:psram.d2" - ] - }, - "30": { - "roles": [ - "dev:psram.clk" - ] - }, - "31": { - "roles": [ - "dev:psram.d1" - ] - }, - "32": { - "roles": [ - "dev:psram.d0" - ] - }, - "33": { - "roles": [ - "dev:psram.d4" - ] - }, - "34": { - "roles": [ - "dev:psram.d5" - ] - }, - "35": { - "roles": [ - "dev:psram.d6" - ] - }, - "36": { - "roles": [ - "dev:psram.d7" - ] - }, - "37": { - "roles": [ - "dev:psram.dqs" - ] - }, - "38": { - "roles": [], - "note": "OLED TE input" - }, - "39": { - "roles": [ - "dev:lcd.cs" - ] - }, - "40": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "41": { - "roles": [ - "bus:main_spi.io0" - ], - "verified": { - "roles": "generated" - } - }, - "42": { - "roles": [ - "bus:main_spi.io1" - ], - "verified": { - "roles": "generated" - } - }, - "45": { - "roles": [ - "bus:main_spi.io3" - ], - "verified": { - "roles": "generated" - } - }, - "46": { - "roles": [ - "bus:main_spi.io2" - ], - "verified": { - "roles": "generated" - } - }, - "47": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "48": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "io0", - "io1", - "io2", - "io3" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 80000000, - "freq_read": 1000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "co5300", - "bus": "main_spi", - "spec": { - "width": 468, - "height": 468, - "offset_x": 6, - "offset_y": 0, - "rotation_offset": 0, - "invert": false, - "readable": false, - "three_wire": true - }, - "signals": { - "cs": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "touch": { - "kind": "touch", - "part": "cst816s", - "bus": "touch_i2c", - "i2c_addr": "0x15", - "spec": { - "x_min": 0, - "x_max": 233, - "y_min": 0, - "y_max": 233, - "rotation_offset": 0 - }, - "signals": { - "int": "gpio:13" - }, - "verified": { - "signals": "generated" - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - }, - "signals": { - "int": "gpio:12" - } - }, - "ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c" - }, - "rtc": { - "kind": "rtc", - "bus": "internal_i2c", - "i2c_addr": "0x32" - }, - "imu": { - "kind": "imu", - "bus": "internal_i2c", - "i2c_addr": "0x68" - }, - "nfc": { - "kind": "sensor", - "bus": "internal_i2c", - "i2c_addr": "0x50" - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:2" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:1" - }, - "verified": { - "signals": "generated" - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:26", - "d3": "gpio:27", - "d2": "gpio:28", - "clk": "gpio:30", - "d1": "gpio:31", - "d0": "gpio:32", - "d4": "gpio:33", - "d5": "gpio:34", - "d6": "gpio:35", - "d7": "gpio:36", - "dqs": "gpio:37" - } - }, - "rear_mux": { - "kind": "transceiver", - "part": "ch442e", - "pins": { - "io1": { - "roles": [ - "conn:rear_mux.2" - ], - "note": "MUX_IO_1 / DB (U26 pin 4)." - }, - "io2": { - "roles": [ - "conn:rear_mux.3" - ], - "note": "MUX_IO_2 / DC (U26 pin 6)." - } - }, - "note": "U26 CH442E routes MUX_IO_1/2 through a switch, not a direct GPIO connection. M5IOE1 at 0x4F controls IN via PYG1 (PYB_MUX_CTR): low selects G43 UART0 TX / G44 UART0 RX (default); high selects G20 USB_P / G19 USB_N." - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:11", - "2": "gpio:10", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "rear_gpio": { - "type": "socket_1x7_254", - "positions": { - "1": "gpio:3", - "2": "gpio:4", - "3": "gpio:5", - "4": "gpio:6", - "5": "gpio:7", - "6": "gpio:8", - "7": "pwr:bat" - }, - "note": "Rear right J5: pins 1-6 are G3-G8; pin 7 is BAT on v1.0.1. On v1.0, pin 7 is an external 5V input, including batches incorrectly labeled BAT. Never connect a battery to the v1.0 pin. The linked schematic shows the older Int_5V connection.", - "group": "rear" - }, - "rear_mux": { - "type": "socket_1x6_254", - "positions": { - "1": "pwr:3v3", - "2": "pin:rear_mux.io1", - "3": "pin:rear_mux.io2", - "4": "gpio:9", - "5": "gpio:0", - "6": "pwr:gnd" - }, - "note": "Rear left J6: pin 1 is the switched 3V3_L2 output through R59 (0 ohm); do not exceed 200 mA. Pins 2/3 are CH442E MUX_IO_1/2: G43/G44 UART0 by default, G20/G19 USB when M5IOE1 PYG1 is high. Pin 4 is G9, pin 5 is G0 BOOT, pin 6 is GND.", - "group": "rear" - } - } -} diff --git a/extras/board_spec/generated/resolved/m5timercam.json b/extras/board_spec/generated/resolved/m5timercam.json deleted file mode 100644 index a7b8124b..00000000 --- a/extras/board_spec/generated/resolved/m5timercam.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "schema_version": 1, - "id": "m5timercam", - "name": "M5TimerCam", - "official_name": "M5Stack TimerCamera", - "official_name_verified": true, - "aliases": [ - "timercam", - "timer camera", - "timer cam", - "timercamera-x", - "timercamera-f" - ], - "legacy_board_id": 132, - "chip": "esp32_d0wdq6", - "spec": { - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/unit/timercam", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1042/Sch_M5TimerCAM.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:usb_serial.boot" - ] - }, - "1": { - "roles": [ - "bus:console_uart.tx" - ] - }, - "3": { - "roles": [ - "bus:console_uart.rx" - ] - }, - "4": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "13": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "33": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch552", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "power_hold": { - "kind": "power_hold", - "signals": { - "enable": "gpio:33" - }, - "verified": { - "signals": "generated" - } - }, - "rtc": { - "kind": "rtc", - "part": "bm8563", - "bus": "internal_i2c", - "i2c_addr": "0x51" - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:13", - "2": "gpio:4", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5tough+lcd=ili9342c.json b/extras/board_spec/generated/resolved/m5tough+lcd=ili9342c.json deleted file mode 100644 index e5a4df24..00000000 --- a/extras/board_spec/generated/resolved/m5tough+lcd=ili9342c.json +++ /dev/null @@ -1,669 +0,0 @@ -{ - "schema_version": 1, - "id": "m5tough", - "name": "M5Tough", - "official_name": "M5Stack Tough", - "official_name_verified": true, - "aliases": [ - "tough", - "m5tough" - ], - "legacy_board_id": 8, - "chip": "esp32_d0wdq6", - "spec": { - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Tough", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/647/Tough-Schematics-PDF.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:i2s_spk.ws", - "bus:pdm_mic.ws", - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:i2s_spk.data_out", - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ] - }, - "12": { - "roles": [ - "bus:i2s_spk.bck" - ] - }, - "13": { - "roles": [ - "conn:mbus.15", - "tough_subboard/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16", - "tough_subboard/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.dc" - ] - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.22", - "tough_subboard/bus:uart_rs485.tx" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:mbus.8", - "tough_subboard/conn:reset_port.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "tough_subboard/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "conn:mbus.21", - "tough_subboard/bus:uart_rs485.rx" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:mbus.19", - "tough_subboard/conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:mbus.20", - "tough_subboard/conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:pdm_mic.data_in", - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "tough_subboard/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "dev:touch.int" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "i2s_spk": { - "kind": "i2s", - "signals": [ - "bck", - "ws", - "data_out" - ], - "fixed": false - }, - "pdm_mic": { - "kind": "pdm", - "signals": [ - "ws", - "data_in" - ], - "fixed": false - }, - "uart_rs485": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "fixed": false, - "note": "Half-duplex auto-direction UART", - "verified": { - "signals": "datasheet", - "note": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch9102", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0 - }, - "part": "ili9342c", - "signals": { - "cs": "gpio:5", - "dc": "gpio:15", - "rst": "pin:pmic.gpio3", - "backlight": "pin:pmic.ldo3" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "cmd": "gpio:23", - "d0": "gpio:38" - } - }, - "touch": { - "kind": "touch", - "part": "chsc6540", - "bus": "internal_i2c", - "i2c_addr": "0x2E", - "spec": { - "x_max": 319, - "y_max": 239 - }, - "signals": { - "int": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "speaker": { - "kind": "speaker", - "bus": "i2s_spk", - "enable": "pin:pmic.gpio2", - "verified": { - "enable": "generated" - } - }, - "mic": { - "kind": "mic", - "bus": "pdm_mic" - }, - "pmic": { - "kind": "pmic", - "part": "axp192", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "pins": { - "gpio3": { - "roles": [ - "dev:lcd.rst" - ] - }, - "gpio2": { - "roles": [ - "dev:speaker.enable" - ] - }, - "ldo3": { - "roles": [ - "dev:lcd.backlight" - ] - }, - "ldo2": { - "roles": [ - "pwr:lcd_sd_3v3" - ] - }, - "dcdc1": { - "roles": [ - "pwr:esp_3v3" - ] - }, - "gpio0": { - "roles": [ - "pwr:ext_ldo" - ] - }, - "exten": { - "roles": [ - "pwr:ext_5v" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rs485_xcvr": { - "kind": "transceiver", - "part": "sp485e", - "bus": "uart_rs485", - "pins": { - "a": { - "roles": [ - "tough_subboard/conn:rs485.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "b": { - "roles": [ - "tough_subboard/conn:rs485.1" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "note": "SP485E auto-direction: DI is tied to GND; GPIO19 TX drives combined DE/RE through Q1, so DE/RE have no separate GPIO role.", - "verified": { - "part": "datasheet", - "note": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - }, - "dcdc_in": { - "kind": "regulator", - "part": "me3116", - "pins": { - "vin": { - "roles": [ - "tough_subboard/pwr:vin" - ], - "note": "Shared by RS485 position 3 and M-Bus HPWR positions 25/27", - "verified": { - "roles": "datasheet", - "note": "datasheet" - } - }, - "vout": { - "roles": [ - "tough_subboard/pwr:5v" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "note": "ME3116 converts the 6–24V input rail to 5V.", - "verified": { - "part": "datasheet", - "note": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - } - }, - "connectors": { - "mbus": { - "type": "mbus", - "note": "Port A/B/C, RESET and RS485 are on the bundled Tough Ext Board, modeled by the tough_subboard accessory. Host pin-map HPWR terminals are NC; the Ext Board routes the input rail to its regulator.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:38", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:32", - "20": "gpio:33", - "21": "gpio:27", - "22": "gpio:19", - "23": "gpio:2", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - }, - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - }, - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "rs485": { - "type": "hy2_4p", - "standard": "port_rs485", - "positions": { - "1": "pin:rs485_xcvr.b", - "2": "pin:rs485_xcvr.a", - "3": "pwr:vin", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - }, - "reset_port": { - "type": "hy2_4p", - "standard": "port_reset", - "positions": { - "1": "chip:en", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5tough+lcd=ili9342e.json b/extras/board_spec/generated/resolved/m5tough+lcd=ili9342e.json deleted file mode 100644 index 6a383b9a..00000000 --- a/extras/board_spec/generated/resolved/m5tough+lcd=ili9342e.json +++ /dev/null @@ -1,669 +0,0 @@ -{ - "schema_version": 1, - "id": "m5tough", - "name": "M5Tough", - "official_name": "M5Stack Tough", - "official_name_verified": true, - "aliases": [ - "tough", - "m5tough" - ], - "legacy_board_id": 8, - "chip": "esp32_d0wdq6", - "spec": { - "storage": { - "psram_mb": 8, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/Tough", - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/647/Tough-Schematics-PDF.pdf", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - } - } - }, - "pins": { - "0": { - "roles": [ - "bus:i2s_spk.ws", - "bus:pdm_mic.ws", - "conn:mbus.24", - "dev:usb_serial.boot" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "conn:mbus.14", - "bus:console_uart.tx" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:i2s_spk.data_out", - "conn:mbus.23" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "conn:mbus.13", - "bus:console_uart.rx" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "dev:lcd.cs" - ] - }, - "12": { - "roles": [ - "bus:i2s_spk.bck" - ] - }, - "13": { - "roles": [ - "conn:mbus.15", - "tough_subboard/conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "14": { - "roles": [ - "conn:mbus.16", - "tough_subboard/conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:lcd.dc" - ] - }, - "16": { - "roles": [ - "dev:psram.cs" - ] - }, - "17": { - "roles": [ - "dev:psram.clk" - ] - }, - "18": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk", - "conn:mbus.11" - ], - "verified": { - "roles": "generated" - } - }, - "19": { - "roles": [ - "conn:mbus.22", - "tough_subboard/bus:uart_rs485.tx" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:internal_i2c.sda", - "conn:mbus.17" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:internal_i2c.scl", - "conn:mbus.18" - ], - "verified": { - "roles": "generated" - } - }, - "23": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd", - "conn:mbus.7" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "conn:mbus.8", - "tough_subboard/conn:reset_port.2" - ], - "verified": { - "roles": "generated" - } - }, - "26": { - "roles": [ - "conn:mbus.10", - "tough_subboard/conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "27": { - "roles": [ - "conn:mbus.21", - "tough_subboard/bus:uart_rs485.rx" - ], - "verified": { - "roles": "generated" - } - }, - "32": { - "roles": [ - "conn:mbus.19", - "tough_subboard/conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "33": { - "roles": [ - "conn:mbus.20", - "tough_subboard/conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "34": { - "roles": [ - "bus:pdm_mic.data_in", - "conn:mbus.26" - ], - "verified": { - "roles": "generated" - } - }, - "35": { - "roles": [ - "conn:mbus.2" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "conn:mbus.4", - "tough_subboard/conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "38": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0", - "conn:mbus.9" - ], - "verified": { - "roles": "generated" - } - }, - "39": { - "roles": [ - "dev:touch.int" - ] - } - }, - "buses": { - "console_uart": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "preferred_host": 0, - "fixed": true - }, - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "freq": 400000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "i2s_spk": { - "kind": "i2s", - "signals": [ - "bck", - "ws", - "data_out" - ], - "fixed": false - }, - "pdm_mic": { - "kind": "pdm", - "signals": [ - "ws", - "data_in" - ], - "fixed": false - }, - "uart_rs485": { - "kind": "uart", - "signals": [ - "tx", - "rx" - ], - "fixed": false, - "note": "Half-duplex auto-direction UART", - "verified": { - "signals": "datasheet", - "note": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - } - }, - "devices": { - "usb_serial": { - "kind": "usb_uart", - "part": "ch9102", - "bus": "console_uart", - "spec": { - "auto_reset": true - }, - "signals": { - "boot": "gpio:0" - } - }, - "lcd": { - "kind": "display", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "rotation_offset": 0 - }, - "part": "ili9342e", - "signals": { - "cs": "gpio:5", - "dc": "gpio:15", - "rst": "pin:pmic.gpio3", - "backlight": "pin:pmic.ldo3" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "derived": "generated", - "signals": "generated" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:4" - }, - "signals": { - "d3": "gpio:4", - "clk": "gpio:18", - "cmd": "gpio:23", - "d0": "gpio:38" - } - }, - "touch": { - "kind": "touch", - "part": "chsc6540", - "bus": "internal_i2c", - "i2c_addr": "0x2E", - "spec": { - "x_max": 319, - "y_max": 239 - }, - "signals": { - "int": "gpio:39" - }, - "verified": { - "signals": "generated" - } - }, - "speaker": { - "kind": "speaker", - "bus": "i2s_spk", - "enable": "pin:pmic.gpio2", - "verified": { - "enable": "generated" - } - }, - "mic": { - "kind": "mic", - "bus": "pdm_mic" - }, - "pmic": { - "kind": "pmic", - "part": "axp192", - "bus": "internal_i2c", - "i2c_addr": "0x34", - "pins": { - "gpio3": { - "roles": [ - "dev:lcd.rst" - ] - }, - "gpio2": { - "roles": [ - "dev:speaker.enable" - ] - }, - "ldo3": { - "roles": [ - "dev:lcd.backlight" - ] - }, - "ldo2": { - "roles": [ - "pwr:lcd_sd_3v3" - ] - }, - "dcdc1": { - "roles": [ - "pwr:esp_3v3" - ] - }, - "gpio0": { - "roles": [ - "pwr:ext_ldo" - ] - }, - "exten": { - "roles": [ - "pwr:ext_5v" - ] - }, - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram", - "signals": { - "cs": "gpio:16", - "clk": "gpio:17" - } - }, - "rs485_xcvr": { - "kind": "transceiver", - "part": "sp485e", - "bus": "uart_rs485", - "pins": { - "a": { - "roles": [ - "tough_subboard/conn:rs485.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "b": { - "roles": [ - "tough_subboard/conn:rs485.1" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "note": "SP485E auto-direction: DI is tied to GND; GPIO19 TX drives combined DE/RE through Q1, so DE/RE have no separate GPIO role.", - "verified": { - "part": "datasheet", - "note": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - }, - "dcdc_in": { - "kind": "regulator", - "part": "me3116", - "pins": { - "vin": { - "roles": [ - "tough_subboard/pwr:vin" - ], - "note": "Shared by RS485 position 3 and M-Bus HPWR positions 25/27", - "verified": { - "roles": "datasheet", - "note": "datasheet" - } - }, - "vout": { - "roles": [ - "tough_subboard/pwr:5v" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "note": "ME3116 converts the 6–24V input rail to 5V.", - "verified": { - "part": "datasheet", - "note": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - } - }, - "connectors": { - "mbus": { - "type": "mbus", - "note": "Port A/B/C, RESET and RS485 are on the bundled Tough Ext Board, modeled by the tough_subboard accessory. Host pin-map HPWR terminals are NC; the Ext Board routes the input rail to its regulator.", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "pwr:gnd", - "4": "gpio:36", - "5": "pwr:gnd", - "6": "chip:en", - "7": "gpio:23", - "8": "gpio:25", - "9": "gpio:38", - "10": "gpio:26", - "11": "gpio:18", - "12": "pwr:3v3", - "13": "gpio:3", - "14": "gpio:1", - "15": "gpio:13", - "16": "gpio:14", - "17": "gpio:21", - "18": "gpio:22", - "19": "gpio:32", - "20": "gpio:33", - "21": "gpio:27", - "22": "gpio:19", - "23": "gpio:2", - "24": "gpio:0", - "25": "nc", - "26": "gpio:34", - "27": "nc", - "28": "pwr:5v", - "29": "nc", - "30": "pwr:bat" - } - }, - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - }, - "positions": { - "1": "gpio:33", - "2": "gpio:32", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - }, - "positions": { - "1": "gpio:36", - "2": "gpio:26", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - }, - "positions": { - "1": "gpio:13", - "2": "gpio:14", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "rs485": { - "type": "hy2_4p", - "standard": "port_rs485", - "positions": { - "1": "pin:rs485_xcvr.b", - "2": "pin:rs485_xcvr.a", - "3": "pwr:vin", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - }, - "reset_port": { - "type": "hy2_4p", - "standard": "port_reset", - "positions": { - "1": "chip:en", - "2": "gpio:25", - "3": "pwr:5v", - "4": "pwr:gnd" - }, - "verified": { - "positions": "datasheet" - }, - "source": { - "accessory": "tough_subboard", - "origin": "official", - "bundled": true - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5toughc5.json b/extras/board_spec/generated/resolved/m5toughc5.json deleted file mode 100644 index 75ae3c95..00000000 --- a/extras/board_spec/generated/resolved/m5toughc5.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "schema_version": 1, - "id": "m5toughc5", - "name": "M5ToughC5", - "official_name": "M5Stack ToughC5", - "official_name_verified": true, - "aliases": [ - "toughc5", - "tough c5" - ], - "legacy_board_id": 33, - "chip": "esp32c5", - "spec": { - "display": { - "resolution": [ - 320, - 240 - ], - "touch": true - }, - "storage": { - "psram_mb": 8, - "flash_mb": 8, - "sd": true, - "psram_mode": "quad" - }, - "links": { - "product": "https://docs.m5stack.com/en/core/ToughC5", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1275/K162_ToughC5_sche.pdf" - } - }, - "pins": { - "1": { - "roles": [ - "conn:port_b.1" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "bus:internal_i2c.sda", - "bus:touch_i2c.sda", - "bus:port_a_i2c.sda", - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "3": { - "roles": [ - "bus:internal_i2c.scl", - "bus:touch_i2c.scl", - "bus:port_a_i2c.scl", - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "conn:port_b.2" - ], - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [ - "bus:main_spi.mosi", - "dev:sd.cmd" - ], - "verified": { - "roles": "generated" - } - }, - "8": { - "roles": [ - "bus:main_spi.miso", - "dev:sd.d0" - ], - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "bus:main_spi.sclk", - "dev:sd.clk" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "dev:sd.d3" - ], - "verified": { - "roles": "generated" - } - }, - "11": { - "roles": [ - "conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "12": { - "roles": [ - "conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "25": { - "roles": [ - "dev:lcd.cs" - ] - }, - "26": { - "roles": [ - "dev:lcd.dc" - ] - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 100000, - "fixed": true, - "note": "preferred_host 1 is the LP-I2C port only when the SDK exposes supported LP-I2C APIs; otherwise the descriptor uses HP I2C port 0", - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "touch_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "freq": 400000, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": true, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "ili9342c", - "bus": "main_spi", - "spec": { - "width": 320, - "height": 240, - "invert": true, - "readable": true, - "rotation_offset": 0, - "three_wire": true - }, - "signals": { - "cs": "gpio:25", - "dc": "gpio:26" - }, - "verified": { - "signals": "generated" - } - }, - "sd": { - "kind": "sd", - "part": "sd_slot", - "bus": "main_spi", - "verified": { - "bus": "generated", - "signals": "generated", - "derived": "generated" - }, - "signals": { - "cmd": "gpio:7", - "d0": "gpio:8", - "clk": "gpio:9", - "d3": "gpio:10" - }, - "derived": { - "modes": [ - "spi" - ], - "bus": "main_spi", - "cs": "gpio:10" - } - }, - "touch": { - "kind": "touch", - "part": "chsc6540", - "bus": "touch_i2c", - "i2c_addr": "0x2E", - "spec": { - "x_min": 0, - "x_max": 319, - "y_min": 0, - "y_max": 239 - } - }, - "pmic": { - "kind": "pmic", - "part": "m5pm1", - "bus": "internal_i2c", - "pins": { - "pwrkey": { - "roles": [ - "dev:btn_pwr.in" - ] - } - } - }, - "ioe": { - "kind": "io_expander", - "part": "m5ioe1", - "bus": "internal_i2c" - }, - "btn_pwr": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "pmic" - }, - "signals": { - "in": "pin:pmic.pwrkey" - }, - "verified": { - "signals": "generated" - } - }, - "psram": { - "kind": "psram", - "part": "psram" - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "User wiring connector on the internal expansion board; cables route through the M12 housing cable holes. The holes are not electrical M12 pin connectors.", - "positions": { - "1": "gpio:3", - "2": "gpio:2", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "User wiring connector on the internal expansion board; cables route through the M12 housing cable holes. The holes are not electrical M12 pin connectors.", - "positions": { - "1": "gpio:1", - "2": "gpio:6", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "User wiring connector on the internal expansion board; cables route through the M12 housing cable holes. The holes are not electrical M12 pin connectors. The official color table lists white GPIO11/yellow GPIO12. The existing port_c terminal contract remains 1=GPIO12/2=GPIO11 for compatibility with the library pin table; terminal order is logical.", - "positions": { - "1": "gpio:12", - "2": "gpio:11", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5unit_c6l.json b/extras/board_spec/generated/resolved/m5unit_c6l.json deleted file mode 100644 index aa866b4c..00000000 --- a/extras/board_spec/generated/resolved/m5unit_c6l.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "schema_version": 1, - "id": "m5unit_c6l", - "name": "M5UnitC6L", - "official_name": "M5Stack Unit C6L", - "official_name_verified": true, - "aliases": [ - "unitc6l", - "unit c6l", - "c6l", - "c6l unit", - "meshtastic" - ], - "legacy_board_id": 25, - "chip": "esp32c6", - "spec": { - "display": { - "resolution": [ - 64, - 48 - ], - "touch": false - }, - "links": { - "product": "https://docs.m5stack.com/en/unit/Unit_C6L", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1185/SCH_Unit_C6L_SCH_B0.4.1_20250827_2025_09_02_15_04_22.pdf" - } - }, - "pins": { - "2": { - "roles": [ - "dev:power_hold.enable" - ], - "verified": { - "roles": "generated" - } - }, - "4": { - "roles": [ - "conn:port_b.1", - "conn:port_c.1" - ], - "verified": { - "roles": "generated" - } - }, - "5": { - "roles": [ - "conn:port_b.2", - "conn:port_c.2" - ], - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "dev:oled.cs" - ] - }, - "8": { - "roles": [ - "bus:internal_i2c.scl" - ], - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "bus:internal_i2c.sda" - ], - "verified": { - "roles": "generated" - } - }, - "15": { - "roles": [ - "dev:oled.rst" - ] - }, - "18": { - "roles": [ - "dev:oled.dc" - ], - "note": "Board-family pull signature input when the OLED is deselected" - }, - "20": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "21": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "22": { - "roles": [ - "bus:main_spi.miso" - ], - "note": "Legacy setup routes this NC signal as MISO", - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi", - "miso" - ], - "preferred_host": "SPI2_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 10000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "freq": 100000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated" - } - } - }, - "devices": { - "oled": { - "kind": "display", - "part": "ssd1306", - "bus": "main_spi", - "spec": { - "width": 64, - "height": 48, - "offset_x": 32, - "offset_y": 0, - "rotation_offset": 0, - "readable": true, - "three_wire": true - }, - "signals": { - "cs": "gpio:6", - "rst": "gpio:15", - "dc": "gpio:18" - }, - "verified": { - "signals": "generated" - } - }, - "power_hold": { - "kind": "power_hold", - "spec": { - "active_low": false - }, - "signals": { - "enable": "gpio:2" - }, - "verified": { - "signals": "generated" - } - }, - "ioe": { - "kind": "io_expander", - "part": "pi4io", - "bus": "internal_i2c", - "i2c_addr": "0x43", - "pins": { - "p0": { - "roles": [ - "dev:btn_a.in" - ] - } - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "internal_up" - }, - "signals": { - "in": "pin:ioe.p0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_b": { - "type": "hy2_4p", - "standard": "port_io", - "note": "The product has one physical socket marked PORT.A (white GPIO4/yellow GPIO5). M5Unified assigns this pair to both port_b and port_c; these are library contracts for the same socket.", - "positions": { - "1": "gpio:4", - "2": "gpio:5", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "port_c": { - "type": "hy2_4p", - "standard": "port_uart", - "note": "The product has one physical socket marked PORT.A (white GPIO4/yellow GPIO5). M5Unified assigns this pair to both port_b and port_c; these are library contracts for the same socket.", - "positions": { - "1": "gpio:4", - "2": "gpio:5", - "3": "pwr:5v", - "4": "pwr:gnd" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5unitpoep4.json b/extras/board_spec/generated/resolved/m5unitpoep4.json deleted file mode 100644 index 6f46c84c..00000000 --- a/extras/board_spec/generated/resolved/m5unitpoep4.json +++ /dev/null @@ -1,458 +0,0 @@ -{ - "schema_version": 1, - "id": "m5unitpoep4", - "name": "M5UnitPoEP4", - "official_name": "M5Stack Unit PoE-P4", - "official_name_verified": true, - "legacy_board_id": 148, - "chip": "esp32p4", - "spec": { - "links": { - "product": "https://docs.m5stack.com/en/unit/Unit_PoE-P4", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/1217/SCH_StickPoE_SCH_Main_V0.2_20250829_2026_02_02_17_17_04.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "bus:internal_i2c.sda", - "conn:lcd_fpc.9", - "conn:camera_fpc.3" - ], - "verified": { - "roles": "generated" - } - }, - "1": { - "roles": [ - "bus:internal_i2c.scl", - "conn:lcd_fpc.10", - "conn:camera_fpc.2" - ], - "verified": { - "roles": "generated" - } - }, - "2": { - "roles": [ - "conn:lcd_fpc.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "3": { - "roles": [ - "conn:lcd_fpc.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "4": { - "roles": [ - "conn:lcd_fpc.21" - ], - "verified": { - "roles": "datasheet" - } - }, - "8": { - "roles": [ - "conn:sdio.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "9": { - "roles": [ - "conn:sdio.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "10": { - "roles": [ - "conn:sdio.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "11": { - "roles": [ - "conn:sdio.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "12": { - "roles": [ - "conn:sdio.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "13": { - "roles": [ - "conn:sdio.1" - ], - "verified": { - "roles": "datasheet" - } - }, - "18": { - "roles": [ - "conn:camera_fpc.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "19": { - "roles": [ - "conn:hat2_bus.9" - ], - "verified": { - "roles": "datasheet" - } - }, - "20": { - "roles": [ - "conn:hat2_bus.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "21": { - "roles": [ - "conn:hat2_bus.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "22": { - "roles": [ - "conn:hat2_bus.16" - ], - "verified": { - "roles": "datasheet" - } - }, - "23": { - "roles": [ - "conn:hat2_bus.14" - ], - "verified": { - "roles": "datasheet" - } - }, - "26": { - "roles": [ - "conn:sdio.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "27": { - "roles": [ - "conn:sdio.7" - ], - "verified": { - "roles": "datasheet" - } - }, - "31": { - "roles": [ - "dev:ethernet.mdc" - ], - "detect_class": "up" - }, - "32": { - "roles": [], - "detect_class": "floating" - }, - "35": { - "roles": [ - "conn:isp.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "37": { - "roles": [ - "conn:isp.5" - ], - "verified": { - "roles": "datasheet" - } - }, - "38": { - "roles": [ - "conn:isp.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "39": { - "roles": [ - "conn:hat2_bus.12" - ], - "verified": { - "roles": "datasheet" - } - }, - "40": { - "roles": [ - "conn:hat2_bus.10" - ], - "verified": { - "roles": "datasheet" - } - }, - "41": { - "roles": [ - "conn:hat2_bus.8" - ], - "verified": { - "roles": "datasheet" - } - }, - "42": { - "roles": [ - "conn:hat2_bus.6" - ], - "verified": { - "roles": "datasheet" - } - }, - "43": { - "roles": [ - "conn:hat2_bus.4" - ], - "verified": { - "roles": "datasheet" - } - }, - "44": { - "roles": [ - "conn:hat2_bus.2" - ], - "verified": { - "roles": "datasheet" - } - }, - "45": { - "roles": [ - "dev:btn_a.in" - ] - }, - "52": { - "roles": [ - "dev:ethernet.mdio" - ], - "detect_class": "up" - }, - "53": { - "roles": [ - "conn:port_a.2" - ], - "verified": { - "roles": "generated" - } - }, - "54": { - "roles": [ - "conn:port_a.1" - ], - "verified": { - "roles": "generated" - } - } - }, - "buses": { - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "fixed": false, - "verified": { - "signals": "generated" - } - } - }, - "devices": { - "ethernet": { - "kind": "transceiver", - "signals": { - "mdc": "gpio:31", - "mdio": "gpio:52" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:45" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "positions": { - "1": "gpio:54", - "2": "gpio:53", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "hat2_bus": { - "type": "logical_terminals_16", - "positions": { - "1": "pwr:gnd", - "2": "gpio:44", - "3": "pwr:5v", - "4": "gpio:43", - "5": "gpio:21", - "6": "gpio:42", - "7": "gpio:20", - "8": "gpio:41", - "9": "gpio:19", - "10": "gpio:40", - "11": "nc", - "12": "gpio:39", - "13": "pwr:3v3", - "14": "gpio:23", - "15": "pwr:5v", - "16": "gpio:22" - }, - "note": "Hat2-Bus numbered as the official table. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "sdio": { - "type": "logical_terminals_9", - "positions": { - "1": "gpio:13", - "2": "gpio:12", - "3": "gpio:11", - "4": "gpio:10", - "5": "gpio:9", - "6": "gpio:8", - "7": "gpio:27", - "8": "gpio:26", - "9": "pwr:5v" - }, - "note": "SDIO & ISP left group positions 1..9 in the official table; positions 7/8 are GPIO27/26 shared with USB1 D+/D-. USB receptacles are not represented. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "isp": { - "type": "logical_terminals_6", - "positions": { - "1": "pwr:gnd", - "2": "gpio:35", - "3": "chip:en", - "4": "gpio:38", - "5": "gpio:37", - "6": "pwr:3v3" - }, - "note": "SDIO & ISP right group positions 1..6 in the official table (BOOT/RST/UART0). Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "lcd_fpc": { - "type": "logical_terminals_24", - "positions": { - "1": "pwr:gnd", - "2": "pwr:gnd", - "3": "pwr:lcd_bl", - "4": "pwr:lcd_bl", - "5": "pwr:gnd", - "6": "pwr:3v3", - "7": "gpio:3", - "8": "gpio:2", - "9": "gpio:0", - "10": "gpio:1", - "11": "pwr:gnd", - "12": "fixed:dsi.clk_n", - "13": "fixed:dsi.clk_p", - "14": "pwr:gnd", - "15": "fixed:dsi.d1_n", - "16": "fixed:dsi.d1_p", - "17": "pwr:gnd", - "18": "fixed:dsi.d0_n", - "19": "fixed:dsi.d0_p", - "20": "pwr:gnd", - "21": "gpio:4", - "22": "pwr:3v3", - "23": "pwr:gnd", - "24": "pwr:gnd" - }, - "note": "Exposed LCD expansion FPC J6, numbered as the official mainboard schematic. GPIO33 controls the ME2212 backlight regulator, not a direct FPC GPIO; LEDK pins 1/2 return through 10 ohms to ground. DSI terminals are dedicated differential signals, not numbered GPIOs. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "camera_fpc": { - "type": "logical_terminals_24", - "positions": { - "1": "pwr:gnd", - "2": "gpio:1", - "3": "gpio:0", - "4": "pwr:gnd", - "5": "pwr:gnd", - "6": "fixed:camera.mclk", - "7": "pwr:gnd", - "8": "gpio:18", - "9": "pwr:gnd", - "10": "fixed:csi.d1_p", - "11": "fixed:csi.d1_n", - "12": "pwr:gnd", - "13": "fixed:csi.clk_p", - "14": "fixed:csi.clk_n", - "15": "pwr:gnd", - "16": "fixed:csi.d0_p", - "17": "fixed:csi.d0_n", - "18": "pwr:gnd", - "19": "pwr:cam_2v8", - "20": "pwr:gnd", - "21": "pwr:gnd", - "22": "pwr:cam_1v8", - "23": "pwr:gnd", - "24": "pwr:gnd" - }, - "note": "Exposed 24-pin 0.5mm camera FPC J7, numbered as the official mainboard schematic. Pin 2 SCL comes from GPIO1 and pin 3 SDA from GPIO0 through TXS0102 to 1.8V; pin 8 CAM_RST comes from GPIO18 through a 5.1k/5.1k divider. Pin 6 CAM_MCLK is the fixed 24MHz oscillator output through R30=22 ohms and SN74LVC1T45 to 1.8V. The product PinMap lists GPIO36 for MCLK, but the schematic marks GPIO36-side R28 NC (unpopulated); populating R28 connects GPIO36 to this path. No GPIO36 connector role is assigned for the default assembly. CSI terminals are dedicated differential signals, not numbered GPIOs. Logical terminal order; physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/generated/resolved/m5vameter.json b/extras/board_spec/generated/resolved/m5vameter.json deleted file mode 100644 index a077d000..00000000 --- a/extras/board_spec/generated/resolved/m5vameter.json +++ /dev/null @@ -1,315 +0,0 @@ -{ - "schema_version": 1, - "id": "m5vameter", - "name": "M5VAMeter", - "official_name": "M5Stack VAMeter", - "official_name_verified": true, - "aliases": [ - "vameter", - "va meter", - "voltage and amperage meter" - ], - "legacy_board_id": 16, - "chip": "esp32s3", - "spec": { - "display": { - "resolution": [ - 240, - 240 - ], - "touch": false - }, - "storage": { - "psram_mb": 0, - "sd": false - }, - "links": { - "product": "https://docs.m5stack.com/en/core/VAMeter", - "verified": { - "product": "datasheet", - "schematic": "datasheet" - }, - "schematic": "https://m5stack-doc.oss-cn-shenzhen.aliyuncs.com/518/Sch_VAMeter_V1.2.pdf" - } - }, - "pins": { - "0": { - "roles": [ - "dev:btn_b.in" - ] - }, - "2": { - "roles": [ - "dev:btn_a.in" - ] - }, - "5": { - "roles": [ - "bus:internal_i2c.sda" - ], - "note": "System I2C SDA", - "verified": { - "roles": "generated" - } - }, - "6": { - "roles": [ - "bus:internal_i2c.scl" - ], - "note": "System I2C SCL", - "verified": { - "roles": "generated" - } - }, - "7": { - "roles": [], - "note": "Not connected" - }, - "8": { - "roles": [ - "bus:port_a_i2c.sda", - "conn:port_a.2", - "conn:ext_in.1" - ], - "note": "External Port A SDA", - "verified": { - "roles": "generated" - } - }, - "9": { - "roles": [ - "bus:port_a_i2c.scl", - "conn:port_a.1", - "conn:ext_in.2" - ], - "note": "External Port A SCL", - "verified": { - "roles": "generated" - } - }, - "10": { - "roles": [ - "conn:ext_in.3" - ], - "verified": { - "roles": "datasheet" - } - }, - "33": { - "roles": [ - "dev:lcd.rst" - ] - }, - "34": { - "roles": [ - "dev:lcd.dc" - ] - }, - "35": { - "roles": [ - "bus:main_spi.mosi" - ], - "verified": { - "roles": "generated" - } - }, - "36": { - "roles": [ - "bus:main_spi.sclk" - ], - "verified": { - "roles": "generated" - } - }, - "37": { - "roles": [ - "dev:lcd.cs" - ] - }, - "38": { - "roles": [ - "dev:backlight.pwm" - ] - }, - "42": { - "roles": [ - "conn:ext_out.1" - ], - "verified": { - "roles": "datasheet" - } - } - }, - "buses": { - "main_spi": { - "kind": "spi", - "signals": [ - "sclk", - "mosi" - ], - "preferred_host": "SPI3_HOST", - "fixed": false, - "freq": 40000000, - "freq_read": 16000000, - "verified": { - "signals": "generated", - "preferred_host": "generated", - "freq": "generated", - "freq_read": "generated" - } - }, - "internal_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 1, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - }, - "port_a_i2c": { - "kind": "i2c", - "signals": [ - "sda", - "scl" - ], - "preferred_host": 0, - "fixed": false, - "verified": { - "signals": "generated", - "preferred_host": "generated" - } - } - }, - "devices": { - "lcd": { - "kind": "display", - "part": "st7789v2", - "bus": "main_spi", - "spec": { - "width": 240, - "height": 240, - "offset_x": 0, - "offset_y": 0, - "rotation_offset": 0, - "invert": true, - "readable": true - }, - "signals": { - "rst": "gpio:33", - "dc": "gpio:34", - "cs": "gpio:37" - }, - "verified": { - "signals": "generated" - } - }, - "backlight": { - "kind": "backlight", - "spec": { - "freq": 512, - "channel": 7, - "invert": false, - "offset": 64 - }, - "verified": { - "spec": "generated", - "signals": "generated" - }, - "signals": { - "pwm": "gpio:38" - } - }, - "probe_device_0": { - "kind": "sensor", - "bus": "internal_i2c", - "i2c_addr": "0x40", - "verified": { - "i2c_addr": "datasheet" - } - }, - "probe_device_1": { - "kind": "sensor", - "bus": "internal_i2c", - "i2c_addr": "0x41", - "verified": { - "i2c_addr": "datasheet" - } - }, - "btn_a": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:2" - }, - "verified": { - "signals": "generated" - } - }, - "btn_b": { - "kind": "button", - "part": "button", - "spec": { - "active_low": true, - "pull": "external_up" - }, - "signals": { - "in": "gpio:0" - }, - "verified": { - "signals": "generated" - } - } - }, - "connectors": { - "port_a": { - "type": "hy2_4p", - "standard": "port_i2c", - "note": "The physical Grove (white GPIO9/yellow GPIO8) is on the included VAMeter Base, not the bare host. The existing library Port A contract is retained; no additional Grove is registered on the host.", - "positions": { - "1": "gpio:9", - "2": "gpio:8", - "3": "pwr:5v", - "4": "pwr:gnd" - } - }, - "ext_in": { - "type": "logical_terminals_6", - "positions": { - "1": "gpio:8", - "2": "gpio:9", - "3": "gpio:10", - "4": "pwr:isolated_gnd", - "5": "pwr:measurement_in", - "6": "pwr:measurement_in" - }, - "note": "Bare-host J3 CON6; FGND and FBUS_IN are the isolated measurement ground/input rail, not system ground/5V. Numbering follows the official schematic; logical terminal order, physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - }, - "ext_out": { - "type": "logical_terminals_6", - "positions": { - "1": "gpio:42", - "2": "pwr:5v", - "3": "pwr:gnd", - "4": "pwr:isolated_gnd", - "5": "pwr:measurement_out", - "6": "pwr:measurement_out" - }, - "note": "Bare-host J4 CON6; FGND and FBUS_OUT are the isolated measurement ground/output rail. GPIO42 is WAKE. Numbering follows the official schematic; logical terminal order, physical geometry is unverified.", - "verified": { - "positions": "datasheet" - } - } - } -} diff --git a/extras/board_spec/test/board_spec.test.js b/extras/board_spec/test/board_spec.test.js index c620175f..4c05c2b8 100644 --- a/extras/board_spec/test/board_spec.test.js +++ b/extras/board_spec/test/board_spec.test.js @@ -626,12 +626,77 @@ test("explicit fallback takes precedence over detector candidates", async (t) => assert.match(defaults, /get_pkg_ver\(\) == 1\) \{ return board_t::board_M5StampS3Mini; \}/); }); -test("all 87 revision and runtime combinations match snapshots", async () => { +test("all 87 revision and runtime combinations validate in memory", () => { const outputs = catalogBoards.flatMap(resolveCatalog); assert.equal(outputs.length, 87); + assert.equal(new Set(outputs.map((output) => output.filename)).size, 87); for (const output of outputs) { - const snapshot = await fs.readFile(path.join(root, "generated/resolved", output.filename), "utf8"); - assert.equal(snapshot, formatBoard(output.board), output.filename); + const issues = validateBoard(output.board, { + ...context, chip: chips[output.board.chip], resolved: true, + accessories, composition: compositionTarget.compositions?.[output.board.id]?.default, + allow_origins: compositionTarget.allow_origins, pinTableTarget: compositionTarget, + }); + assert.deepEqual(issues.filter((issue) => issue.severity !== "warning"), [], output.filename); + } +}); + +test("resolved chip and PSRAM facts preserve environment-selection inputs", () => { + const facts = [ + ["m5atoms3", "esp32s3", 0, undefined], + ["m5stack_core2", "esp32_d0wdq6", 8, "quad"], + ["m5stack_cores3", "esp32s3", 8, "quad"], + ["m5atoms3r", "esp32s3", 8, "opi"], + ["m5stack_tab5", "esp32p4", 32, "opi"], + ]; + for (const [id, chip, mb, mode] of facts) { + for (const output of resolveCatalog(catalogBoards.find((item) => item.id === id))) { + assert.equal(output.board.chip, chip, output.filename); + assert.equal(output.board.spec.storage.psram_mb, mb, output.filename); + assert.equal(output.board.spec.storage.psram_mode, mode, output.filename); + } + } +}); + +test("resolve prints one JSON array with combination names without writing generated files", async () => { + const docs = path.join(root, "generated/docs"); + const names = await fs.readdir(docs); + const mtimes = await Promise.all(names.map(async (name) => (await fs.stat(path.join(docs, name))).mtimeMs)); + const cached = await fs.readdir(path.join(root, "generated/resolved")).catch((error) => { + if (error.code !== "ENOENT") throw error; + return null; + }); + for (const source of [board, catalogBoards.find((item) => item.id === "m5atomu")]) { + const result = spawnSync(process.execPath, ["cli/spec.js", "resolve", `boards/${source.id}.json`], { cwd: root, encoding: "utf8" }); + assert.equal(result.status, 0, result.stderr); + assert.equal(result.stderr, ""); + assert.deepEqual(JSON.parse(result.stdout), resolveCatalog(source).map((output) => ({ + combination: output.filename.slice(0, -".json".length), board: JSON.parse(formatBoard(output.board)), + }))); + } + assert.deepEqual(await Promise.all(names.map(async (name) => (await fs.stat(path.join(docs, name))).mtimeMs)), mtimes); + assert.deepEqual(await fs.readdir(path.join(root, "generated/resolved")).catch((error) => { + if (error.code !== "ENOENT") throw error; + return null; + }), cached); +}); + +test("resolve --out writes only the requested directory and rejects incomplete options", async () => { + const directory = await fs.mkdtemp(path.join(os.tmpdir(), "m5gfx-resolved-")); + try { + const destination = path.join(directory, "exports"); + const result = spawnSync(process.execPath, ["cli/spec.js", "resolve", "boards/m5stack_core2.json", "--out", destination], { cwd: root, encoding: "utf8" }); + assert.equal(result.status, 0, result.stderr); + const outputs = resolveCatalog(board); + assert.deepEqual((await fs.readdir(destination)).sort(), outputs.map((output) => output.filename).sort()); + for (const output of outputs) assert.equal(await fs.readFile(path.join(destination, output.filename), "utf8"), formatBoard(output.board)); + for (const args of [[], ["boards/m5stack_core2.json", "--out"], ["boards/m5stack_core2.json", "--out", destination, "extra"], ["boards/m5stack_core2.json", "--unknown", destination]]) { + const invalid = spawnSync(process.execPath, ["cli/spec.js", "resolve", ...args], { cwd: root, encoding: "utf8" }); + assert.equal(invalid.status, 1); + assert.match(invalid.stderr, /optional --out /); + assert.equal(invalid.stdout, ""); + } + } finally { + await fs.rm(directory, { recursive: true, force: true }); } }); @@ -1552,7 +1617,7 @@ test("generated device fields follow kind rather than device ID", () => { assert.equal(isGeneratedField(renamed, "/devices/status_light", "signals"), true); }); -test("Core2 revisions match all four snapshots and confirmed PMIC endpoints", async () => { +test("Core2 resolves all four revisions and confirmed PMIC endpoints", () => { const outputs = resolveCatalog(board); assert.deepEqual(outputs.map((output) => output.filename), [ "m5stack_core2@v1_0.json", @@ -1560,10 +1625,6 @@ test("Core2 revisions match all four snapshots and confirmed PMIC endpoints", as "m5stack_core2@v1_2.json", "m5stack_core2@v1_3.json", ]); - for (const output of outputs) { - const snapshot = await fs.readFile(path.join(root, "generated/resolved", output.filename), "utf8"); - assert.equal(snapshot, formatBoard(output.board)); - } assert.equal(outputs[0].board.devices.lcd.signals.rst, "pin:pmic.gpio3"); assert.equal(outputs[0].board.devices.speaker.enable, "pin:pmic.gpio2"); assert.equal(outputs[1].board.devices.lcd.signals.rst, "pin:pmic.aldo2");