Genio 510/700-EVK
I2C
There are 7 I2C adapters on Genio 510/700-EVK:
I2C-0 shared with touch CTP0 and Raspberry Pi HAT
I2C-1 shared with charger IC, buck IC and USB-C MUX
I2C-2 shared with AUDIO DTB and Raspberry Pi HAT
I2C-3 shared with touch CTP1 and CSI1
I2C-4 shared with USB PD Controller
I2C-5 shared with CSI0
I2C-6 shared with CSI0
SPI
There is only one master SPI device exported out on Genio 510/700-EVK:
SPI-2 is exported to Raspberry Pi HAT
Note
SPI-2 pins is also exported to CSI1, make sure the CSI1 is not connected if you want to use SPI-2.
PWM
There is no general PWM pin exported out on Genio 510/700-EVK.
UART
There are 3 UART devices on Genio 510/700-EVK. The supported baud is from 300 bps to 3000000 bps:
UART0: Connect to USB bridge(FT232RL), MicroUSB UART0 connector
UART1: Connect to USB bridge(FT232RL), MicroUSB UART1 connector
UART2: Shared with USB bridge(FT232RL) UART2 connector and Raspberry Pi HAT
J4202/J4203 pin1,pin2 short: USB bridge(FT232RL), MicroUSB UART2 connector
J4203/J4203 pin2,pin3 short: Raspberry Pi HAT Pin #8(Tx) #10(Rx)
Note
UART0 is used for AP debug console
For V23.1, Genio-700 has enabled a deep idle feature that increases CPU latency. The UART FIFO being 32 bytes, if the CPU fetches the FIFO data with delay, it may result in a UART FIFO overrun. If you intend to use UART and would like to avoid this issue, please execute the below command to disable the deep idle feature.
for i in /sys/devices/system/cpu/cpu?/cpuidle/state?/disable; do echo 1 > $i; done ; grep . /sys/devices/system/cpu/cpu?/cpuidle/state?/disable
As of V23.2, the deep idle feature has been disabled by default in the Genio 510/700-EVK. Therefore, it is not necessary to use the aforementioned command to disable it.
GPIO
The SOC has 176 GPIO pins in total. Due to the limitation of the number of physical pins, only few GPIO pins are exported. The actual positions of available GPIO pins are shown in Raspberry Pi HAT.
Hub
The USB hub needs a minimum reset duration of 3 ms. This can be generated using programmable-delay supervisory device. As the result, the reset hub service use GPIO enable/disable to reset USB hub.
The reset script is located at :
src/meta-rity/meta/recipes-core/base-files/files/genio-700-evk/usbhub.sh
src/meta-rity/meta/recipes-core/base-files/files/genio-700-evk/usbhub.service
If this script is not enabled, the hub will not work, and USB Port1 will have no function.
For more information you can check the TUSB8020B Two-Port USB 3.0 Hub datasheet.
Raspberry Pi HAT
There is a 40-pin Raspberry Pi HAT on Genio 510/700-EVK. It contains several peripheral interfaces. By default, it follows the official Raspberry Pi setting. For more details about RPi HAT, please refer to GPIO and the 40-pin Header. You can use the header to connect your external devices.
Pin # |
Main |
Pin # |
Main |
---|---|---|---|
1 |
VDD_3V3 |
2 |
VDD_5V |
3 |
I2C2_SDA |
4 |
VDD_5V |
5 |
I2C2_SCL |
6 |
GND |
7 |
GPIO39 |
8 |
UART2_TXD |
9 |
GND |
10 |
UART2_RXD |
11 |
GPIO0 |
12 |
GPIO121 |
13 |
GPIO37 |
14 |
GND |
15 |
GPIO41 |
16 |
GPIO111 |
17 |
VDD_3V3 |
18 |
GPIO40 |
19 |
SPI2_MOSI |
20 |
GND |
21 |
SPI2_MISO |
22 |
GPIO38 |
23 |
SPI2_SCLK |
24 |
SPI2_CS |
25 |
GND |
26 |
GPIO90 |
27 |
I2C0_SDA |
28 |
I2C0_SCL |
29 |
GPIO1 |
30 |
GND |
31 |
GPIO26 |
32 |
GPIO29 |
33 |
GPIO30 |
34 |
GND |
35 |
GPIO122 |
36 |
GPIO76 |
37 |
GPIO28 |
38 |
GPIO124 |
39 |
GND |
40 |
GPIO123 |
Note
VDD_5V power can provide 5V/2A maximum but share with USB Host VBUS 5V output.
VGPIOEXT_3V3 power can deliver 3.3V/300mA
Black words are ground pins.
Red words are power pins.
Green words are special function pins.
Blue words are GPIOs.
Pink words are pins, which are default used by other modules. Pin #35,#36,#38,#40 are default used by Wi-Fi module. Pin #32 is default used by display PWM.
Warning
The default input/output voltage of the GPIO pins on the header is 3.3V. Before using them, please make sure the voltage is suitable for your external device. Otherwise, the unmatched voltage may destroy both Genio 510/700-EVK and external devices.
On the Genio 510-EVK, there are several jumpers used to select the pinout of Raspberry Pi HAT pins. To select the function, please short the pins according to the table below:
Jumper # |
Pin source |
1-2 |
2-3 |
---|---|---|---|
J4204 |
JTDI |
JTDI_Connector |
RasPi_GPIO39 |
J4205 |
JTMS |
JTMS_Connector |
RasPi_GPIO37 |
J4206 |
JTRST |
JTRST_Connector |
RasPi_GPIO41 |
J4207 |
SPIM2_MOSI |
CAM1_AVDD28_EN |
RasPi_SPI_MO |
J4208 |
SPIM2_MISO |
CAM1_DVDD_EN |
RasPi_SPI_MI |
J4209 |
SPIM2_CLK |
CAM0_AVDD28_EN |
RasPi_SPI_CK |
J4210 |
PCM_SYNC |
WIFI_PCM_SYNC |
RasPi_PCM_SYNC |
J4211 |
PCM_CLK |
WIFI_PCM_CLK |
RasPi_PCM_CLK |
J4212 |
I2SIN_D1 |
LCM1_EN |
RasPi_GPIO111 |
J4213 |
JTDO |
JTDO_Connector |
RasPi_GPIO40 |
J4214 |
JTCK |
JTCK_Connector |
RasPi_GPIO38 |
J4215 |
SPIM2_CSB |
CAM0_DVDD_EN |
RasPi_SPI_CS |
J4216 |
PCM_DI |
JUMP_PCM_DI |
RasPi_PCM_DI |
J4217 |
PCM_DO |
JUMP_PCM_DO |
RasPi_PCM_DO |