boards/microchip/mec172xmodular_assy6930/doc/mec172xmodular_assy6930.html · boards/microchip/mec172xmodular_assy6930/doc/mec172xmodular_assy6930.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · Microchip · MEC172x

Microchip MEC172x Modular ASSY6930

MEC172x를 standalone 또는 MECC mated mode로 평가하는 Rev B modular card입니다.

Official pathboards/microchip/mec172xmodular_assy6930/doc/mec172xmodular_assy6930.html
Source fileboards/microchip/mec172xmodular_assy6930/doc/mec172xmodular_assy6930.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

VTR2 voltage, UART crisis recovery, SAF/MAF boot와 128MBit SPI image build를 다룹니다.

MEC172x Modular ASSY6930
MEC172x Modular ASSY6930
MCU

MEC1723/1727/1728 · Cortex-M4

Boot

Shared SPI · SAF · MAF

Modes

Standalone · MECC mated

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 DC4785542C77C78F490D154F12ED45541A8C8D934B1B685DC05D4FF8B4D37954
.. _mec172xmodular_6930:

Microchip MEC172x Modular Card ASSY6930 (Rev. B)
################################################

Overview
********
The MEC172x Modular Card ASSY6930 (Rev. B) is a development board to evaluate the
Microchip MEC172X series microcontrollers.  This board can work standalone
or be mated with any platform that complies with MECC specification.


.. image:: ../../../../../../../boards/microchip/mec172xmodular_assy6930/doc/mec172xmodular_assy6930.jpg
   :width: 576px
   :align: center
   :alt: MEC172x Modular ASSY 6930


Hardware
********

- MEC172x (MEC1723, MEC1727 and MEC1728) ARM Cortex-M4 Processor
- 416 KB RAM and 128 KB boot ROM
- UART1 using microUSB
- PECI interface 3.0
- FAN, PWM and TACHO pins
- 5 SMBus instances
- eSPI header
- VCI interface
- 1 hardware driven PS/2 ports
- Keyboard interface headers

For more information about the SOC please see `MEC172x Reference Manual`_

At difference from MEC172x evaluation board, modular MEC172x exposes the pins in 2 different ways:

1) Standalone mode via headers

   - GPIOs
   - JTAG port
   - eSPI bus
   - I2C0, I2C1 and I2C6
   - PWM1, PWM2, PWM3
   - Shared  SPI
   - Keyboard Interface

2) Mated mode with another platform that has a high density MECC connector

   - FAN, PWM8
   - I2C3 and I2C7
   - eSPI bus

The board is powered through the +5V USB micro-A connector or from the MECC connector.


Supported Features
==================

The mec172xmodular_assy6930 (Rev. B) board configuration supports the following hardware features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| SYSTICK   | on-chip    | systick                             |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port                         |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| I2C       | on-chip    | i2c                                 |
+-----------+------------+-------------------------------------+
| PINMUX    | on-chip    | pinmux                              |
+-----------+------------+-------------------------------------+
| PS/2      | on-chip    | ps2                                 |
+-----------+------------+-------------------------------------+
| KSCAN     | on-chip    | kscan                               |
+-----------+------------+-------------------------------------+
| TACH      | on-chip    | tachometer                          |
+-----------+------------+-------------------------------------+
| RPMFAN    | on-chip    | Fan speed controller                |
+-----------+------------+-------------------------------------+

Other hardware features are not currently supported by Zephyr (at the moment)

The default configuration can be found in the
:zephyr_file:`boards/microchip/mec172xmodular_assy6930/mec172xmodular_assy6930_defconfig` Kconfig file.

Connections and IOs
===================

This evaluation board kit is comprised of the following HW blocks:

- MEC172x Modular ASSY 6930 Rev B1 `MEC172x Modular EC Card - Assy_6930 Rev B1p1`_

System Clock
============

The MEC172x MCU is configured to use the 96Mhz internal oscillator with the
on-chip PLL to generate a resulting EC clock rate of 12 MHz. See Processor clock
control register in chapter 4 "4.0 POWER, CLOCKS, and RESETS" of the data sheet in
the references at the end of this document.

