@typecad/framework-zephyr 1.0.0-alpha.14 → 1.0.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/README.md +22 -47
  2. package/dist/as-built.d.ts +33 -0
  3. package/dist/as-built.js +188 -0
  4. package/dist/async/timer-polyfill.js +1 -1
  5. package/dist/boardgen.d.ts +128 -0
  6. package/dist/boardgen.js +1366 -0
  7. package/dist/chips/board-overrides.d.ts +7 -0
  8. package/dist/chips/board-overrides.js +11 -0
  9. package/dist/chips/esp32s3.js +49 -0
  10. package/dist/chips/index.d.ts +6 -12
  11. package/dist/chips/index.js +18 -34
  12. package/dist/chips/resolve.d.ts +16 -2
  13. package/dist/chips/resolve.js +267 -10
  14. package/dist/chips/soc/.d.ts +2 -0
  15. package/dist/chips/soc/.js +129 -0
  16. package/dist/chips/soc/esp32.d.ts +2 -0
  17. package/dist/chips/soc/esp32.js +120 -0
  18. package/dist/chips/soc/esp32c3.d.ts +2 -0
  19. package/dist/chips/soc/esp32c3.js +90 -0
  20. package/dist/chips/soc/esp32c6.d.ts +2 -0
  21. package/dist/chips/soc/esp32c6.js +109 -0
  22. package/dist/chips/soc/esp32s3.d.ts +2 -0
  23. package/dist/chips/soc/esp32s3.js +189 -0
  24. package/dist/chips/soc/index.d.ts +2 -0
  25. package/dist/chips/soc/index.js +23 -0
  26. package/dist/chips/soc/nrf52840.d.ts +2 -0
  27. package/dist/chips/soc/nrf52840.js +130 -0
  28. package/dist/chips/soc/rp2040.d.ts +2 -0
  29. package/dist/chips/soc/rp2040.js +141 -0
  30. package/dist/chips/soc/rp2350a.d.ts +2 -0
  31. package/dist/chips/soc/rp2350a.js +145 -0
  32. package/dist/chips/soc/samd21g18a.d.ts +2 -0
  33. package/dist/chips/soc/samd21g18a.js +143 -0
  34. package/dist/chips/soc/stm32f411xe.d.ts +2 -0
  35. package/dist/chips/soc/stm32f411xe.js +251 -0
  36. package/dist/chips/types.d.ts +319 -0
  37. package/dist/chips/xiao-ble.js +21 -0
  38. package/dist/display/profiles.js +1 -1
  39. package/dist/doctor.js +38 -4
  40. package/dist/dt-config/custom-board.d.ts +23 -0
  41. package/dist/dt-config/custom-board.js +227 -0
  42. package/dist/dt-config/kconfig.d.ts +72 -1
  43. package/dist/dt-config/kconfig.js +115 -26
  44. package/dist/dt-config/overlay.js +548 -28
  45. package/dist/framework.manifest.d.ts +3 -3
  46. package/dist/framework.manifest.js +122 -185
  47. package/dist/index.d.ts +4 -1
  48. package/dist/index.js +8 -2
  49. package/dist/lowering/adc.d.ts +20 -2
  50. package/dist/lowering/adc.js +121 -29
  51. package/dist/lowering/ble.js +31 -28
  52. package/dist/lowering/dac.js +9 -9
  53. package/dist/lowering/fs.js +18 -10
  54. package/dist/lowering/gpio.d.ts +2 -0
  55. package/dist/lowering/gpio.js +82 -5
  56. package/dist/lowering/http.js +39 -14
  57. package/dist/lowering/hwtimer.d.ts +4 -0
  58. package/dist/lowering/hwtimer.js +35 -10
  59. package/dist/lowering/i2c.js +46 -54
  60. package/dist/lowering/index.d.ts +5 -5
  61. package/dist/lowering/index.js +15 -16
  62. package/dist/lowering/interrupts.d.ts +22 -5
  63. package/dist/lowering/interrupts.js +104 -22
  64. package/dist/lowering/mqtt.js +3 -5
  65. package/dist/lowering/power.js +0 -4
  66. package/dist/lowering/preferences.js +49 -77
  67. package/dist/lowering/pulse.js +0 -31
  68. package/dist/lowering/pwm.d.ts +12 -1
  69. package/dist/lowering/pwm.js +78 -14
  70. package/dist/lowering/random.js +3 -3
  71. package/dist/lowering/sensor.d.ts +37 -0
  72. package/dist/lowering/sensor.js +119 -0
  73. package/dist/lowering/spi.d.ts +12 -0
  74. package/dist/lowering/spi.js +65 -40
  75. package/dist/lowering/thread.d.ts +14 -0
  76. package/dist/lowering/thread.js +55 -0
  77. package/dist/lowering/timing.js +20 -46
  78. package/dist/lowering/tone.js +16 -4
  79. package/dist/lowering/uart.d.ts +13 -0
  80. package/dist/lowering/uart.js +72 -51
  81. package/dist/lowering/usb.d.ts +34 -0
  82. package/dist/lowering/usb.js +206 -0
  83. package/dist/lowering/wdt.d.ts +1 -1
  84. package/dist/lowering/wdt.js +17 -7
  85. package/dist/lowering/wifi.d.ts +3 -2
  86. package/dist/lowering/wifi.js +97 -111
  87. package/dist/sdk/board-catalog-sync.d.ts +16 -0
  88. package/dist/sdk/board-catalog-sync.js +41 -0
  89. package/dist/sdk/board-data.generated.d.ts +2 -0
  90. package/dist/sdk/board-data.generated.js +4 -0
  91. package/dist/sdk/catalog-walker.d.ts +90 -0
  92. package/dist/sdk/catalog-walker.js +682 -0
  93. package/dist/sdk/dts-reader.d.ts +83 -0
  94. package/dist/sdk/dts-reader.js +596 -0
  95. package/dist/strategy.d.ts +136 -17
  96. package/dist/strategy.js +839 -222
  97. package/dist/toolchain/bossac-touch.d.ts +18 -0
  98. package/dist/toolchain/bossac-touch.js +88 -0
  99. package/dist/toolchain/compat.d.ts +2 -2
  100. package/dist/toolchain/compat.js +8 -3
  101. package/dist/toolchain/debug-config.d.ts +21 -26
  102. package/dist/toolchain/debug-config.js +211 -71
  103. package/dist/toolchain/env-check.d.ts +4 -4
  104. package/dist/toolchain/env-check.js +5 -5
  105. package/dist/toolchain/index.d.ts +66 -1
  106. package/dist/toolchain/index.js +650 -70
  107. package/dist/toolchain/scaffold.js +39 -7
  108. package/dist/toolchain/west-discover.d.ts +4 -0
  109. package/dist/toolchain/west-discover.js +17 -6
  110. package/installer/CHANGELOG.md +473 -0
  111. package/installer/README.md +328 -0
  112. package/installer/environment.yml +46 -0
  113. package/installer/etc/conda/activate.d/zephyr.bat +7 -0
  114. package/installer/etc/conda/activate.d/zephyr.ps1 +12 -0
  115. package/installer/etc/conda/activate.d/zephyr.sh +20 -0
  116. package/installer/etc/conda/deactivate.d/zephyr.bat +6 -0
  117. package/installer/etc/conda/deactivate.d/zephyr.ps1 +6 -0
  118. package/installer/etc/conda/deactivate.d/zephyr.sh +4 -0
  119. package/installer/install.mjs +580 -0
  120. package/installer/install.ps1 +619 -0
  121. package/installer/install.sh +310 -0
  122. package/installer/lib/detect-platform.sh +62 -0
  123. package/installer/lib/fetch-sdk.sh +304 -0
  124. package/installer/lib/init-workspace.sh +153 -0
  125. package/installer/lib/write-activation.sh +76 -0
  126. package/installer/patches/tfm-c-include-separators.patch +19 -0
  127. package/installer/patches/zephyr-tfm-nordic-zephyr-include.patch +24 -0
  128. package/installer/templates/project/.typecad/activate-zephyr.ps1 +31 -0
  129. package/installer/templates/project/.typecad/activate-zephyr.sh +31 -0
  130. package/installer/templates/project/.vscode/settings.json +30 -0
  131. package/installer/templates/project/README.md +58 -0
  132. package/installer/versions.env +110 -0
  133. package/package.json +15 -15
  134. package/src/as-built.ts +206 -0
  135. package/src/boardgen.ts +1428 -0
  136. package/src/chips/index.ts +35 -54
  137. package/src/chips/resolve.ts +285 -10
  138. package/src/chips/types.ts +325 -1
  139. package/src/display/profiles.ts +1 -1
  140. package/src/doctor.ts +110 -77
  141. package/src/dt-config/custom-board.ts +325 -0
  142. package/src/dt-config/kconfig.ts +165 -18
  143. package/src/dt-config/overlay.ts +537 -25
  144. package/src/framework.manifest.ts +123 -185
  145. package/src/index.ts +57 -41
  146. package/src/lowering/adc.ts +222 -118
  147. package/src/lowering/ble.ts +32 -28
  148. package/src/lowering/dac.ts +82 -82
  149. package/src/lowering/fs.ts +18 -10
  150. package/src/lowering/gpio.ts +242 -155
  151. package/src/lowering/http.ts +512 -488
  152. package/src/lowering/hwtimer.ts +139 -101
  153. package/src/lowering/i2c.ts +116 -126
  154. package/src/lowering/index.ts +91 -93
  155. package/src/lowering/interrupts.ts +113 -21
  156. package/src/lowering/mqtt.ts +3 -5
  157. package/src/lowering/preferences.ts +327 -354
  158. package/src/lowering/pwm.ts +167 -99
  159. package/src/lowering/random.ts +3 -3
  160. package/src/lowering/sensor.ts +155 -0
  161. package/src/lowering/spi.ts +164 -124
  162. package/src/lowering/thread.ts +63 -0
  163. package/src/lowering/timing.ts +46 -72
  164. package/src/lowering/uart.ts +73 -51
  165. package/src/lowering/usb.ts +221 -0
  166. package/src/lowering/wdt.ts +95 -84
  167. package/src/lowering/wifi.ts +97 -112
  168. package/src/sdk/board-catalog-sync.ts +62 -0
  169. package/src/strategy.ts +848 -237
  170. package/src/toolchain/bossac-touch.ts +112 -0
  171. package/src/toolchain/compat.ts +8 -3
  172. package/src/toolchain/debug-config.ts +666 -522
  173. package/src/toolchain/env-check.ts +9 -9
  174. package/src/toolchain/index.ts +1286 -645
  175. package/src/toolchain/scaffold.ts +38 -7
  176. package/src/toolchain/west-discover.ts +19 -6
  177. package/src/async/timer-polyfill.ts +0 -107
  178. package/src/chips/esp32.ts +0 -74
  179. package/src/chips/esp32s3.ts +0 -57
  180. package/src/chips/xiao-ble.ts +0 -82
  181. package/src/lowering/power.ts +0 -70
  182. package/src/lowering/pulse.ts +0 -93
  183. package/src/lowering/tone.ts +0 -60
  184. package/src/lowering/worker-backing.ts +0 -94
  185. package/src/lowering/worker.ts +0 -17
