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