+++ /dev/null
-/*
- * 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"
+++ /dev/null
-/*
- * Copyright (C) 2018 Marvell International Ltd.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- * https://spdx.org/licenses
- */
-
-/* This driver provides I2C support for Marvell A8K and compatible SoCs */
-
-#include <mmio.h>
-
-#define CONFIG_SYS_TCLK 250000000
-#define CONFIG_SYS_I2C_SPEED 100000
-#define CONFIG_SYS_I2C_SLAVE 0x0
-
-#define I2C_CAN_UNSTUCK
-
-struct mentor_i2c_regs {
- uint32_t slave_address;
- uint32_t data;
- uint32_t control;
- union {
- uint32_t status; /* when reading */
- uint32_t baudrate; /* when writing */
- };
- uint32_t xtnd_slave_addr;
- uint32_t reserved[2];
- uint32_t soft_reset;
- uint8_t reserved2[0xa0 - 0x20];
- uint32_t unstuck;
-};
-
-#include "../../mentor/i2c/mi2cv.c"
#include <delay_timer.h>
#include <errno.h>
#include <mentor/mi2cv.h>
+#include <mentor_i2c_plat.h>
#include <mmio.h>
#if LOG_LEVEL >= LOG_LEVEL_VERBOSE
--- /dev/null
+/*
+ * 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 */
+
+#ifndef SUNXI_I2C_H
+#define SUNXI_I2C_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;
+};
+
+#endif
-I${AW_PLAT}/${PLAT}/include
PLAT_BL_COMMON_SOURCES := drivers/console/${ARCH}/console.S \
+ drivers/mentor/i2c/mi2cv.c \
drivers/ti/uart/${ARCH}/16550_console.S \
- ${AW_DRIVERS}/sunxi_i2c.c \
${XLAT_TABLES_LIB_SRCS} \
${AW_PLAT}/common/plat_helpers.S \
${AW_PLAT}/common/sunxi_common.c
MARVELL_MOCHI_DRV += $(MARVELL_DRV_BASE)/mochi/cp110_setup.c
-BLE_SOURCES := $(PLAT_COMMON_BASE)/plat_ble_setup.c \
+BLE_SOURCES := drivers/mentor/i2c/mi2cv.c \
+ $(PLAT_COMMON_BASE)/plat_ble_setup.c \
$(MARVELL_MOCHI_DRV) \
- $(MARVELL_DRV_BASE)/i2c/a8k_i2c.c \
$(PLAT_COMMON_BASE)/plat_pm.c \
$(MARVELL_DRV_BASE)/thermal.c \
$(PLAT_COMMON_BASE)/plat_thermal.c \
--- /dev/null
+/*
+ * Copyright (C) 2018 Marvell International Ltd.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ * https://spdx.org/licenses
+ */
+/* This driver provides I2C support for Marvell A8K and compatible SoCs */
+
+#ifndef A8K_I2C_H
+#define A8K_I2C_H
+
+#define CONFIG_SYS_TCLK 250000000
+#define CONFIG_SYS_I2C_SPEED 100000
+#define CONFIG_SYS_I2C_SLAVE 0x0
+
+#define I2C_CAN_UNSTUCK
+
+struct mentor_i2c_regs {
+ uint32_t slave_address;
+ uint32_t data;
+ uint32_t control;
+ union {
+ uint32_t status; /* when reading */
+ uint32_t baudrate; /* when writing */
+ };
+ uint32_t xtnd_slave_addr;
+ uint32_t reserved[2];
+ uint32_t soft_reset;
+ uint8_t reserved2[0xa0 - 0x20];
+ uint32_t unstuck;
+};
+
+#endif