1.. zephyr:board:: linum
2
3Overview
4********
5Linum is a development board released by Witte Tenology in 2023, and it was developed around the
6STM32H753BI microcontroller. The board has 2 expansion connectors used by the LCD display with
7touchscreen and another for access to other peripherals of microcontroller. Also it brings plenty
8of communications interfaces like UART with RS232 and RS485 capabillities, CAN bus compatible to
9FD standard, and networking over Ethernet.
10
11Hardware
12********
13
14The board features:
15  - 8 to 52V power supply
16  - SWD Pins for use as STLink (Pin header) and TC2030-IDC 6-Pin Tag-Connect Plug-of-Nails™ Connector
17  - Crystal for HS 25MHz
18  - Crystal for RTC 32.768KHz
19  - 1 UART serial for debug
20  - 1 Led RGB
21  - 1 Buzzer without internal oscillator
22  - 1 Mono audio up to 3W
23  - 1 Ethernet 10/100
24  - 1 MicroSD connector supporting 1 or 4-bit bus
25  - 1 USB 2.0 Host/Device
26  - 1 EEPROM memory with 512K bits
27  - 1 External SRAM memory with 8MB
28  - 1 NOR memory with 16MB
29  - 2 On-board RS232 Transceiver with RTS/CTS
30  - 2 On-board RS485 Transceiver
31  - 2 On-board CAN-FD Transceiver
32
33Expansion connector 1 features:
34  - 1 Display RBG 888
35  - 1 Capacitive Touchscreen sensor
36
37Expansion connector 2 features.
38  - 1 SPI
39  - 1 I2C
40  - 1 One Wire
41  - 2 DACs
42  - 6 PWM Channels
43  - 10 ADCs
44
45More information about the board, can be found at the `Witte Linum website`_.
46
47Supported Features
48==================
49
50The Zephyr Linum board configuration supports the following hardware
51features:
52
53+-----------+------------+-------------------------------------+
54| Interface | Controller | Driver/Component                    |
55+===========+============+=====================================+
56| NVIC      | on-chip    | nested vector interrupt controller  |
57+-----------+------------+-------------------------------------+
58| UART      | on-chip    | serial port                         |
59+-----------+------------+-------------------------------------+
60| PINMUX    | on-chip    | pinmux                              |
61+-----------+------------+-------------------------------------+
62| GPIO      | on-chip    | gpio                                |
63+-----------+------------+-------------------------------------+
64| RTC       | on-chip    | counter                             |
65+-----------+------------+-------------------------------------+
66| I2C       | on-chip    | i2c                                 |
67+-----------+------------+-------------------------------------+
68| PWM       | on-chip    | pwm                                 |
69+-----------+------------+-------------------------------------+
70| ADC       | on-chip    | adc                                 |
71+-----------+------------+-------------------------------------+
72| RNG       | on-chip    | True Random number generator        |
73+-----------+------------+-------------------------------------+
74| ETHERNET  | on-chip    | ethernet                            |
75+-----------+------------+-------------------------------------+
76| SPI       | on-chip    | spi                                 |
77+-----------+------------+-------------------------------------+
78| USB       | on-chip    | usb_device                          |
79+-----------+------------+-------------------------------------+
80| CAN/CANFD | on-chip    | canbus                              |
81+-----------+------------+-------------------------------------+
82| LTDC      | on-chip    | LCD Interface                       |
83+-----------+------------+-------------------------------------+
84| FMC       | on-chip    | memc (SDRAM)                        |
85+-----------+------------+-------------------------------------+
86| SDMMC     | on-chip    | disk access                         |
87+-----------+------------+-------------------------------------+
88
89Other hardware features are not yet supported on this Zephyr port.
90
91The default configuration can be found in the defconfig file:
92:zephyr_file:`boards/witte/linum/linum_defconfig`
93
94
95Default Zephyr Peripheral Mapping:
96----------------------------------
97
98
99BOARD-LEDs
100----------
101
102The LINUM-STM32H753BI has 3 software controllable LEDs.
103
104  ======= =====
105  LED RGB PINS
106  ======= =====
107  LED_R   PG2
108  LED_G   PG3
109  LED_B   PB2
110  ======= =====
111
112UART/USART
113----------
114
115The LINUM-STM32H753BI used the USART1 for serial console.
116
117USART1
118------
119
120  ====== =====
121  USART1 PINS
122  ====== =====
123  TX     PB14
124  RX     PB15
125  ====== =====
126
127The LINUM-STM32H753BI board has two on-board RS-232 transceiver connected to USART2 and USART3.
128
129  ====== =====
130  USART2 PINS
131  ====== =====
132  TXD    PD5
133  RXD    PD6
134  CTS    PD3
135  RTS    PD4
136  ====== =====
137
138  ====== =====
139  USART3 PINS
140  ====== =====
141  TXD    PB10
142  RXD    PB11
143  CTS    PD11
144  RTS    PD12
145  ====== =====
146
147The LINUM-STM32H753BI board has two on-board RS-485 transceiver connected to USART4 and USART6.
148
149  ====== =====
150  UART4  PINS
151  ====== =====
152  TXD    PB9
153  RXD    PB8
154  DE     PA15
155  ====== =====
156
157  ====== =====
158  USART6 PINS
159  ====== =====
160  TXD    PC6
161  RXD    PC7
162  DE     PG12
163  ====== =====
164
165SDMMC
166-----
167
168The LINUM-STM32H753BI has one SDCard slot connected as below:
169
170  ========== =====
171  SDMMC1     PINS
172  ========== =====
173  SDMMC_D0   PC8
174  SDMMC_D1   PC9
175  SDMMC_D2   PC10
176  SDMMC_D3   PC11
177  SDMMC_DK   PC12
178  ========== =====
179
180  =============== =====
181  GPIO            PINS
182  =============== =====
183  SDCARD_DETECTED PG7
184  SDCARD_PWR_EN   PD7
185  =============== =====
186
187ETHERNET
188--------
189
190The LINUM-STM32H753BI has a ethernet connection using the transceiver KSZ8081RNACA.
191
192  ============ =====
193  ETH          PINS
194  ============ =====
195  ETH_REF_CLK  PA1
196  ETH_MDIO     PA2
197  ETH_CRS_DV   PA7
198  ETH_MDC      PC1
199  ETH_RXD0     PC4
200  ETH_RXD1     PC5
201  ETH_TX_EN    PG11
202  ETH_TXD0     PG13
203  ETH_TXD1     PG14
204  ETH_CLK      PA8
205  ETH_RESET    PI4
206  ============ =====
207
208CAN-FD
209------
210
211The LINUM-STM32H753BI board has two on-board CAN-FD transceiver connected to FDCAN1 and FDCAN2.
212
213  ====== =====
214  FDCAN1 PINS
215  ====== =====
216  TXD    PH13
217  RXD    PH14
218  STD    PI2
219  ====== =====
220
221  ====== =====
222  FDCAN2 PINS
223  ====== =====
224  TXD    PB13
225  RXD    PB12
226  STD    PE3
227  ====== =====
228
229USB
230---
231
232The LINUM-STM32H753BI has one usb port.
233
234  ========= =====
235  USB       PINS
236  ========= =====
237  USB_VBUS  PA9
238  USB_N     PA11
239  USB_P     PA12
240  USB_EN    PI12
241  USB_FLT   PI13
242  ========= =====
243
244I2C3
245----
246The LINUM-STM32H753BI connects the EEPROM memory and the touchscreen sensor to I2C3.
247
248  ====== =====
249  I2C3   PINS
250  ====== =====
251  SCL    PH7
252  SDA    PH8
253  ====== =====
254
255External SDRAM
256--------------
257The LINUM-STM32H753BI has a external SDRAM with 8Mbytes connected to FMC peripheral.
258
259  =========== =====
260  FMC         PINS
261  =========== =====
262  FMC_A0      PF0
263  FMC_A1      PF1
264  FMC_A2      PF2
265  FMC_A3      PF3
266  FMC_A4      PF4
267  FMC_A5      PF5
268  FMC_A6      PF12
269  FMC_A7      PF13
270  FMC_A8      PF14
271  FMC_A9      PF15
272  FMC_A10     PG0
273  FMC_A11     PG1
274  FMC_BA0     PG4
275  FMC_BA1     PG5
276  FMC_D0      PD14
277  FMC_D1      PD15
278  FMC_D2      PD0
279  FMC_D3      PD1
280  FMC_D4      PE7
281  FMC_D5      PE8
282  FMC_D6      PE9
283  FMC_D7      PE10
284  FMC_D8      PE11
285  FMC_D9      PE12
286  FMC_D10     PE13
287  FMC_D11     PE14
288  FMC_D12     PE15
289  FMC_D13     PD8
290  FMC_D14     PD9
291  FMC_D15     PD10
292  FMC_NBL0    PE0
293  FMC_NBL1    PE1
294  FMC_SDCKE0  PC3
295  FMC_SDCLK   PG8
296  FMC_SDNCAS  PG15
297  FMC_SDNEO   PC2
298  FMC_SDNRAS  PF11
299  FMC_SDNWE   PC0
300  =========== =====
301
302LCD
303---
304The LINUM-STM32H753BI use the LTDC to support one LCD with RGB connection.
305
306  ============= =====
307  LTDC          PINS
308  ============= =====
309  LTDC_B0       PJ12
310  LTDC_B1       PJ13
311  LTDC_B2       PJ14
312  LTDC_B3       PJ15
313  LTDC_B4       PK3
314  LTDC_B5       PK4
315  LTDC_B6       PK5
316  LTDC_B7       PK6
317  LTDC_CLK      PI14
318  LTDC_DE       PK7
319  LTDC_G0       PJ7
320  LTDC_G1       PJ8
321  LTDC_G2       PJ9
322  LTDC_G3       PJ10
323  LTDC_G4       PJ11
324  LTDC_G5       PK0
325  LTDC_G6       PK1
326  LTDC_G7       PK2
327  LTDC_HSYNC    PI10
328  LTDC_R0       PI15
329  LTDC_R1       PJ0
330  LTDC_R2       PJ1
331  LTDC_R3       PJ2
332  LTDC_R4       PJ3
333  LTDC_R5       PJ4
334  LTDC_R6       PJ5
335  LTDC_R7       PJ6
336  LTDC_VSYNC    PI9
337  PWM_BACKLIGHT PH6
338  ============= =====
339
340System Clock
341------------
342
343Linum H753ZI System Clock could be driven by an internal or external
344oscillator, as well as the main PLL clock. By default, the System clock is
345driven by the PLL clock at 480MHz, driven by an 25MHz high-speed external clock.
346
347
348Programming and Debugging
349*************************
350
351Applications for the ``linum`` board configuration can be built and
352flashed in the usual way (see :ref:`build_an_application` and
353:ref:`application_run` for more details).
354
355.. note::
356
357  For debugging or programming Linum you will need to use an external debug
358  debug or flash tool and connect it to the SWD Connnector. JLink or ST-Link
359  probes are examples of out of the box compatible tools.
360
361Flashing
362========
363
364Flashing an application to the Linum board
365-------------------------------------------
366
367Here is an example for the :zephyr:code-sample:`hello_world` application.
368
369Run a serial host program to connect with your Nucleo board.
370
371.. code-block:: console
372
373   $ minicom -b 115200 -D /dev/ttyACM0
374
375Build and flash the application:
376
377.. zephyr-app-commands::
378   :zephyr-app: samples/hello_world
379   :board: linum
380   :goals: build flash
381
382You should see the following message on the console:
383
384.. code-block:: console
385
386   $ Hello World! linum
387
388Debugging
389=========
390
391You can debug an application in the usual way.  Here is an example for the
392:zephyr:code-sample:`hello_world` application.
393
394.. zephyr-app-commands::
395   :zephyr-app: samples/hello_world
396   :board: linum
397   :maybe-skip-config:
398   :goals: debug
399
400.. _Witte Linum website:
401   https://wittetech.com/
402