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