Serial Port
===========

UART1 is configured for serial logs.

Jumper settings
***************

Please follow the jumper settings below to properly demo this
board. Advanced users may deviate from this recommendation.

Jumper setting for MEC172x Modular Assy 6930 Rev B1p1
=====================================================

Power-Related Jumpers
---------------------
If you wish to power from type A/B connector ``P1`` set the jumper ``JP22 1-2``.
This is required for standalone mode.
If you wish to power through MECC connector ``P2`` and mate to external platform,
set the jumper to ``JP22 2-3``.

NOTE: A single jumper is required in JP22.

If you wish to set VTR2 to 3.3V, set the jumper ``JP26 2-3``.
This is required for Windows application.
If you wish to set VTR2 to 1.8V, set the jumper ``JP26 1-2``.
This is required for Chrome application.

Boot-ROM Straps
---------------
This jumper configures MEC172x Boot-ROM strap.

+---------------------+
| JP23 (UART_BSTRAP)  |
+=====================+
| 1-2                 |
+---------------------+

``JP23 1-2`` pulls UART_BSTRAP to GND.  MEC172x Boot-ROM samples UART_BSTRAP and if low,
UART interface is used for Crisis Recovery.

Boot Source Select
------------------
The jumpers below configure MEC172x to boot from Shared SPI, Slave Attached Flash (SAF)
or Master Attached Flash (MAF).

+-------------------+----------+
| Boot Source       | JP25     |
+===================+==========+
| Shared SPI or SAF | 5-6      |
+-------------------+----------+
| MAF               | 1-2, 4-6 |
+-------------------+----------+


Programming and Debugging
*************************

Setup
=====

#. If you use Dediprog SF100 programmer, then setup it.

   Windows version can be found at the `SF100 Product page`_.

   Linux version source code can be found at `SF100 Linux GitHub`_.
   Follow the `SF100 Linux manual`_ to complete setup of the SF100 programmer.
   For Linux please make sure that you copied ``60-dediprog.rules``
   from the ``SF100Linux`` folder to the :code:`/etc/udev/rules.s` (or rules.d)
   then restart service using:

   .. code-block:: console

      $ udevadm control --reload

   Add directory with program ``dpcmd`` (on Linux)
   or ``dpcmd.exe`` (on Windows) to your ``PATH``.

#. Clone the `MEC172x SPI Image Gen`_ repository or download the files within
   that directory.

#. Make the image generation available for Zephyr, by making the tool
   searchable by path, for example:

   .. code-block:: console

      -DMEC172X_SPI_GEN=<path to spi_gen tool>/mec172x_spi_gen_lin_x86_64

   Note that the tools for Linux and Windows have different file names.

#. The default MEC172X_SPI_CFG file is spi_cfg.txt located in ${BOARD_DIR}/support.
   Example of SPI_CFG for 4MBit (spi_cfg_4MBit.txt) and 128MBit (spi_cfg_128MBit.txt)
   SPI flash can be found in the same folder.  If needed, a custom SPI image
   configuration file can be specified to override the default one.

   .. code-block:: console

      -DMEC172X_SPI_CFG=<path to spi_cfg file>/spi_cfg.txt

#. Example command to generate 128MBit spi image for hello_world:

   .. code-block:: console

      west build -p auto -b mec172xmodular_assy6930 samples/hello_world -- -DMEC172X_SPI_GEN=$HOME/CPGZephyrDocs/MEC172x/SPI_image_gen/mec172x_spi_gen_lin_x86_64 -DMEC172X_SPI_CFG=$HOME/zephyrproject/zephyr/boards/microchip/mec172xmodular_assy6930/support/spi_cfg_128MBit.txt


Wiring
========

