Skip to content

Commit

Permalink
ARM i.MX53 enable i2c on EVK board
Browse files Browse the repository at this point in the history
add i2c platform data and clock

Signed-off-by: Yong Shen <yong.shen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
  • Loading branch information
Yong Shen authored and Sascha Hauer committed Jan 7, 2011
1 parent 6390476 commit 0d7671e
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-mx5/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ config MACH_MX53_EVK
bool "Support MX53 EVK platforms"
select SOC_IMX53
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_I2C
help
Include support for MX53 EVK platform. This includes specific
configurations for the board and its peripherals.
Expand Down
7 changes: 7 additions & 0 deletions arch/arm/mach-mx5/board-mx53_evk.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ static inline void mx53_evk_init_uart(void)
imx53_add_imx_uart(2, &mx53_evk_uart_pdata);
}

static const struct imxi2c_platform_data mx53_evk_i2c_data __initconst = {
.bitrate = 100000,
};

static inline void mx53_evk_fec_reset(void)
{
int ret;
Expand Down Expand Up @@ -92,6 +96,9 @@ static void __init mx53_evk_board_init(void)
mx53_evk_init_uart();
mx53_evk_fec_reset();
imx53_add_fec(&mx53_evk_fec_pdata);

imx53_add_imx_i2c(0, &mx53_evk_i2c_data);
imx53_add_imx_i2c(1, &mx53_evk_i2c_data);
}

static void __init mx53_evk_timer_init(void)
Expand Down
2 changes: 2 additions & 0 deletions arch/arm/mach-mx5/clock-mx51-mx53.c
Original file line number Diff line number Diff line change
Expand Up @@ -1326,6 +1326,8 @@ static struct clk_lookup mx53_lookups[] = {
_REGISTER_CLOCK(NULL, "gpt", gpt_clk)
_REGISTER_CLOCK("fec.0", NULL, fec_clk)
_REGISTER_CLOCK(NULL, "iim_clk", iim_clk)
_REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk)
_REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk)
};

static void clk_tree_init(void)
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/mach-mx5/devices-imx53.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@ extern const struct imx_fec_data imx53_fec_data __initconst;
extern const struct imx_imx_uart_1irq_data imx53_imx_uart_data[] __initconst;
#define imx53_add_imx_uart(id, pdata) \
imx_add_imx_uart_1irq(&imx53_imx_uart_data[id], pdata)


extern const struct imx_imx_i2c_data imx53_imx_i2c_data[] __initconst;
#define imx53_add_imx_i2c(id, pdata) \
imx_add_imx_i2c(&imx53_imx_i2c_data[id], pdata)
9 changes: 9 additions & 0 deletions arch/arm/plat-mxc/devices/platform-imx-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,15 @@ const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst = {
};
#endif /* ifdef CONFIG_SOC_IMX51 */

#ifdef CONFIG_SOC_IMX53
const struct imx_imx_i2c_data imx53_imx_i2c_data[] __initconst = {
#define imx53_imx_i2c_data_entry(_id, _hwid) \
imx_imx_i2c_data_entry(MX53, _id, _hwid, SZ_4K)
imx53_imx_i2c_data_entry(0, 1),
imx53_imx_i2c_data_entry(1, 2),
};
#endif /* ifdef CONFIG_SOC_IMX51 */

struct platform_device *__init imx_add_imx_i2c(
const struct imx_imx_i2c_data *data,
const struct imxi2c_platform_data *pdata)
Expand Down

0 comments on commit 0d7671e

Please sign in to comment.