allwinner: add I2C glue driver

Allwinner 64-bit SoCs all use the Mentor Graphics MI2CV I2C controller
core, with inverted clear quirk.

Add a glue driver for this.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
This commit is contained in:
Icenowy Zheng 2018-07-22 21:29:02 +08:00
parent 2071991413
commit 5686b2eca2
2 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,28 @@
/*
* Copyright (C) 2018 Icenowy Zheng <icenowy@aosc.io>
*
* SPDX-License-Identifier: BSD-3-Clause
* https://spdx.org/licenses
*/
/* This driver provides I2C support for Allwinner sunXi SoCs */
#include <mmio.h>
#define CONFIG_SYS_TCLK 24000000
#define CONFIG_SYS_I2C_SPEED 100000
#define CONFIG_SYS_I2C_SLAVE 0
#define I2C_INTERRUPT_CLEAR_INVERTED
struct mentor_i2c_regs {
uint32_t slave_address;
uint32_t xtnd_slave_addr;
uint32_t data;
uint32_t control;
uint32_t status;
uint32_t baudrate;
uint32_t soft_reset;
};
#include "../mentor/i2c/mi2cv.c"

View File

@ -24,6 +24,7 @@ Allwinner ARMv8 platform port
:G: `smaeul`_
:F: docs/plat/allwinner.rst
:F: plat/allwinner/
:F: drivers/allwinner/
Armv7-A architecture port
-------------------------