blob: ea2b83ee7e9ce9039193b18cde15cee4c136a629 [file] [log] [blame]
/*
* Copyright 2017-2019 NXP
*
* SPDX-License-Identifier: GPL-2.0+
*
*/
#ifndef __ASM_ARCH_IMX8_I2C_H__
#define __ASM_ARCH_IMX8_I2C_H__
#include <asm/arch/sci/sci.h>
#include <asm/arch/lpcg.h>
struct imx_i2c_map {
unsigned index;
sc_rsrc_t rsrc;
u32 lpcg[4];
};
static struct imx_i2c_map imx_i2c_desc[] = {
{0, SC_R_I2C_0, {LPI2C_0_LPCG}},
{1, SC_R_I2C_1, {LPI2C_1_LPCG}},
{2, SC_R_I2C_2, {LPI2C_2_LPCG}},
{3, SC_R_I2C_3, {LPI2C_3_LPCG}},
#ifdef CONFIG_IMX8QM
{4, SC_R_I2C_4, {LPI2C_4_LPCG}},
{5, SC_R_LVDS_0_I2C_0, {DI_LVDS_0_LPCG + 0x10}}, /* lvds0 i2c0 */
{6, SC_R_LVDS_0_I2C_1, {DI_LVDS_0_LPCG + 0x14}}, /* lvds0 i2c1 */
{7, SC_R_LVDS_1_I2C_0, {DI_LVDS_1_LPCG + 0x10}}, /* lvds1 i2c0 */
{8, SC_R_LVDS_1_I2C_1, {DI_LVDS_1_LPCG + 0x14}}, /* lvds1 i2c1 */
#endif
{9, SC_R_CSI_0_I2C_0, {MIPI_CSI_0_LPCG + 0x14}},
#ifdef CONFIG_IMX8QM
{10, SC_R_CSI_1_I2C_0, {MIPI_CSI_1_LPCG + 0x14}},
{11, SC_R_HDMI_I2C_0, {DI_HDMI_LPCG}},
{12, SC_R_HDMI_RX_I2C_0, {RX_HDMI_LPCG + 0x10, RX_HDMI_LPCG + 0x14, RX_HDMI_LPCG + 0x18, RX_HDMI_LPCG + 0x1C}},
{13, SC_R_MIPI_0_I2C_0, {MIPI_DSI_0_LPCG + 0x14, MIPI_DSI_0_LPCG + 0x18, MIPI_DSI_0_LPCG + 0x1c}},
{14, SC_R_MIPI_0_I2C_1, {MIPI_DSI_0_LPCG + 0x24, MIPI_DSI_0_LPCG + 0x28, MIPI_DSI_0_LPCG + 0x2c}},
{15, SC_R_MIPI_1_I2C_0, {MIPI_DSI_1_LPCG + 0x14, MIPI_DSI_1_LPCG + 0x18, MIPI_DSI_1_LPCG + 0x1c}},
{16, SC_R_MIPI_1_I2C_1, {MIPI_DSI_1_LPCG + 0x24, MIPI_DSI_1_LPCG + 0x28, MIPI_DSI_1_LPCG + 0x2c}},
#else
{13, SC_R_MIPI_0_I2C_0, {DI_MIPI0_LPCG + 0x10}},
{14, SC_R_MIPI_0_I2C_1, {DI_MIPI0_LPCG + 0x14}},
{15, SC_R_MIPI_1_I2C_0, {DI_MIPI1_LPCG + 0x10}},
{16, SC_R_MIPI_1_I2C_1, {DI_MIPI1_LPCG + 0x14}},
#endif
};
#endif /* __ASM_ARCH_IMX8_I2C_H__ */