Genio 700-EVK

I2C

There are 7 I2C adapters on Genio 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 700-EVK:

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 700-EVK.

UART

There are 3 UART devices on Genio 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

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 loacted 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 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 definition of Raspberry Pi HAT

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

  1. VDD_5V power can provide 5V/2A maximum but share with USB Host VBUS 5V output.

  2. VGPIOEXT_3V3 power can deliver 3.3V/300mA

  3. Black words are ground pins.

  4. Red words are power pins.

  5. Green words are special function pins.

  6. Blue words are GPIOs.

  7. Pink words are pins, which are default used by other modules. Pin #35,#36,#38,#40 are default used by Wifi 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 700-EVK and external devices.