From: Icenowy Zheng Date: Sun, 22 Jul 2018 13:29:02 +0000 (+0800) Subject: allwinner: add I2C glue driver X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=5686b2eca292c9e96c1f18c5b81848053a782ed2;p=project%2Fbcm63xx%2Fatf.git 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 --- diff --git a/drivers/allwinner/sunxi_i2c.c b/drivers/allwinner/sunxi_i2c.c new file mode 100644 index 00000000..cc91ca58 --- /dev/null +++ b/drivers/allwinner/sunxi_i2c.c @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2018 Icenowy Zheng + * + * SPDX-License-Identifier: BSD-3-Clause + * https://spdx.org/licenses + */ + +/* This driver provides I2C support for Allwinner sunXi SoCs */ + +#include + +#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" diff --git a/maintainers.rst b/maintainers.rst index 969d5e57..3f64b83f 100644 --- a/maintainers.rst +++ b/maintainers.rst @@ -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 -------------------------