#. Connect programmer to the header J2 on the ASSY6930 board, it will flash the SPI NOR chip
   ``U2``. Make sure that your programmer's offset is 0x0.
   For programming you can use Dediprog SF100 or a similar tool for flashing SPI chips.

   +------------+---------------+
   |  Dediprog  |               |
   |  Connector |      J2       |
   +============+===============+
   |    VCC     |       1       |
   +------------+---------------+
   |    GND     |       2       |
   +------------+---------------+
   |    CS      |       3       |
   +------------+---------------+
   |    CLK     |       4       |
   +------------+---------------+
   |    MISO    |       6       |
   +------------+---------------+
   |    MOSI    |       5       |
   +------------+---------------+

#. Connect UART1 port of the mec172xmodular_assy6930 (Rev. B) board
   to your host computer using the RS232 cable.

#. Apply power to the board via a micro-USB cable.
   Configure this option by using a jumper between ``JP22 1-2``.

Building
========

#. Build :ref:`hello_world` application as you would normally do.

#. The file :file:`spi_image.bin` will be created if the build system
   can find the image generation tool. This binary image can be used
   to flash the SPI chip.

Flashing
========

#. Run your favorite terminal program to listen for output.
   Under Linux the terminal should be :code:`/dev/ttyUSB0`. Do not close it.

   For example:

   .. code-block:: console

      $ minicom -D /dev/ttyUSB0 -o

   The -o option tells minicom not to send the modem initialization
   string. Connection should be configured as follows:

   - Speed: 115200
   - Data: 8 bits
   - Parity: None
   - Stop bits: 1

#. Flash your board using ``west`` from the second terminal window.
   Split first and second terminal windows to view both of them.

   .. code-block:: console

      $ west flash

   .. note:: When west process started press Reset button ``S1`` and do not release it
    till the whole west process will not be finished successfully.

#. You should see ``"Hello World! mec172xmodular_assy6930"`` in the first terminal window.
   If you don't see this message, press the Reset button and the message should appear.

Debugging
=========
``J1`` header on the board allows for JTAG connections for debug.

Troubleshooting
===============
#. In case you don't see your application running, please make sure ``LED1`` is lit.
   If ``LED1`` is off, check the power-related jumpers again.

#. If you can't program the board using Dediprog, disconnect and reconnect cable connected to
   ``P1`` and try again.

#. If Dediprog can't detect the onboard flash, press the board's ``S1`` Reset button and try again.


References
**********
.. target-notes::

.. _MEC172x Reference Manual:
    https://github.com/MicrochipTech/CPGZephyrDocs/blob/master/MEC172x/MEC172x-Data-Sheet.pdf
.. _MEC172x Modular EC Card - Assy_6930 Rev B1p1:
    https://github.com/MicrochipTech/CPGZephyrDocs/blob/master/MEC172x/MEC172X-MECC_Assy_6930_B1p1-SCH.pdf
.. _MEC172x SPI Image Gen:
    https://github.com/MicrochipTech/CPGZephyrDocs/tree/master/MEC172x/SPI_image_gen
.. _SF100 Linux GitHub:
    https://github.com/DediProgSW/SF100Linux
.. _SF100 Product page:
    https://www.dediprog.com/product/SF100
.. _SF100 Linux manual:
    https://www.dediprog.com/download/save/727.pdf

Part 3

한국어 전문 번역

개요

MEC172x Modular Card ASSY6930 Rev B는 MEC172X series 평가용 development board이며 standalone 또는 MECC platform에 결합해 사용할 수 있습니다.

MEC172x Modular ASSY6930
MEC172x Modular ASSY6930

Hardware

  • MEC1723·1727·1728 Arm Cortex-M4
  • 416KB RAM, 128KB boot ROM
  • microUSB UART1, PECI 3.0
  • FAN·PWM·TACHO, SMBus 5개, eSPI, VCI
  • Hardware-driven PS/2 1개와 keyboard header

Standalone header는 GPIO, JTAG, eSPI, I2C0·1·6, PWM1·2·3, Shared SPI와 keyboard interface를 제공합니다. MECC mated mode는 FAN·PWM8, I2C3·7과 eSPI를 제공합니다. +5V USB micro-A 또는 MECC에서 전원을 공급합니다.

지원 기능

