diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2020-02-07 16:23:26 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-02-19 08:30:32 +0100 |
commit | d19adc55f607fff299fb54d29aef3396cbdf0baa (patch) | |
tree | 03e46202380f9d3c29d9967460d5820c1796edc0 | |
parent | d172474bd5b4db361b5b7f6b987f72291ccc2f1e (diff) | |
download | barebox-d19adc55f607fff299fb54d29aef3396cbdf0baa.tar.gz barebox-d19adc55f607fff299fb54d29aef3396cbdf0baa.tar.xz |
I2C: i.MX: Add early i2c support for i.MX8M
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/i2c/busses/i2c-imx-early.c | 12 | ||||
-rw-r--r-- | include/i2c/i2c-early.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-imx-early.c b/drivers/i2c/busses/i2c-imx-early.c index d67226441e..26922c1044 100644 --- a/drivers/i2c/busses/i2c-imx-early.c +++ b/drivers/i2c/busses/i2c-imx-early.c @@ -308,3 +308,15 @@ void *ls1046_i2c_init(void __iomem *regs) return &fsl_i2c; } + +void *imx8m_i2c_early_init(void __iomem *regs) +{ + fsl_i2c.regs = regs; + fsl_i2c.regshift = 2; + fsl_i2c.i2cr_ien_opcode = I2CR_IEN_OPCODE_1; + fsl_i2c.i2sr_clr_opcode = I2SR_CLR_OPCODE_W0C; + /* Divider for ~100kHz when coming from the ROM */ + fsl_i2c.ifdr = 0x0f; + + return &fsl_i2c; +} diff --git a/include/i2c/i2c-early.h b/include/i2c/i2c-early.h index 27efd25109..d64c1a4384 100644 --- a/include/i2c/i2c-early.h +++ b/include/i2c/i2c-early.h @@ -5,6 +5,7 @@ int i2c_fsl_xfer(void *ctx, struct i2c_msg *msgs, int num); +void *imx8m_i2c_early_init(void __iomem *regs); void *ls1046_i2c_init(void __iomem *regs); #endif /* __I2C_EARLY_H */ |