@typecad/framework-zephyr 1.0.0-alpha.13 → 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 (191) hide show
  1. package/README.md +22 -35
  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/controllers.d.ts +28 -8
  10. package/dist/chips/controllers.js +49 -12
  11. package/dist/chips/esp32s3.js +49 -0
  12. package/dist/chips/index.d.ts +6 -12
  13. package/dist/chips/index.js +18 -34
  14. package/dist/chips/resolve.d.ts +16 -2
  15. package/dist/chips/resolve.js +298 -15
  16. package/dist/chips/soc/.d.ts +2 -0
  17. package/dist/chips/soc/.js +129 -0
  18. package/dist/chips/soc/esp32.d.ts +2 -0
  19. package/dist/chips/soc/esp32.js +120 -0
  20. package/dist/chips/soc/esp32c3.d.ts +2 -0
  21. package/dist/chips/soc/esp32c3.js +90 -0
  22. package/dist/chips/soc/esp32c6.d.ts +2 -0
  23. package/dist/chips/soc/esp32c6.js +109 -0
  24. package/dist/chips/soc/esp32s3.d.ts +2 -0
  25. package/dist/chips/soc/esp32s3.js +189 -0
  26. package/dist/chips/soc/index.d.ts +2 -0
  27. package/dist/chips/soc/index.js +23 -0
  28. package/dist/chips/soc/nrf52840.d.ts +2 -0
  29. package/dist/chips/soc/nrf52840.js +130 -0
  30. package/dist/chips/soc/rp2040.d.ts +2 -0
  31. package/dist/chips/soc/rp2040.js +141 -0
  32. package/dist/chips/soc/rp2350a.d.ts +2 -0
  33. package/dist/chips/soc/rp2350a.js +145 -0
  34. package/dist/chips/soc/samd21g18a.d.ts +2 -0
  35. package/dist/chips/soc/samd21g18a.js +143 -0
  36. package/dist/chips/soc/stm32f411xe.d.ts +2 -0
  37. package/dist/chips/soc/stm32f411xe.js +251 -0
  38. package/dist/chips/types.d.ts +382 -12
  39. package/dist/chips/xiao-ble.js +33 -0
  40. package/dist/display/profiles.js +1 -1
  41. package/dist/doctor.js +38 -4
  42. package/dist/dt-config/custom-board.d.ts +23 -0
  43. package/dist/dt-config/custom-board.js +227 -0
  44. package/dist/dt-config/kconfig.d.ts +83 -1
  45. package/dist/dt-config/kconfig.js +116 -27
  46. package/dist/dt-config/overlay.js +623 -18
  47. package/dist/framework.manifest.d.ts +20 -30
  48. package/dist/framework.manifest.js +124 -178
  49. package/dist/index.d.ts +4 -1
  50. package/dist/index.js +8 -2
  51. package/dist/lowering/adc.d.ts +26 -5
  52. package/dist/lowering/adc.js +137 -31
  53. package/dist/lowering/ble.js +31 -28
  54. package/dist/lowering/dac.js +9 -9
  55. package/dist/lowering/fs.js +18 -10
  56. package/dist/lowering/gpio.d.ts +2 -0
  57. package/dist/lowering/gpio.js +90 -10
  58. package/dist/lowering/http.js +39 -14
  59. package/dist/lowering/hwtimer.d.ts +4 -0
  60. package/dist/lowering/hwtimer.js +35 -10
  61. package/dist/lowering/i2c.js +46 -54
  62. package/dist/lowering/index.d.ts +5 -5
  63. package/dist/lowering/index.js +15 -16
  64. package/dist/lowering/interrupts.d.ts +22 -5
  65. package/dist/lowering/interrupts.js +104 -22
  66. package/dist/lowering/mqtt.js +12 -6
  67. package/dist/lowering/power.js +0 -4
  68. package/dist/lowering/preferences.js +49 -77
  69. package/dist/lowering/pulse.js +5 -36
  70. package/dist/lowering/pwm.d.ts +32 -3
  71. package/dist/lowering/pwm.js +105 -17
  72. package/dist/lowering/random.js +3 -3
  73. package/dist/lowering/sensor.d.ts +37 -0
  74. package/dist/lowering/sensor.js +119 -0
  75. package/dist/lowering/spi.d.ts +12 -0
  76. package/dist/lowering/spi.js +65 -40
  77. package/dist/lowering/thread.d.ts +14 -0
  78. package/dist/lowering/thread.js +55 -0
  79. package/dist/lowering/timing.js +20 -46
  80. package/dist/lowering/tone.js +18 -5
  81. package/dist/lowering/uart.d.ts +13 -0
  82. package/dist/lowering/uart.js +72 -51
  83. package/dist/lowering/usb.d.ts +34 -0
  84. package/dist/lowering/usb.js +206 -0
  85. package/dist/lowering/wdt.d.ts +1 -1
  86. package/dist/lowering/wdt.js +17 -7
  87. package/dist/lowering/wifi.d.ts +3 -2
  88. package/dist/lowering/wifi.js +120 -111
  89. package/dist/sdk/board-catalog-sync.d.ts +16 -0
  90. package/dist/sdk/board-catalog-sync.js +41 -0
  91. package/dist/sdk/board-data.generated.d.ts +2 -0
  92. package/dist/sdk/board-data.generated.js +4 -0
  93. package/dist/sdk/catalog-walker.d.ts +90 -0
  94. package/dist/sdk/catalog-walker.js +682 -0
  95. package/dist/sdk/dts-reader.d.ts +83 -0
  96. package/dist/sdk/dts-reader.js +596 -0
  97. package/dist/strategy.d.ts +136 -17
  98. package/dist/strategy.js +881 -212
  99. package/dist/toolchain/bossac-touch.d.ts +18 -0
  100. package/dist/toolchain/bossac-touch.js +88 -0
  101. package/dist/toolchain/compat.d.ts +2 -2
  102. package/dist/toolchain/compat.js +8 -3
  103. package/dist/toolchain/debug-config.d.ts +21 -26
  104. package/dist/toolchain/debug-config.js +212 -72
  105. package/dist/toolchain/env-check.d.ts +4 -4
  106. package/dist/toolchain/env-check.js +5 -5
  107. package/dist/toolchain/index.d.ts +66 -1
  108. package/dist/toolchain/index.js +713 -58
  109. package/dist/toolchain/scaffold.d.ts +9 -0
  110. package/dist/toolchain/scaffold.js +84 -7
  111. package/dist/toolchain/west-discover.d.ts +8 -1
  112. package/dist/toolchain/west-discover.js +19 -6
  113. package/dist/toolchain/west-spawn.js +17 -5
  114. package/installer/CHANGELOG.md +473 -0
  115. package/installer/README.md +328 -0
  116. package/installer/environment.yml +46 -0
  117. package/installer/etc/conda/activate.d/zephyr.bat +7 -0
  118. package/installer/etc/conda/activate.d/zephyr.ps1 +12 -0
  119. package/installer/etc/conda/activate.d/zephyr.sh +20 -0
  120. package/installer/etc/conda/deactivate.d/zephyr.bat +6 -0
  121. package/installer/etc/conda/deactivate.d/zephyr.ps1 +6 -0
  122. package/installer/etc/conda/deactivate.d/zephyr.sh +4 -0
  123. package/installer/install.mjs +580 -0
  124. package/installer/install.ps1 +619 -0
  125. package/installer/install.sh +310 -0
  126. package/installer/lib/detect-platform.sh +62 -0
  127. package/installer/lib/fetch-sdk.sh +304 -0
  128. package/installer/lib/init-workspace.sh +153 -0
  129. package/installer/lib/write-activation.sh +76 -0
  130. package/installer/patches/tfm-c-include-separators.patch +19 -0
  131. package/installer/patches/zephyr-tfm-nordic-zephyr-include.patch +24 -0
  132. package/installer/templates/project/.typecad/activate-zephyr.ps1 +31 -0
  133. package/installer/templates/project/.typecad/activate-zephyr.sh +31 -0
  134. package/installer/templates/project/.vscode/settings.json +30 -0
  135. package/installer/templates/project/README.md +58 -0
  136. package/installer/versions.env +110 -0
  137. package/package.json +16 -16
  138. package/src/as-built.ts +206 -0
  139. package/src/boardgen.ts +1428 -0
  140. package/src/chips/controllers.ts +61 -12
  141. package/src/chips/index.ts +35 -54
  142. package/src/chips/resolve.ts +316 -14
  143. package/src/chips/types.ts +388 -13
  144. package/src/display/profiles.ts +1 -1
  145. package/src/doctor.ts +110 -77
  146. package/src/dt-config/custom-board.ts +325 -0
  147. package/src/dt-config/kconfig.ts +177 -19
  148. package/src/dt-config/overlay.ts +1058 -450
  149. package/src/framework.manifest.ts +125 -178
  150. package/src/index.ts +57 -41
  151. package/src/lowering/adc.ts +222 -102
  152. package/src/lowering/ble.ts +32 -28
  153. package/src/lowering/dac.ts +82 -82
  154. package/src/lowering/fs.ts +18 -10
  155. package/src/lowering/gpio.ts +242 -152
  156. package/src/lowering/http.ts +512 -488
  157. package/src/lowering/hwtimer.ts +139 -101
  158. package/src/lowering/i2c.ts +116 -126
  159. package/src/lowering/index.ts +91 -93
  160. package/src/lowering/interrupts.ts +113 -21
  161. package/src/lowering/mqtt.ts +12 -6
  162. package/src/lowering/preferences.ts +327 -354
  163. package/src/lowering/pwm.ts +167 -74
  164. package/src/lowering/random.ts +3 -3
  165. package/src/lowering/sensor.ts +155 -0
  166. package/src/lowering/spi.ts +164 -124
  167. package/src/lowering/thread.ts +63 -0
  168. package/src/lowering/timing.ts +46 -72
  169. package/src/lowering/uart.ts +73 -51
  170. package/src/lowering/usb.ts +221 -0
  171. package/src/lowering/wdt.ts +95 -84
  172. package/src/lowering/wifi.ts +120 -111
  173. package/src/sdk/board-catalog-sync.ts +62 -0
  174. package/src/strategy.ts +888 -229
  175. package/src/toolchain/bossac-touch.ts +112 -0
  176. package/src/toolchain/compat.ts +8 -3
  177. package/src/toolchain/debug-config.ts +666 -522
  178. package/src/toolchain/env-check.ts +9 -9
  179. package/src/toolchain/index.ts +765 -44
  180. package/src/toolchain/scaffold.ts +81 -7
  181. package/src/toolchain/west-discover.ts +334 -316
  182. package/src/toolchain/west-spawn.ts +17 -5
  183. package/src/async/timer-polyfill.ts +0 -107
  184. package/src/chips/esp32.ts +0 -74
  185. package/src/chips/esp32s3.ts +0 -57
  186. package/src/chips/xiao-ble.ts +0 -70
  187. package/src/lowering/power.ts +0 -70
  188. package/src/lowering/pulse.ts +0 -93
  189. package/src/lowering/tone.ts +0 -60
  190. package/src/lowering/worker-backing.ts +0 -94
  191. package/src/lowering/worker.ts +0 -17