InterfaceControllerDriver/Component
NVICon-chipnested vector interrupt controller
SYSTICKon-chipsystick
UARTon-chipserial port
GPIOon-chipgpio
I2Con-chipi2c
PINMUXon-chippinmux
PS/2on-chipps2
KSCANon-chipkscan
TACHon-chiptachometer
RPMFANon-chipFan speed controller

Default configuration은 boards/microchip/mec172xmodular_assy6930/mec172xmodular_assy6930_defconfig입니다.

연결과 I/O

MEC172x Modular ASSY6930 Rev B1은 96MHz oscillator와 PLL로 EC clock 12MHz를 생성하며 UART1이 serial log를 담당합니다.

Jumper 설정

Power

Standalone USB P1 사용 시 JP22 1-2, MECC P2 사용 시 JP22 2-3입니다. JP22에는 jumper 하나만 둡니다. Windows application용 VTR2 3.3V는 JP26 2-3, Chrome application용 1.8V는 JP26 1-2입니다.

Boot-ROM strap

JP23 UART_BSTRAP
1-2

JP23 1-2는 UART_BSTRAP을 GND로 당기며 Boot-ROM이 low를 읽으면 Crisis Recovery에 UART를 사용합니다.

Boot source

Boot SourceJP25
Shared SPI or SAF5-6
MAF1-2, 4-6

Programming과 Debugging

Setup

Dediprog SF100 programmer를 사용한다면 먼저 설정합니다. Windows version은 SF100 Product page에서, Linux source는 SF100 Linux GitHub에서 구할 수 있습니다. Linux에서는 manual에 따라 60-dediprog.rules를 /etc/udev/rules.s 또는 rules.d로 복사하고 다음 명령으로 service를 reload합니다.

$ udevadm control --reload

Linux의 dpcmd 또는 Windows의 dpcmd.exe가 있는 directory를 PATH에 추가합니다.

MEC172x SPI Image Gen을 clone하고 다음 CMake option으로 tool을 지정합니다.

-DMEC172X_SPI_GEN=<path to spi_gen tool>/mec172x_spi_gen_lin_x86_64

Default config는 ${BOARD_DIR}/support/spi_cfg.txt이며 4MBit·128MBit example도 같은 folder에 있습니다. 필요하면 custom config를 지정합니다.

-DMEC172X_SPI_CFG=<path to spi_cfg file>/spi_cfg.txt

128MBit hello_world image 생성 예입니다.

west build -p auto -b mec172xmodular_assy6930 samples/hello_world -- -DMEC172X_SPI_GEN=$HOME/CPGZephyrDocs/MEC172x/SPI_image_gen/mec172x_spi_gen_lin_x86_64 -DMEC172X_SPI_CFG=$HOME/zephyrproject/zephyr/boards/microchip/mec172xmodular_assy6930/support/spi_cfg_128MBit.txt

Wiring

Programmer를 ASSY6930의 J2에 연결해 SPI NOR U2 offset 0x0을 flash합니다.

Dediprog ConnectorBoard connector pin
VCC1
GND2
CS3
CLK4
MISO6
MOSI5

UART1을 RS232로 host에 연결하고 JP22 1-2 상태에서 micro-USB 전원을 인가합니다.

Building

Tool을 찾으면 build system이 spi_image.bin을 생성합니다.

Flashing

첫 terminal은 닫지 말고 다음처럼 엽니다.

$ minicom -D /dev/ttyUSB0 -o
  • Speed: 115200
  • Data: 8 bits
  • Parity: None
  • Stop bits: 1

두 번째 terminal에서 flash합니다.

$ west flash

West가 실행되면 Reset S1을 누르고 성공적으로 끝날 때까지 놓지 않습니다. 첫 terminal에 Hello World! mec172xmodular_assy6930가 나타나야 합니다.

Debugging

J1 header가 JTAG debug connection을 제공합니다.

Troubleshooting

  1. LED1이 꺼졌으면 power jumper를 확인합니다.
  2. Dediprog programming 실패 시 P1 cable을 다시 연결합니다.
  3. On-board flash 감지 실패 시 S1 Reset을 누릅니다.

참고 자료

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.