1.. zephyr:board:: npcx4m8f_evb
2
3Overview
4********
5
6The NPCX4M8F_EVB kit is a development platform to evaluate the
7Nuvoton NPCX4 series microcontrollers. This board needs to be mated with
8part number NPCX498F.
9
10Hardware
11********
12
13- ARM Cortex-M4F Processor
14- 512 KB RAM and 64 KB boot ROM
15- ADC & GPIO headers
16- UART0 and UART1
17- FAN PWM interface
18- Jtag interface
19- Intel Modular Embedded Controller Card (MECC) headers
20
21Supported Features
22==================
23
24The following features are supported:
25
26+-----------+------------+-------------------------------------+
27| Interface | Controller | Driver/Component                    |
28+===========+============+=====================================+
29| NVIC      | on-chip    | nested vector interrupt controller  |
30+-----------+------------+-------------------------------------+
31| ADC       | on-chip    | adc controller                      |
32+-----------+------------+-------------------------------------+
33| CLOCK     | on-chip    | reset and clock control             |
34+-----------+------------+-------------------------------------+
35| GPIO      | on-chip    | gpio                                |
36+-----------+------------+-------------------------------------+
37| I2C       | on-chip    | i2c port/controller                 |
38+-----------+------------+-------------------------------------+
39| PINMUX    | on-chip    | pinmux                              |
40+-----------+------------+-------------------------------------+
41| PM        | on-chip    | power management                    |
42+-----------+------------+-------------------------------------+
43| PSL       | on-chip    | power switch logic                  |
44+-----------+------------+-------------------------------------+
45| PWM       | on-chip    | pulse width modulator               |
46+-----------+------------+-------------------------------------+
47| TACH      | on-chip    | tachometer sensor                   |
48+-----------+------------+-------------------------------------+
49| UART      | on-chip    | serial port-polling;                |
50|           |            | serial port-interrupt               |
51+-----------+------------+-------------------------------------+
52| WDT       | on-chip    | watchdog                            |
53+-----------+------------+-------------------------------------+
54
55Other hardware features are not currently supported by Zephyr (at the moment)
56
57The default configuration can be found in the defconfig file:
58:zephyr_file:`boards/nuvoton/npcx4m8f_evb/npcx4m8f_evb_defconfig`
59
60
61Connections and IOs
62===================
63
64Nuvoton to provide the schematic for this board.
65
66System Clock
67============
68
69The NPCX4M8F MCU is configured to use the 120Mhz internal oscillator with the
70on-chip PLL to generate a resulting EC clock rate of 15 MHz. See Processor clock
71control register (chapter 4 in user manual)
72
73Serial Port
74===========
75
76UART1 is configured for serial logs.
77
78Programming and Debugging
79*************************
80
81This board comes with a Cortex ETM port which facilitates tracing and debugging
82using a single physical connection. In addition, it comes with sockets for
83JTAG-only sessions.
84
85Flashing
86========
87
88If the correct headers are installed, this board supports both J-TAG and also
89the ChromiumOS servo.
90
91To flash using Servo V2, μServo, or Servo V4 (CCD), see the
92`Chromium EC Flashing Documentation`_ for more information.
93
94To flash with J-TAG, install the drivers for your programmer, for example:
95SEGGER J-link's drivers are at https://www.segger.com/downloads/jlink/
96
97The openocd from Zephyr SDK 0.16.1 doesn't include npcx4 support, so build openocd from source.::
98
99  sudo apt-get install libftdi-dev libusb-1.0.0-dev
100  git clone https://git.code.sf.net/p/openocd/code ~/openocd
101  cd ~/openocd
102  ./bootstrap
103  ./configure --enable-jlink --enable-ftdi
104  make clean
105  make
106  sudo make install
107
108Build and flash the blinky sample.::
109
110  west build -t clean && \
111    west build -c -p auto -b npcx4m8f_evb samples/basic/blinky && \
112    west flash --openocd /usr/local/bin/openocd
113
114Debugging
115=========
116
117Use JTAG/SWD with a J-Link
118
119References
120**********
121.. target-notes::
122
123.. _Chromium EC Flashing Documentation:
124   https://chromium.googlesource.com/chromiumos/platform/ec#Flashing-via-the-servo-debug-board
125