@@ -0,0 +1,129 @@
1
+ // GENERATED by scripts/gen-soc-descriptors.mjs — consolidated from the
2
+ // board-xiao-nrf52840 + mcu-nrf52840 package data (the exact flatten+reconstruct the build
3
+ // performed). Curated additions: tier/pinNaming/excludedPins. Regenerate
4
+ // only alongside a descriptor-type change; hand-edit the curated table in
5
+ // the script, not this file.
6
+ export const _SOC = {
7
+ "id": "xiao_ble/nrf52840",
8
+ "soc": "",
9
+ "gpioController": "gpio0",
10
+ "gpioControllers": [
11
+ {
12
+ "nodelabel": "gpio0",
13
+ "minPin": 0,
14
+ "maxPin": 31
15
+ },
16
+ {
17
+ "nodelabel": "gpio1",
18
+ "minPin": 32,
19
+ "maxPin": 47
20
+ }
21
+ ],
22
+ "gpio": {
23
+ "dtSpecs": [
24
+ {
25
+ "pin": 26,
26
+ "dtSpec": "led0"
27
+ },
28
+ {
29
+ "pin": 30,
30
+ "dtSpec": "led1"
31
+ },
32
+ {
33
+ "pin": 6,
34
+ "dtSpec": "led2"
35
+ }
36
+ ]
37
+ },
38
+ "i2c": {
39
+ "controllers": [
40
+ {
41
+ "nodeLabel": "i2c1"
42
+ }
43
+ ]
44
+ },
45
+ "spi": {
46
+ "controllers": [
47
+ {
48
+ "nodeLabel": "spi2"
49
+ }
50
+ ]
51
+ },
52
+ "uart": {
53
+ "controllers": [
54
+ {
55
+ "nodeLabel": "uart0"
56
+ }
57
+ ]
58
+ },
59
+ "pwm": {
60
+ "specs": [
61
+ {
62
+ "pin": 17,
63
+ "dtSpec": "pwm-led0"
64
+ }
65
+ ],
66
+ "maxFrequencyHz": 2000000,
67
+ "resolutionBits": 16
68
+ },
69
+ "adc": {
70
+ "nodeLabel": "adc",
71
+ "resolution": 12,
72
+ "vrefMv": 3000,
73
+ "channels": [
74
+ {
75
+ "pin": 2,
76
+ "channel": 0
77
+ },
78
+ {
79
+ "pin": 3,
80
+ "channel": 1
81
+ },
82
+ {
83
+ "pin": 28,
84
+ "channel": 2
85
+ },
86
+ {
87
+ "pin": 29,
88
+ "channel": 3
89
+ }
90
+ ]
91
+ },
92
+ "wdt": {
93
+ "nodeLabel": "wdt0"
94
+ },
95
+ "usb": {
96
+ "controller": "zephyr_udc0",
97
+ "cdcInstances": 1,
98
+ "vid": "0x2FE3",
99
+ "pid": "0x0003"
100
+ },
101
+ "probeMethods": [
102
+ {
103
+ "id": "jlink",
104
+ "runner": "jlink",
105
+ "description": "J-Link probe (SWD)",
106
+ "debug": true,
107
+ "debugInterface": "swd",
108
+ "debugDevice": "nRF52840_xxAA"
109
+ },
110
+ {
111
+ "id": "openocd",
112
+ "runner": "openocd",
113
+ "description": "Any SWD probe openocd supports (CMSIS-DAP, cheap clones)",
114
+ "debug": true,
115
+ "debugInterface": "swd",
116
+ "debugCfgSource": [
117
+ "interface/stlink.cfg",
118
+ "target/nrf52.cfg"
119
+ ]
120
+ },
121
+ {
122
+ "id": "uf2",
123
+ "runner": "uf2",
124
+ "description": "Bootloader UF2 drag-and-drop: double-tap reset",
125
+ "debug": false
126
+ }
127
+ ],
128
+ "tier": "validated"
129
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const ESP32_SOC: ZephyrChipDescriptor;
@@ -0,0 +1,120 @@
1
+ // Hand-maintained descriptor table — mechanically migrated from the
2
+ // board-esp32-devkit + mcu-esp32 package data (the exact flatten+reconstruct the build
3
+ // performed). Curated additions: tier/pinNaming/excludedPins. Regenerate
4
+ // only alongside a descriptor-type change (edit this file; the original
5
+ // migration script was never committed).
6
+ export const ESP32_SOC = {
7
+ "id": "esp32_devkitc/esp32/procpu",
8
+ "soc": "esp32",
9
+ "gpioController": "gpio0",
10
+ "gpioControllers": [
11
+ {
12
+ "nodelabel": "gpio0",
13
+ "minPin": 0,
14
+ "maxPin": 31
15
+ },
16
+ {
17
+ "nodelabel": "gpio1",
18
+ "minPin": 32,
19
+ "maxPin": 39
20
+ }
21
+ ],
22
+ "gpio": {
23
+ "dtSpecs": [
24
+ {
25
+ "pin": 0,
26
+ "dtSpec": "sw0"
27
+ }
28
+ ],
29
+ "interruptPins": [
30
+ {
31
+ "pin": 0,
32
+ "dtSpec": "sw0"
33
+ }
34
+ ]
35
+ },
36
+ "i2c": {
37
+ "controllers": [
38
+ {
39
+ "nodeLabel": "i2c0"
40
+ }
41
+ ]
42
+ },
43
+ "spi": {
44
+ "controllers": [
45
+ {
46
+ "nodeLabel": "spi2"
47
+ },
48
+ {
49
+ "nodeLabel": "spi3"
50
+ }
51
+ ]
52
+ },
53
+ "uart": {
54
+ "controllers": [
55
+ {
56
+ "nodeLabel": "uart1"
57
+ },
58
+ {
59
+ "nodeLabel": "uart2"
60
+ }
61
+ ]
62
+ },
63
+ "adc": {
64
+ "nodeLabel": "adc0",
65
+ "resolution": 12,
66
+ "vrefMv": 1100,
67
+ "channels": [
68
+ {
69
+ "pin": 36,
70
+ "channel": 0
71
+ },
72
+ {
73
+ "pin": 37,
74
+ "channel": 1
75
+ },
76
+ {
77
+ "pin": 38,
78
+ "channel": 2
79
+ },
80
+ {
81
+ "pin": 39,
82
+ "channel": 3
83
+ },
84
+ {
85
+ "pin": 32,
86
+ "channel": 4
87
+ },
88
+ {
89
+ "pin": 33,
90
+ "channel": 5
91
+ },
92
+ {
93
+ "pin": 34,
94
+ "channel": 6
95
+ },
96
+ {
97
+ "pin": 35,
98
+ "channel": 7
99
+ }
100
+ ]
101
+ },
102
+ "wdt": {
103
+ "nodeLabel": "wdt0"
104
+ },
105
+ "wifi": {
106
+ "supported": true
107
+ },
108
+ "tier": "validated",
109
+ "pinNaming": "esp32-gpio",
110
+ "excludedPins": [
111
+ 6,
112
+ 7,
113
+ 8,
114
+ 9,
115
+ 10,
116
+ 11,
117
+ 16,
118
+ 17
119
+ ]
120
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const ESP32C3_SOC: ZephyrChipDescriptor;
@@ -0,0 +1,90 @@
1
+ // Hand-maintained descriptor table — mechanically migrated from the
2
+ // board-esp32c3 + mcu-esp32c3 package data (the exact flatten+reconstruct the build
3
+ // performed). Curated additions: tier/pinNaming/excludedPins. Regenerate
4
+ // only alongside a descriptor-type change (edit this file; the original
5
+ // migration script was never committed).
6
+ export const ESP32C3_SOC = {
7
+ "id": "esp32c3_devkitm/esp32c3",
8
+ "soc": "esp32c3",
9
+ "gpioController": "gpio0",
10
+ "gpio": {
11
+ "dtSpecs": [
12
+ {
13
+ "pin": 9,
14
+ "dtSpec": "sw0"
15
+ }
16
+ ],
17
+ "interruptPins": [
18
+ {
19
+ "pin": 9,
20
+ "dtSpec": "sw0"
21
+ }
22
+ ]
23
+ },
24
+ "i2c": {
25
+ "controllers": [
26
+ {
27
+ "nodeLabel": "i2c0"
28
+ }
29
+ ]
30
+ },
31
+ "spi": {
32
+ "controllers": [
33
+ {
34
+ "nodeLabel": "spi2"
35
+ }
36
+ ]
37
+ },
38
+ "uart": {
39
+ "controllers": [
40
+ {
41
+ "nodeLabel": "uart0"
42
+ }
43
+ ]
44
+ },
45
+ "adc": {
46
+ "nodeLabel": "adc0",
47
+ "resolution": 12,
48
+ "vrefMv": 1100,
49
+ "channels": [
50
+ {
51
+ "pin": 0,
52
+ "channel": 0
53
+ },
54
+ {
55
+ "pin": 1,
56
+ "channel": 1
57
+ },
58
+ {
59
+ "pin": 2,
60
+ "channel": 2
61
+ },
62
+ {
63
+ "pin": 3,
64
+ "channel": 3
65
+ },
66
+ {
67
+ "pin": 4,
68
+ "channel": 4
69
+ }
70
+ ]
71
+ },
72
+ "wdt": {
73
+ "nodeLabel": "wdt0"
74
+ },
75
+ "wifi": {
76
+ "supported": true
77
+ },
78
+ "tier": "validated",
79
+ "pinNaming": "esp32-gpio",
80
+ "excludedPins": [
81
+ 11,
82
+ 12,
83
+ 13,
84
+ 14,
85
+ 15,
86
+ 16,
87
+ 17,
88
+ 18
89
+ ]
90
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const ESP32C6_SOC: ZephyrChipDescriptor;
@@ -0,0 +1,109 @@
1
+ // Hand-maintained descriptor table — mechanically migrated from the
2
+ // board-esp32c6 + mcu-esp32c6 package data (the exact flatten+reconstruct the build
3
+ // performed). Curated additions: tier/pinNaming/excludedPins. Regenerate
4
+ // only alongside a descriptor-type change (edit this file; the original
5
+ // migration script was never committed).
6
+ export const ESP32C6_SOC = {
7
+ "id": "esp32c6_devkitc/esp32c6/hpcore",
8
+ "soc": "esp32c6",
9
+ "gpioController": "gpio0",
10
+ "gpio": {
11
+ "dtSpecs": [
12
+ {
13
+ "pin": 9,
14
+ "dtSpec": "sw0"
15
+ }
16
+ ],
17
+ "interruptPins": [
18
+ {
19
+ "pin": 9,
20
+ "dtSpec": "sw0"
21
+ }
22
+ ]
23
+ },
24
+ "i2c": {
25
+ "controllers": [
26
+ {
27
+ "nodeLabel": "i2c0"
28
+ }
29
+ ]
30
+ },
31
+ "spi": {
32
+ "controllers": [
33
+ {
34
+ "nodeLabel": "spi2"
35
+ }
36
+ ]
37
+ },
38
+ "uart": {
39
+ "controllers": [
40
+ {
41
+ "nodeLabel": "uart0"
42
+ }
43
+ ]
44
+ },
45
+ "adc": {
46
+ "nodeLabel": "adc0",
47
+ "resolution": 12,
48
+ "vrefMv": 1100,
49
+ "channels": [
50
+ {
51
+ "pin": 0,
52
+ "channel": 0
53
+ },
54
+ {
55
+ "pin": 1,
56
+ "channel": 1
57
+ },
58
+ {
59
+ "pin": 2,
60
+ "channel": 2
61
+ },
62
+ {
63
+ "pin": 3,
64
+ "channel": 3
65
+ },
66
+ {
67
+ "pin": 4,
68
+ "channel": 4
69
+ },
70
+ {
71
+ "pin": 5,
72
+ "channel": 5
73
+ },
74
+ {
75
+ "pin": 6,
76
+ "channel": 6
77
+ }
78
+ ]
79
+ },
80
+ "wdt": {
81
+ "nodeLabel": "wdt0"
82
+ },
83
+ "wifi": {
84
+ "supported": true
85
+ },
86
+ "tier": "validated",
87
+ "pinNaming": "esp32-gpio",
88
+ "excludedPins": [
89
+ 12,
90
+ 13,
91
+ 14,
92
+ 15,
93
+ 16,
94
+ 17,
95
+ 18,
96
+ 19,
97
+ 20,
98
+ 21,
99
+ 22,
100
+ 23,
101
+ 24,
102
+ 25,
103
+ 26,
104
+ 27,
105
+ 28,
106
+ 29,
107
+ 30
108
+ ]
109
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const ESP32S3_SOC: ZephyrChipDescriptor;
@@ -0,0 +1,189 @@
1
+ // Hand-maintained descriptor table — mechanically migrated from the
2
+ // board-esp32s3 + mcu-esp32s3 package data (the exact flatten+reconstruct the build
3
+ // performed). Curated additions: tier/pinNaming/excludedPins. Regenerate
4
+ // only alongside a descriptor-type change (edit this file; the original
5
+ // migration script was never committed).
6
+ export const ESP32S3_SOC = {
7
+ "id": "esp32s3_devkitc/esp32s3/procpu",
8
+ "soc": "esp32s3",
9
+ "gpioController": "gpio0",
10
+ "gpioControllers": [
11
+ {
12
+ "nodelabel": "gpio0",
13
+ "minPin": 0,
14
+ "maxPin": 31
15
+ },
16
+ {
17
+ "nodelabel": "gpio1",
18
+ "minPin": 32,
19
+ "maxPin": 48
20
+ }
21
+ ],
22
+ "gpio": {
23
+ "dtSpecs": [
24
+ {
25
+ "pin": 0,
26
+ "dtSpec": "sw0"
27
+ }
28
+ ],
29
+ "interruptPins": [
30
+ {
31
+ "pin": 0,
32
+ "dtSpec": "sw0"
33
+ }
34
+ ]
35
+ },
36
+ "i2c": {
37
+ "controllers": [
38
+ {
39
+ "nodeLabel": "i2c0"
40
+ }
41
+ ]
42
+ },
43
+ "spi": {
44
+ "controllers": [
45
+ {
46
+ "nodeLabel": "spi2"
47
+ },
48
+ {
49
+ "nodeLabel": "spi3"
50
+ }
51
+ ]
52
+ },
53
+ "uart": {
54
+ "controllers": [
55
+ {
56
+ "nodeLabel": "uart1",
57
+ "pinctrlRef": "uart1_default",
58
+ "props": [
59
+ "current-speed = <115200>;"
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ "pwm": {
65
+ "specs": [],
66
+ "matrix": {
67
+ "controller": "ledc0",
68
+ "channelCount": 8,
69
+ "pins": [
70
+ 1,
71
+ 2,
72
+ 3,
73
+ 4,
74
+ 5,
75
+ 6,
76
+ 7,
77
+ 8,
78
+ 9,
79
+ 10,
80
+ 11,
81
+ 12,
82
+ 13,
83
+ 14,
84
+ 15,
85
+ 16,
86
+ 17,
87
+ 18,
88
+ 21,
89
+ 38,
90
+ 39,
91
+ 40,
92
+ 41,
93
+ 42,
94
+ 45,
95
+ 46,
96
+ 47,
97
+ 48
98
+ ]
99
+ },
100
+ "maxFrequencyHz": 40000000,
101
+ "resolutionBits": 20
102
+ },
103
+ "adc": {
104
+ "nodeLabel": "adc0",
105
+ "resolution": 12,
106
+ "vrefMv": 1100,
107
+ "channels": [
108
+ {
109
+ "pin": 1,
110
+ "channel": 0
111
+ },
112
+ {
113
+ "pin": 2,
114
+ "channel": 1
115
+ },
116
+ {
117
+ "pin": 3,
118
+ "channel": 2
119
+ },
120
+ {
121
+ "pin": 4,
122
+ "channel": 3
123
+ },
124
+ {
125
+ "pin": 5,
126
+ "channel": 4
127
+ },
128
+ {
129
+ "pin": 6,
130
+ "channel": 5
131
+ },
132
+ {
133
+ "pin": 7,
134
+ "channel": 6
135
+ },
136
+ {
137
+ "pin": 8,
138
+ "channel": 7
139
+ },
140
+ {
141
+ "pin": 9,
142
+ "channel": 8
143
+ },
144
+ {
145
+ "pin": 10,
146
+ "channel": 9
147
+ }
148
+ ]
149
+ },
150
+ "wdt": {
151
+ "nodeLabel": "wdt0"
152
+ },
153
+ "usb": {
154
+ "controller": "zephyr_udc0",
155
+ "cdcInstances": 1,
156
+ "vid": "0x2FE3",
157
+ "pid": "0x0006"
158
+ },
159
+ "wifi": {
160
+ "supported": true
161
+ },
162
+ "tier": "validated",
163
+ "pinNaming": "esp32-gpio",
164
+ "excludedPins": [
165
+ 0,
166
+ 19,
167
+ 20,
168
+ 22,
169
+ 23,
170
+ 24,
171
+ 25,
172
+ 26,
173
+ 27,
174
+ 28,
175
+ 29,
176
+ 30,
177
+ 31,
178
+ 32,
179
+ 33,
180
+ 34,
181
+ 35,
182
+ 36,
183
+ 37,
184
+ 43,
185
+ 44,
186
+ 45,
187
+ 46
188
+ ]
189
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const SOC_CHIPS: Readonly<Record<string, ZephyrChipDescriptor>>;
@@ -0,0 +1,23 @@
1
+ // Hand-maintained soc-keyed chip registry — mechanically migrated from the
2
+ // registry. chipForSoc() resolves a consolidated descriptor by the SoC name
3
+ // (the second segment of a Zephyr board target, or the config's soc: field).
4
+ import { ESP32_SOC } from './esp32.js';
5
+ import { ESP32C3_SOC } from './esp32c3.js';
6
+ import { ESP32C6_SOC } from './esp32c6.js';
7
+ import { ESP32S3_SOC } from './esp32s3.js';
8
+ import { SAMD21G18A_SOC } from './samd21g18a.js';
9
+ import { RP2040_SOC } from './rp2040.js';
10
+ import { RP2350A_SOC } from './rp2350a.js';
11
+ import { NRF52840_SOC } from './nrf52840.js';
12
+ import { STM32F411XE_SOC } from './stm32f411xe.js';
13
+ export const SOC_CHIPS = {
14
+ "esp32": ESP32_SOC,
15
+ "esp32c3": ESP32C3_SOC,
16
+ "esp32c6": ESP32C6_SOC,
17
+ "esp32s3": ESP32S3_SOC,
18
+ "samd21g18a": SAMD21G18A_SOC,
19
+ "rp2040": RP2040_SOC,
20
+ "rp2350a": RP2350A_SOC,
21
+ "nrf52840": NRF52840_SOC,
22
+ "stm32f411xe": STM32F411XE_SOC,
23
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const NRF52840_SOC: ZephyrChipDescriptor;