1.. _google_kukui_board:
2
3Google Kukui EC
4###############
5
6Overview
7********
8
9Kukui is a reference board for Chromium OS-based devices Krane and
10Kodama. These are known as the Lenovo Chromebook Duet and 10e Chromebook
11Tablet, respectively.
12
13Zephyr has support for the STM32-based embedded controller (EC) on-board.
14
15Hardware
16********
17
18- STM32F098RCH6
19- MT6370 battery charger
20- BMM150 compass
21- BMM160 gyroscope
22- Connections to the MediaTek AP
23
24Supported Features
25==================
26
27The following features are supported:
28
29+-----------+------------+-------------------------------------+
30| Interface | Controller | Driver/Component                    |
31+===========+============+=====================================+
32| NVIC      | on-chip    | nested vector interrupt controller  |
33+-----------+------------+-------------------------------------+
34| UART      | on-chip    | serial port-polling;                |
35|           |            | serial port-interrupt               |
36+-----------+------------+-------------------------------------+
37| PINMUX    | on-chip    | pinmux                              |
38+-----------+------------+-------------------------------------+
39| GPIO      | on-chip    | gpio                                |
40+-----------+------------+-------------------------------------+
41| CLOCK     | on-chip    | reset and clock control             |
42+-----------+------------+-------------------------------------+
43| FLASH     | on-chip    | flash memory                        |
44+-----------+------------+-------------------------------------+
45| WATCHDOG  | on-chip    | independent watchdog                |
46+-----------+------------+-------------------------------------+
47
48Other features (such as I2C) are not available in Zephyr.
49
50The default configuration can be found in the defconfig file:
51``boards/arm/google_kukui/google_kukui_defconfig``
52
53Connections and IOs
54===================
55
56Each of the GPIO pins can be configured by software as output
57(push-pull or open-drain), as input (with or without pull-up or
58pull-down), or as peripheral alternate function.
59
60Default Zephyr Peripheral Mapping:
61----------------------------------
62
63- UART_1 TX/RX : PA10/PA9
64- I2C_1 SCL/SDA : PB8/PB9
65- I2C_2 SCL/SDA : PA11/PA12
66- Volume down : GPIOB pin 11
67- Volume up : GPIOB pin 10
68- Power : GPIOA pin 0
69
70Programming and Debugging
71*************************
72
73Build application as usual for the ``google_kukui`` board, and flash
74using Servo V2, μServo, or Servo V4 (CCD). See the
75`Chromium EC Flashing Documentation`_ for more information.
76
77Debugging
78=========
79
80Use SWD with a J-Link or ST-Link.
81
82References
83**********
84
85.. target-notes::
86
87.. _Chromium EC Flashing Documentation:
88   https://chromium.googlesource.com/chromiumos/platform/ec#Flashing-via-the-servo-debug-board
89