mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00
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:
parent
2071991413
commit
5686b2eca2
2 changed files with 29 additions and 0 deletions
28
drivers/allwinner/sunxi_i2c.c
Normal file
28
drivers/allwinner/sunxi_i2c.c
Normal 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"
|
|
@ -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
|
||||
-------------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue