This manual provides comprehensive instructions on how to use the SP7350 IO Board. The SP7350 IO Board, when combined with the SP7350 Core Board, serves as a demonstration platform for showcasing the hardware and software capabilities of the SP7350. Additionally, it offers customers a robust environment to develop their own software and applications.
The source code for SP7350 is readily available on both GitHub and Gitee repositories:
GitHub: SP7350 Source Code
Gitee: SP7350 Source Code
For downloading and compiling the code, detailed instructions can be found at:
https://sunplus.atlassian.net/wiki/x/1gB-dg
Please choose “[2] SP7350 Demo Board” when asked during building code.
For Chinese language users, a corresponding version of this documentation is available in the PDF file named "SP7350_IO_Board使用手册v1.1.pdf":
and “SP7350_IO_Board_IO使用手册v1.1.pdf“:
Table of Contents
1. Description of Main Equipment or Interfaces
Refer to the photo below, which shows the SP7350 IO Board with the SP7350 Core Board (covered by the black heat-sink) mounted on it:
The table below describes:
Item | Descriptions |
1 | 12V DC power input. The DC Jack plug diameter is 5.5mm, and the adapter power supply current must be greater than 1A. |
2 | Ethernet RJ-45 socket, supports 10M/100M/1000M transmission. |
3 | Ethernet Giga PHY, Realtek RTL8211FD chip. |
4 | HDMI output interface, supports 1080p, 720p, 480p. |
5 | MIPI/DSI to HDMI bridge chip, LT8912B |
6 | 4-pole, 3.5mm, TRRS headset jack, Apple type (L, R, G, M). |
7 | Analog microphone input. |
8 | Speaker output, can only output either to headset or speakers. |
9 | Audio codec chip, ES8316 |
10 | Wake-up button. Functions as follows:
|
11 | Reset button, resets CM4 and Main-power domain, but does not reset RTC. |
12 | USB3.0 Type-C socket, supports Low/Full/High/Super speeds. Please note, 4-port USB3.0 Type-A and Type-C are multiplexed, and they cannot be used simultaneously. |
13 | Serial port Type-C socket, supports UA0, UA6 or UADBG ports through jumpers. Refer to section 9. |
14 | USB to serial bridge chip, CH340N. |
15 | Dual USB3.0 Type-A socket, supports Low/Full/High/Super speeds. |
16 | Dual USB3.0 Type-A socket, supports Low/Full/High/Super speeds. |
17 | 4-port USB3.0 Hub chip, VL817-Q7S |
18 | SPI-NOR flash chip, MX25L512, used with USB3 hub chip. |
19 | Dual USB2.0 Type-A socket, supports Low/Full/High speeds. |
20 | Dual USB2.0 Type-A socket, supports Low/Full/High speeds. |
21 | 4-port USB2.0 Hub chip, SPD104 |
22 | EEPROM chip, used with USB2 Hub chip. |
23 | M.2 E-key socket for interfacing SDIO wireless network card. Refer to Appendix I for pin definitions. |
24 | MIPI-RX2 interface, Raspberri Pi camera compatible, 22-pin, 0.5mm, top-contact FFC connector. Note that version A chip of SP7350 does not support this channel. |
25 | MIPI-RX3 interface, Raspberry Pi camera compatible, 15-pin, 1.0mm, FFC connector compatible. Refer to section 7.2 for pin definitions. |
26 | MIPI-RX5 interface, Raspberri Pi camera compatible, 22-pin, 0.5mm, top-contact FFC connector. Refer to section 7.4 for pin definitions. |
27 | MIPI-RX4 interface, Raspberry Pi camera compatible, 15-pin, 1.0mm, FFC connector compatible. Refer to section 7.3 for pin definitions. |
28 | MIPI-TX (1c2d) interface, Raspberry Pi display compatible, 15-pin, 1.0mm, FFC connector compatible. Refer to section 7.6 for pin definitions. |
29 | MIPI-TX (1c4d) interface, Forlinx Embedded compatible, 30-pin, 0.5mm, top-contact, FFC connector. Refer to section 7.5 for pin definitions. Note: Both MIPI-TX connectors share signals with the HDMI interface. All 3 interfaces cannot be used simultaneously. |
30 | Three key buttons. Refer to section 8 for details. |
31 | SP7350 boot configuration switch. Refer to section 2 for details. |
32 | Micro SD card socket. |
1.1. Explanation of Pin-Headers or Jumpers.
The table below describes:
Items | Descriptions | Remarks |
1 | Pin-header for selecting HDMI or MIPI DSI TX | Refer to section 6 |
2 | Pin-header (2x13, 2.0mm-pitch) of LVDS output of LT8912B | Refer to Appendix II |
3 | Pin-header for selecting USB3.0 Type-C and 4-port Type-A | Refer to section 5 |
4 | Pin headers (3-pin, 100 mil) for UA0, UA6 and UADBG, and selecting serial port via USB2.0 Type-C | Default is UA0 to USB2.0 Type-C |
5 | USB2.0 hub debug serial port | Default not connected |
6 | Pin-header for selecting GPIO output level (1.8V/3.3V). | Default 3.3V output |
7 | IO ports | Refer to section 4 |
8 | Plug a jumper in to turn on power automatically. Otherwise, required to press wake-up key for 1 second to turn on power. | Plug a jump in by default |
9 | Fan power supply, speed configured via I2C |
|
10 | 12V DC power supply |
|
2. Boot Devices and Configurations
The SP7350 IO Board supports booting either from on-board eMMC device or an SD card.
2.1. eMMC Boot
To initiate booting from on-board eMMC device, configure the boot switch as [1 1 1 1]. Please refer to Figure 3 for visual guidance.
The eMMC chip is situated on the SP7350 Core board, indicated by the red rectangle. Refer to Figure 4 below.
2.2. SD Card Boot
For booting from an SD card, set the boot switch to [1 1 0 0]. Refer to figure 5 below.
Insert your SD card into the micro SD card socket, as demonstrated in figure 6 below.
2.3. Definitions of Boot Configuration Switch
Table 3 outlines the interpretation of boot configuration switch settings.
Boot Devices | Boot Configuration Switch | |||
1 | 2 | 3 | 4 | |
eMMC Boot | 1 | 1 | 1 | 1 |
SDC Boot / ISP | 1 | 1 | 0 | 0 |
USB ISP | 1 | 1 | 0 | 1 |
In the above table, “1” signifies switch OFF, while “0” indicates switch ON.
3. In-System Program (ISP)
The SP7350 chip supports in-system programming (ISP) of the on-board eMMC device. Users can copy the compiled output files ISPBOOOT.BIN, (ISPBOOT1.BIN, ISPBOOT2.BIN, …) to a USB flash drive or SD card and directly program it onto the eMMC device. The programming process is as follows:
3.1. ISP from an SD card
For ISP from an SD card, set the boot switch to [1 1 0 0]. Refer to Figure 7 below.
Copy the compiled output files ISPBOOOT.BIN (ISPBOOT1.BIN, ISPBOOT2.BIN, …) to the SD card and insert the SD card into the Micro SD card socket as shown in the Figure 8 below:
Note that the first partition of the SD card should be formatted with FAT32 file-system.
Power on the system, and the system will automatically program the images into the eMMC device.
3.2. ISP from a USB flash drive
For ISP from a USB flash drive, set the boot switch to [1 1 0 1]. Refer to Figure 9 below.
Copy the compiled output files ISPBOOOT.BIN (ISPBOOT1.BIN, ISPBOOT2.BIN, …) to a USB flash drive and insert the USB flash drive into the USB3.0 Type-C socket. Note that the first partition of the USB flash drive should be formatted with FAT32 file-system.
Remember to plug in the USB3.0 Type-A or Type-C selection jumper.
After powering on, the system will automatically program the images into the eMMC device.
4. Configuring GPIO Voltage
The SP7350 IO Board features 22 GPIO pins, which can be configured for either 1.8V or 3.3V input/output voltage. These GPIO pins offer flexibility and can be used individually for general-purpose input/output (GPIO) functions. Additionally, they can be configured for specific functionalities such as SPI, I2C, UART, and more. For detailed configuration options, please refer to the pin-mux table. Figure 12 below shows the photo of the two pin-headers, CN16 and CN17, on the SP7350 IO Board.
The GPIO wiring diagram for CN16/CN17 is provided below:
GPIO output voltage is configured as follows:
Jumper | GPIO Output Voltage |
1.8V | |
3.3V |
5. USB3.0 Type-C and 4-Port Hub (Type-A) Selection
The USB 3.0 interface can support either one Type-C port (with DRD) or four Type-A ports (via a 4-port USB 3.0 Hub) through a USB 3.0 switch. As shown in Figure 14, when the SEL pin is set to HIGH, the USB 3.0 Hub is selected, enabling the four Type-A ports. Otherwise, the Type-C socket is selected.
Figure 15 shows the USB 3.0 Type-C socket, the four Type-A sockets, and the pin-header (jumper) used to control the USB 3.0 switch.
The following table illustrates how to select Type-C or 4-port hub (Type-A).
Pin-header | Ports |
USB3.0 Type-C | |
USB3.0 Type-A |
6. HDMI and MIPI DSI Selection
The MIPI-TX interface can be configured to output to either HDMI or native MIPI DSI. Refer to Figure 16 for the hardware connections of the MIPI-TX interface. When the SEL pin is set to HIGH, HDMI is selected. Otherwise, the native MIPI DSI signal is routed to the FFC connectors.
A MIPI/DSI-to-HDMI bridge chip (LT8912B) is used to convert the native MIPI DSI signal to an HDMI interface. The FFC connectors (native MIPI DSI) are for connecting to external LCD panels or devices.
Note that HDMI and MIPI DSI cannot be used simultaneously because they share the same MIPI DSI source from the SP7350.
Figure 17 shows the HDMI connector, the pin-header (jumper), and the two MIPI DSI FFC connectors.
A pin-header is used to select the output to either HDMI or MIPI DSI, as outlined in table below:
Pin-header | Output |
HDMI | |
MIPI DSI (30-pin or 15-pin FFC) |
7. MIPI
7.1. MIPI-RX2
Note that version A chips of SP7350 does not support this channel.
MIPI-RX2 is connected to a Raspberry Pi compatible, 22-pin, 0.5mm, camera FFC connector. For pin definitions of the FFC connector, please refer to Figure 18.
Jumpers are required across GPIO74, GPIO75, GPIO77, and GPIO76 on CN17, as depicted in Figure 19:
Since Raspberry Pi uses 3.3V for I2C and IO, please select GPIO voltage to 3.3V. Refer to figure 20 below:
7.2. MIPI-RX3
MIPI-RX3 is connected to a Raspberry Pi compatible, 15-pin, 1.0mm, camera FFC connector. For pin definitions of the FFC connector, please refer to Figure 21.
Jumpers need to be placed across GPIO70, GPIO71, GPIO72, and GPIO73 on CN17, as illustrated in Figure 22:
Since Raspberry Pi uses 3.3V for I2C and IO, please select GPIO voltage to 3.3V.
7.3. MIPI-RX4
MIPI-RX3 is connected to a Raspberry Pi compatible, 15-pin, 1.0mm, camera FFC connector. For pin definitions of the FFC connector, please refer to Figure 23.
Jumpers are required across GPIO63, GPIO19, GPIO68, and GPIO69 on CN16, as depicted in Figure 24:
Since Raspberry Pi uses 3.3V for I2C and IO, please select GPIO voltage to 3.3V.
7.4. MIPI-RX5
MIPI-RX5 is connected to a Raspberry Pi compatible, 22-pin, 0.5mm, camera FFC connector. For pin definitions of the FFC connector, please refer to Figure 25.
Jumpers are required across GPIO61, GPIO60, GPIO85, and GPIO84 on CN16, as depicted in Figure 26:
Since Raspberry Pi uses 3.3V for I2C and IO, please select GPIO voltage to 3.3V.
7.5. MIPI-TX (4d1c)
MIPI-TX (4d1c)5 is connected to a Forlinx Embedded “LT8912B MIPI-to-HDMI Bridge Board” compatible, 30-pin, 0.5mm FFC connector. For pin definitions of the FFC connector, please refer to Figure 27.
Jumpers are required across GPIO78, GPIO79, GPIO88, GPIO89, GPIO91, and GPIO90 on CN16, as depicted in Figure 28:
Note:
MIPI-TX (4d1c), MIPI-TX (2d1c), and HDMI outputs all share the same input source. Therefore, these three interfaces cannot be used simultaneously.
If connecting to a Forlinx Embedded “LT8912B MIPI-to-HDMI Bridge” board, please select GPIO voltage to 3.3V.
7.6. MIPI-TX (2d1c)
MIPI-TX (2d2c) is connected to a Raspberry Pi compatible, 15-pin, 1.0mm, display FFC connector. For pin definitions of the FFC connector, please refer to Figure 29.
Jumpers are required across GPIO91, and GPIO90 on CN16, as depicted in Figure 30:
Note:
MIPI-TX (4d1c), MIPI-TX (2d1c), and HDMI outputs all share the same input source and I2C channel. Therefore, these three interfaces cannot be used simultaneously.
Since Raspberry Pi uses 3.3V for I2C and IO, please select GPIO voltage to 3.3V.
8. Keys
The SP7350 IO Board has 3 key buttons that can trigger different software functions when pressed.
The SP7350 IO Board uses one ADC channel to detect the three key buttons. When a key is pressed, the corresponding ADC input (ADKEY) voltage changes. The schematic is shown below:
The software can determine which key is pressed based on the ADC sample values of the input voltage:
ADC Sample Value | Key Pressed |
0V | KEY1 |
0.9V | KEY2 |
1.2V | KEY3 |
1.8V | No Key Pressed |
Code of key-event can be set in device-tree source.
9. Serial Ports
The SP7350 IO Board includes three UART ports: UART6, UART0, and UADBG. Each UART port can connect to a UART terminal (a PC) via a 3-pin, 100mil-pitch pin-header, as illustrated in Figure 33. The pin-out for each pin-header, from left to right, is GND, RX, and TX. All signals are in 3.3V level.
The SP7350 IO Board also supports UART to USB2.0 conversion using the CH340N bridge chip. This enables one serial port to connect directly to a PC via a USB2.0 Type-C cable. Refer to the table below for connecting a UART port to the UART-to-USB bridge (CH340N). Connecting one UART port requires plugging in two jumpers.
Channel | Jumpers |
---|---|
Connect UA6 to Type-C socket | |
Connect UA0 to Type-C socket | |
Connect UADBG to Type-C socket |
Note:
Only one UART can be connected to the UART-to-USB bridge at a time.
Before using the CH340N, you need to download and install its driver. Refer to attached Windows and Linux drivers.
Before using UADBG, please mount position R412 and R413 with 0Ω resistor.
Appendix I Pin Definitions of Wireless Network Card
The pin definitions of the wireless (M.2 E-key) card are as follows:
Appendix II Pin Definitions of LVDS Output of LT8912B
The pin definitions of the pin-header of the LVDS output of LT8912B are as follows: