f3ea7f5819
The NPCX SMB modules provides full support for a two-wire SMBus/I2C synchronous serial interface. Each SMBus/I2C interface is a two-wire serial interface that is compatible with both Intel SMBus and Philips I2C physical layer. There are 8 SMBus modules and 10 buses in NPCX7 series. In NPCX7 series, the SMB5 and SMB6 modules contain a two-way switch to support two separate SMBus/I2C buses (ports) with one SMB module (controller) Please refer Section 4.7.2 in the datasheet. In order to support it, this CL seperates the i2c driver into port and controller drivers. The controller driver is in charge of i2c module operations and internal state machine. The port driver is in charge of pin-mux and connection between Zehpyr i2c api interface and controller driver. All of modules have separate 32-byte transmit FIFO and 32-byte receive FIFO buffers. These FIFO buffers reduce firmware overhead during long SMBus transactions by allowing the Core to write or read more than one data byte at a time to/from the SMB module. The CL also includes: — Add npcx i2c port/controller device tree declarations. — Zephyr i2c api implementation. — Add "i2c-0" aliases in npcx7m6fb.dts for i2c test suites. Signed-off-by: Mulin Chao <MLChao@nuvoton.com>
13 lines
365 B
Plaintext
13 lines
365 B
Plaintext
# NPCX I2C driver configuration options
|
|
|
|
# Copyright (c) 2020 Nuvoton Technology Corporation.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config I2C_NPCX
|
|
bool "Nuvoton NPCX embedded controller (EC) I2C driver"
|
|
depends on SOC_FAMILY_NPCX
|
|
help
|
|
This option enables the I2C driver for NPCX family of
|
|
processors.
|
|
Say y if you wish to use I2C modules on NPCX MCU.
|