1.. zephyr:board:: stm32f3_seco_d23
2
3Overview
4********
5
6SBC-3.5-PX30 (JUNO - D23) is a Single Board Computer based on embedded Rockchip PX30
7Processor, featuring Quad-Core ARM Cortex-A35 processor. The processor
8integrates a Mali-G31 GPU with High performance dedicated 2D processor,
9supporting OpenGL ES 1.1 / 2.0 / 3.2, Vulkan 1.0, OpenCL 2.0 and Open VG 1.1.
10Embedded VPU is able to support video decoding of the most common coding
11standard (MPEG-4, H.265/HEVC, H.264, VP8, VC-1). The board is completed with up
12to 4GB LPDDR4-3200 32-bit bus memory directly soldered on board and one eMMC
135.1 Flash Drive with up to 64GB of capacity. LVDS Single Channel interface and
14HDMI are supported. The RMII interface and Micrel KSZ8091 Ethernet Transceiver
15allow the implementation of a Fast Ethernet interface. The networking
16capabilities can be extended by WiFi+BT M.2 module and external modem module.
17The audio functionalities are managed by the AudioCodec embedded in the RK-809
18PMIC. SBC-3.5-PX30 board is completed by a series of connectors with various
19interfaces (UART, SPI, I2C) managed by the microcontroller STM32F302VCT6.
20
21Hardware
22********
23
24SECO SBC-3.5-PX30 provides the following hardware components:
25
26- STM32F302VCT6
27  - ARM |reg| 32-bit Cortex |reg| -M4 CPU with FPU
28  - 256 KB Flash
29  - 40 KB SRAM
30  - 72 MHz max CPU frequency
31- 2 User LEDs
32- 16 GPI
33- 16 GPO
34- 4 U(S)ART
35  - Modbus
36  - RS485
37  - TTL Serial Debug
38  - TTL Serial
39- 8-channel General Purpose Timers
40- USB 2.0 full speed interface
41- CAN
42- I2C (up to 2)
43- SPI
44
45More information about STM32F302VC can be found here:
46
47- `STM32F302VC on www.st.com`_
48- `STM32F302xC reference manual`_
49
50Supported Features
51==================
52
53The Zephyr stm32f3_seco_d23 board configuration supports the following hardware
54features:
55
56+-----------+------------+-------------------------------------+
57| Interface | Controller | Driver/Component                    |
58+===========+============+=====================================+
59| NVIC      | on-chip    | nested vector interrupt controller  |
60+-----------+------------+-------------------------------------+
61| UART      | on-chip    | serial port-polling;                |
62|           |            | serial port-interrupt               |
63+-----------+------------+-------------------------------------+
64| PINMUX    | on-chip    | pinmux                              |
65+-----------+------------+-------------------------------------+
66| GPIO      | on-chip    | gpio                                |
67+-----------+------------+-------------------------------------+
68| I2C       | on-chip    | i2c                                 |
69+-----------+------------+-------------------------------------+
70| SPI       | on-chip    | spi                                 |
71+-----------+------------+-------------------------------------+
72| USB       | on-chip    | USB device                          |
73+-----------+------------+-------------------------------------+
74| CAN       | on-chip    | CAN                                 |
75+-----------+------------+-------------------------------------+
76| IWDG      | on-chip    | Independent WatchDoG                |
77+-----------+------------+-------------------------------------+
78| PWM       | on-chip    | pwm                                 |
79+-----------+------------+-------------------------------------+
80
81Other hardware features are not yet supported on Zephyr porting.
82
83Pin Mapping
84===========
85
86SBC-3.5-PX30 has 6 GPIO controllers. These controllers are
87responsible for pin muxing, input/output, pull-up, etc.
88
89For more details please refer to `SECO SBC-3.5-PX30 board User Manual`_.
90
91Default Zephyr Peripheral Mapping:
92----------------------------------
93
94.. rst-class:: rst-columns
95
96- UART_1_TX : PA9 (debug config for UART_1)
97- UART_1_RX : PA10 (debug config for UART_1)
98- UART_1_TX : PC4 (alternate config for UART_1)
99- UART_1_RX : PC5 (alternate config for UART_1)
100- UART_2_TX : PD5
101- UART_2_RX : PD6
102- UART_2_CLK : PD7
103- UART_2_CTS : PD3
104- UART_2_RTS/DE : PD4
105- UART_3_TX : PC10
106- UART_3_RX : PC11
107- UART_3_CLK : PD10
108- UART_3_CTS : PD11
109- UART_3_RTS/DE : PD12
110- UART_5_TX : PC12
111- UART_5_RX : PD2
112- I2C1_SCL : PB6
113- I2C1_SDA : PB7
114- I2C2_SCL : PA9 (alternate config for UART_1)
115- I2C2_SDA : PA10 (alternate config for UART_1)
116- SPI1_NSS : PA4
117- SPI1_SCK : PB3
118- SPI1_MISO : PB4
119- SPI1_MOSI : PB5
120- SPI2_NSS : PB12
121- SPI2_SCK : PB13
122- SPI2_MISO : PB14
123- SPI2_MOSI : PB15
124- CAN1_RX : PB8
125- CAN1_TX : PB9
126- USB_DM : PA11
127- USB_DP : PA12
128- LD1 : PD8
129- LD2 : PD9
130- PWM : PA8
131
132System Clock
133============
134
135SECO SBC-3.5-PX30 System Clock could be driven by internal or external
136oscillator, as well as main PLL clock. By default System clock is driven
137by PLL clock at 72 MHz, driven by an external oscillator at 8 MHz.
138
139Serial Port
140===========
141
142SECO SBC-3.5-PX30 has up to 4 U(S)ARTs. The Zephyr console output
143is assigned to UART1. Default settings are 115200 8N1.
144In debug configuration UART1 is connected to the flashing connector CN56.
145
146UART2 provides Modbus interface to connector CN28.
147UART3 provides RS-485 interface to connectors CN57 and CN48.
148In alternative config, USART2 and USART3 are exposed to connector J2.
149
150UART1 (in alternate config) and UART5 are connected to CN32.
151
152I2C
153===
154SECO SBC-3.5-PX30 has up to 2 I2Cs. Both are present in connector CN33.
155I2C2 is available only on boards where DEBUG serial is not connected.
156
157USB
158===
159SECO SBC-3.5-PX30 has a USB 2.0 full-speed device interface available through
160its connector CN31.
161
162CAN
163===
164SECO SBC-3.5-PX30 has an onboard CAN transceiver (TJA1051T), and it is
165connected to both CN29 and CN30. PD0 is connected to EC_CAN_STBY.
166
167SPI
168===
169SECO SBC-3.5-PX30 has two SPI lines: SPI1 is an internal SPI line connected to the
170main processor (Rockchip PX30) and SPI2 is connected to CN39.
171
172Programming and Debugging
173*************************
174
175Flashing
176========
177
178Applications for the ``stm32f3_seco_d23`` board configuration can be built and
179flashed in the usual way (see :ref:`build_an_application` and
180:ref:`application_run` for more details).
181
182Flashing an application to SECO SBC-3.5-PX30
183--------------------------------------------
184
185First, connect the SECO SBC-3.5-PX30 to your host computer using
186CN56 connector to an ST-Link.
187
188The pinout is (1-8):
189
190- VDD
191- UART1_TX
192- UART1_RX
193- BOOT_0
194- SWDIO_JTMS
195- SWCLK_JTCK
196- EC_RST#
197- GND
198
199Then build and flash your application.
200
201Here is an example for the :zephyr:code-sample:`hello_world` application.
202
203.. zephyr-app-commands::
204   :zephyr-app: samples/hello_world
205   :board: stm32f3_seco_d23
206   :goals: build flash
207
208Run a serial host program to connect with your board.
209
210.. code-block:: console
211
212   $ minicom -D /dev/<tty device>
213
214Replace <tty_device> with the port where the SBC-3.5-PX30 board can be
215found.
216
217You should see the following message on the console:
218
219.. code-block:: console
220
221   Hello World! stm32f3_seco_d23
222
223
224.. _SECO SBC-3.5-PX30 website:
225   https://edge.seco.com/sbc-3-5-px30.html
226
227.. _SECO SBC-3.5-PX30 board User Manual:
228   https://www.seco.com/Manuals/SBC-D23_Manual.pdf
229
230.. _STM32F302VC on www.st.com:
231   https://www.st.com/en/microcontrollers/stm32f302vc.html
232
233.. _STM32F302xC reference manual:
234   https://www.st.com/resource/en/reference_manual/rm0365-stm32f302xbcde-and-stm32f302x68-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
235