1.. _npcx9m6f_evb: 2 3Nuvoton NPCX9M6F_EVB 4#################### 5 6Overview 7******** 8 9The NPCX9M6F_EVB kit is a development platform to evaluate the 10Nuvoton NPCX9 series microcontrollers. This board needs to be mated with 11part number NPCX996F. 12 13.. image:: npcx9m6f_evb.jpg 14 :align: center 15 :alt: NPCX9M6F Evaluation Board 16 17Hardware 18******** 19 20- ARM Cortex-M4F Processor 21- 256 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``boards/arm/npcx9m6f_evb/npcx9m6f_evb_defconfig`` 66 67 68Connections and IOs 69=================== 70 71Nuvoton to provide the schematic for this board. 72 73System Clock 74============ 75 76The NPCX9M6F MCU is configured to use the 90Mhz 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 85 86Programming and Debugging 87************************* 88 89This board comes with a Cortex ETM port which facilitates tracing and debugging 90using a single physical connection. In addition, it comes with sockets for 91JTAG-only sessions. 92 93Flashing 94======== 95 96If the correct headers are installed, this board supports both J-TAG and also 97the ChromiumOS servo. 98 99To flash using Servo V2, μServo, or Servo V4 (CCD), see the 100`Chromium EC Flashing Documentation`_ for more information. 101 102To flash with J-TAG, install the drivers for your programmer, for example: 103SEGGER J-link's drivers are at https://www.segger.com/downloads/jlink/ 104 105The openocd from Zephyr SDK 0.14.2 doesn't include npcx support, so build openocd from source.:: 106 107 sudo apt-get install libftdi-dev libusb-1.0.0-dev 108 git clone https://git.code.sf.net/p/openocd/code ~/openocd 109 cd ~/openocd 110 ./bootstrap 111 ./configure --enable-jlink --enable-ftdi 112 make clean 113 make 114 sudo make install 115 116Build and flash the blinky sample.:: 117 118 west build -t clean && \ 119 west build -c -p auto -b npcx9m6f_evb samples/basic/blinky && \ 120 west flash --openocd /usr/local/bin/openocd 121 122Debugging 123========= 124 125Use JTAG/SWD with a J-Link 126 127References 128********** 129.. target-notes:: 130 131.. _Chromium EC Flashing Documentation: 132 https://chromium.googlesource.com/chromiumos/platform/ec#Flashing-via-the-servo-debug-board 133