IT82XX2 series

Overview

The IT82XX2 is a 32-bit RISC-V microcontroller. And a highly integrated embedded controller with system functions. It is suitable for mobile system applications. The picture below is the IT82202 development board (also known as it82xx2_evb) and its debug card.

IT82202 EVB

To find out more about ITE, visit our World Wide Web at:ITE’s website [1]

Hardware

The IT82XX2 series contains different chip types(ex, it82202, it82302), and they support different hardware features. Listing the IT82202 hardware features as following:

  • RISC-V RV32IMAFC instruction set

  • 4KB instruction cache size

  • 256KB SRAM in total

  • Built-in 32.768 kHz clock generator

  • Embedded Flash, 512K/1024K-byte e-flash

  • eSPI, SSPI, SPI slave, BRAM, KBC, PECI, UART

  • GPIO, PWM, ADC, INTC, WUC, Timer, Watchdog, KB scan, JTAG

  • Support 6 Voltage Comparator

  • Support Cryptographic Engine

  • 6 SMBus channels, with 6 DMA controller, compatible with I2C

  • USB 2.0 Full-speed Controller

  • USB Type-c CC Logic

  • USB Power Delivery

Supported Features

The it82xx2_evb board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
it82xx2_evb
/
it82202ax

Type

Location

Description

Compatible

CPU

on-chip

ITE IT8XXX2 RISC-V CPU1

ite,riscv-ite

ADC

on-chip

ITE it8xxx2 ADC1

ite,it8xxx2-adc

Cryptographic accelerator

on-chip

ITE IT8XXX2 Crypto SHA accelerator V21

ite,it8xxx2-sha-v2

ESPI

on-chip

ITE IT8XXX2 ESPI controller1

ite,it8xxx2-espi

Flash controller

on-chip

ITE IT8XXX2 flash memory1

ite,it8xxx2-flash-controller

GPIO & Headers

on-chip

ITE IT8xxx2 GPIO V216

ite,it8xxx2-gpio-v2

I2C

on-chip

ITE enhance I2C6

ite,enhance-i2c

Input

on-chip

ITE it8xxx2 keyboard matrix controller1

ite,it8xxx2-kbd

Interrupt controller

on-chip

ITE Wake-Up Controller (WUC) mapping child node1

ite,it8xxx2-wuc-map

on-chip

ITE Interrupt controller1

ite,it8xxx2-intc-v2

on-chip

ITE Wake-Up Controller (WUC)16

ite,it8xxx2-wuc

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

Memory controller

on-chip

ITE, IT8XXX2 Battery Backed RAM node1

ite,it8xxx2-bbram

on-chip

ITE IT8XXX2 Instruction Local Memory1

ite,it8xxx2-ilm

MTD

on-chip

Flash node1

soc-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

PECI

on-chip

ITE it8xxx2 PECI1

ite,it8xxx2-peci

Pin control

on-chip

The ITE IT8XXX2 pin controller is a node responsible for controlling pin function selection and pin properties1

ite,it8xxx2-pinctrl

on-chip

ITE IT8XXX2 Pin Controller16

ite,it8xxx2-pinctrl-func

PWM

on-chip

ITE, it8xxx2 PWM prescaler node1

ite,it8xxx2-pwmprs

on-chip

ITE, it8xxx2 Pulse Width Modulator (PWM) node2 6

ite,it8xxx2-pwm

Sensors

on-chip

ITE, it8xxx2 Voltage Comparator node1 5

ite,it8xxx2-vcmp

Serial controller

on-chip

ns16550 UART2

ns16550

on-chip

ITE, IT8XXX2-UART node2

ite,it8xxx2-uart

SHI

on-chip

ITE, IT8XXX2 Serial Host Interface (SHI) node1

ite,it8xxx2-shi

SPI

on-chip

IT8XXX2 SPI1

ite,it8xxx2-spi

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Tachometer

on-chip

ITE, it8xxx2 Tachometer node1 1

ite,it8xxx2-tach

Timer

on-chip

ITE Ext-timer1

ite,it8xxx2-timer

USB

on-chip

ITE IT82XX2 USB in device mode1

ite,it82xx2-usb

USB Type-C

on-chip

ITE it8xxx2 USB-C Power Delivery port2

ite,it8xxx2-usbpd

Watchdog

on-chip

ITE watchdog timer1

ite,it8xxx2-watchdog

Programming and debugging on it82202

In order to upload the application to the device, you’ll need our flash tool and Download board. You can get them at: ITE’s website [1].

Wiring

  1. Connect the Download Board to your host computer using the USB cable.

  2. Connect the it82xx2_evb to the evolution motherboard.

  3. Connect the Download Board J5 to J41 on the evolution motherboard.

  4. Connect the USB to UART wire to J33 on the evolution motherboard.

    it82xx2_evb wiring

    Note

    Be careful during connection! Use separate wires to connect I2C pins with pins on the it82xx2_evb board. Wiring connection is described in the table below.

    J5 Connector

    it82xx2_evb J41 Connector

    2

    E0

    3

    E7

    4

    GND

    For USB to UART cable, connect the evolution motherboard as below:

    USB to UART cable

    Evolution motherboard J33 Connector

    RX

    B0

    TX

    B1

    GND

    GND

Building

  1. Build Hello World application as you would normally do (see :Zephyr Getting Started Guide [2]):.

    # From the root of the zephyr repository
    west build -b it82xx2_evb samples/hello_world
    
  2. The file zephyr.bin will be created by west.

Flashing

Windows

Use the winflash tool to program a zephyr application to the it82xx2 board flash.

  1. Open the winflash tool and make sure the order you open the switch is right. First, turn on the Download board switch. Second, turn on the it82xx2_evb board switch. Then, configure your winflash tool like below.

    ../../../../_images/WinFlashTool_P2.jpg
    ../../../../_images/WinFlashTool_P4.jpg
  2. Using the winflash tool flash zephyr.bin into your ITE board. First, click the Load button and select your zephyr.bin file. Second, click run to flash the image into board.

    ../../../../_images/WinFlashTool_P3.jpg
  3. At this point, you have flashed your image into ITE board and it will work if you turn on the ITE board. You can use a terminal program to verify flashing worked correctly.

    For example, open device manager to find the USB Serial Port(COM4) and use your terminal program to connect it(Speed: 115200).

    ../../../../_images/WinFlashTool_P1.jpg
  4. Turn on the it82xx2_evb board switch, you should see "Hello World! it82xx2_evb" sent by the board. If you don’t see this message, press the Reset button and the message should appear.

Ubuntu

  1. Run your favorite terminal program to listen for output. Under Linux the terminal should be /dev/ttyUSB0. Do not close it.

    For example:

    $ minicom -D /dev/ttyUSB0 -b 115200
    
  2. Open a second terminal window and use the Linux flash tool to flash your board.

    $ sudo ~/itetool/ite -f build/zephyr/zephyr.bin
    

    Note

    The source code of ITE tool can be downloaded here: https://www.ite.com.tw/upload/2024_01_23/6_20240123162336wu55j1Rjm4.bz2

  3. Split first and second terminal windows to view both of them. You should see "Hello World! it82xx2_evb" in the first terminal window. If you don’t see this message, press the Reset button and the message should appear.

Debugging

it82xx2_evb board can be debugged by connecting USB to UART. We can write commands and read messages through minicom in the Ubuntu terminal.

Troubleshooting

  1. If the flash tool reports a failure, re-plug the 8390 Download board or power cycle the it82xx2_evb board and try again.

References