@@ -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;
@@ -0,0 +1,130 @@
1
+ // Hand-maintained descriptor table — mechanically migrated 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 (edit this file; the original
5
+ // migration script was never committed).
6
+ export const NRF52840_SOC = {
7
+ "id": "xiao_ble/nrf52840",
8
+ "soc": "nrf52840",
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
+ "pinNaming": "nrf-port"
130
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const RP2040_SOC: ZephyrChipDescriptor;
@@ -0,0 +1,141 @@
1
+ // Hand-maintained descriptor table — mechanically migrated from the
2
+ // board-rp2040 + mcu-rp2040 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 RP2040_SOC = {
7
+ "id": "rpi_pico/rp2040",
8
+ "soc": "rp2040",
9
+ "gpioController": "gpio0",
10
+ "gpio": {
11
+ "dtSpecs": [
12
+ {
13
+ "pin": 25,
14
+ "dtSpec": "led0"
15
+ }
16
+ ]
17
+ },
18
+ "i2c": {
19
+ "controllers": [
20
+ {
21
+ "nodeLabel": "i2c0"
22
+ },
23
+ {
24
+ "nodeLabel": "i2c1"
25
+ }
26
+ ]
27
+ },
28
+ "spi": {
29
+ "controllers": [
30
+ {
31
+ "nodeLabel": "spi0"
32
+ },
33
+ {
34
+ "nodeLabel": "spi1"
35
+ }
36
+ ]
37
+ },
38
+ "uart": {
39
+ "controllers": [
40
+ {
41
+ "nodeLabel": "uart0"
42
+ },
43
+ {
44
+ "nodeLabel": "uart1",
45
+ "pinctrl": {
46
+ "include": "zephyr/dt-bindings/pinctrl/rpi-pico-rp2040-pinctrl.h",
47
+ "pinmux": [
48
+ "UART1_TX_P8"
49
+ ],
50
+ "inputPinmux": [
51
+ "UART1_RX_P9"
52
+ ]
53
+ },
54
+ "props": [
55
+ "current-speed = <115200>;"
56
+ ]
57
+ }
58
+ ]
59
+ },
60
+ "pwm": {
61
+ "specs": [
62
+ {
63
+ "pin": 25,
64
+ "controller": "pwm",
65
+ "channel": 9
66
+ }
67
+ ],
68
+ "maxFrequencyHz": 62500000,
69
+ "resolutionBits": 16
70
+ },
71
+ "adc": {
72
+ "nodeLabel": "adc",
73
+ "resolution": 12,
74
+ "vrefMv": 3300,
75
+ "channels": [
76
+ {
77
+ "pin": 26,
78
+ "channel": 0
79
+ },
80
+ {
81
+ "pin": 27,
82
+ "channel": 1
83
+ },
84
+ {
85
+ "pin": 28,
86
+ "channel": 2
87
+ },
88
+ {
89
+ "pin": 29,
90
+ "channel": 3
91
+ }
92
+ ]
93
+ },
94
+ "wdt": {
95
+ "nodeLabel": "wdt0"
96
+ },
97
+ "storage": {
98
+ "offset": 1572864,
99
+ "size": 524288
100
+ },
101
+ "usb": {
102
+ "controller": "zephyr_udc0",
103
+ "cdcInstances": 1,
104
+ "vid": "0x2FE3",
105
+ "pid": "0x0004"
106
+ },
107
+ "consoleDescription": "uart0 on GP0 (TX) / GP1 (RX)",
108
+ "probeMethods": [
109
+ {
110
+ "id": "uf2",
111
+ "runner": "uf2",
112
+ "description": "BOOTSEL UF2 bootloader: hold BOOTSEL while plugging in USB (no debug)",
113
+ "debug": false
114
+ },
115
+ {
116
+ "id": "openocd",
117
+ "runner": "openocd",
118
+ "description": "Any CMSIS-DAP-class SWD probe on the SWD header — also debugs",
119
+ "debug": true,
120
+ "debugInterface": "swd",
121
+ "debugCfgSource": [
122
+ "interface/cmsis-dap.cfg",
123
+ "target/rp2040.cfg"
124
+ ]
125
+ },
126
+ {
127
+ "id": "jlink",
128
+ "runner": "jlink",
129
+ "description": "J-Link probe (SWD) — also debugs",
130
+ "debug": true,
131
+ "debugInterface": "swd",
132
+ "debugDevice": "RP2040_M0_0"
133
+ }
134
+ ],
135
+ "tier": "validated",
136
+ "pinNaming": "rp-gpio",
137
+ "excludedPins": [
138
+ 23,
139
+ 24
140
+ ]
141
+ };
@@ -0,0 +1,2 @@
1
+ import type { ZephyrChipDescriptor } from '../types.js';
2
+ export declare const RP2350A_SOC: ZephyrChipDescriptor;