1.. _intel_ish:
2
3Intel Integrated Sensor Hub (ISH)
4#################################
5
6Overview
7********
8Intel Integrated Sensor Hub (ISH) is a lower-power/always-on co-processor
9inside many Intel Processors. It helps offload sensor processing tasks from
10the core processor for better power saving.
11
12Hardware
13********
14
15- LMT MinuteIA Core:
16
17  - 16KB instruction cache and 16KB data cache.
18  - 640KB SRAM space for code and data - implemented as L2 SRAM.
19  - 8KB AON RF space for code resident during deep D0i2/3 PG states.
20
21- Interface-to-Sensor peripherals (I2C, SPI, UART, I3C, GPIO, DMA).
22- Inter Process Communications (IPC) to core processor and other IP processors.
23
24.. include:: ../../../../soc/x86/intel_ish/doc/supported_features.txt
25
26Programming and Debugging
27*************************
28Use the following procedures for booting an ISH image on a ADL RVP board
29for Chrome.
30
31.. contents::
32   :depth: 1
33   :local:
34   :backlinks: top
35
36Build Zephyr application
37========================
38
39#. Build a Zephyr application; for instance, to build the ``hello_world``
40   application for ISH 5.4.1 on Intel ADL Processor:
41
42   .. zephyr-app-commands::
43      :zephyr-app: samples/hello_world
44      :board: intel_ish_5_4_1
45      :goals: build
46
47   .. note::
48
49      A Zephyr image file named :file:`ish_fw.bin` is automatically
50      created in the build directory after the application is built.
51
52Run ish_fw.bin on ADL RVP board for Chrome
53==========================================
54
55- Power on the ADL RVP board.
56- Log in Chrome OS. (Note: the user must have root access right, see `Developer Mode`_)
57- Re-mount the root filesystem as read-write:
58
59.. code-block:: console
60
61   $ mount -o remount,rw /
62
63- If re-mount fails, execute below commands to Remove rootfs verification:
64
65.. code-block:: console
66
67   $ /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions
68   $ reboot
69
70- Go to the ISH firmware direcoty:
71
72.. code-block:: console
73
74   $ cd /lib/firmware/intel
75
76- Relace the file adlrvp_ish.bin with zephyr image built out, ish_fw.bin.
77- Reboot, then observe Zephyr log output via ISH UART0.
78
79.. _Developer Mode: https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md
80