ARM: mxs: add sgtl5000 i2c device
Signed-off-by: Dong Aisheng <b29396@freescale.com> Cc: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
Родитель
c8ebcac823
Коммит
074c54f422
|
@ -49,6 +49,7 @@ config MACH_MX28EVK
|
||||||
select MXS_HAVE_PLATFORM_MXS_MMC
|
select MXS_HAVE_PLATFORM_MXS_MMC
|
||||||
select MXS_HAVE_PLATFORM_MXSFB
|
select MXS_HAVE_PLATFORM_MXSFB
|
||||||
select MXS_HAVE_PLATFORM_MXS_SAIF
|
select MXS_HAVE_PLATFORM_MXS_SAIF
|
||||||
|
select MXS_HAVE_PLATFORM_MXS_I2C
|
||||||
select MXS_OCOTP
|
select MXS_OCOTP
|
||||||
help
|
help
|
||||||
Include support for MX28EVK platform. This includes specific
|
Include support for MX28EVK platform. This includes specific
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
|
#include <linux/i2c.h>
|
||||||
|
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
|
@ -184,6 +185,12 @@ static const iomux_cfg_t mx28evk_pads[] __initconst = {
|
||||||
/* led */
|
/* led */
|
||||||
MX28_PAD_AUART1_TX__GPIO_3_5 | MXS_PAD_CTRL,
|
MX28_PAD_AUART1_TX__GPIO_3_5 | MXS_PAD_CTRL,
|
||||||
|
|
||||||
|
/* I2C */
|
||||||
|
MX28_PAD_I2C0_SCL__I2C0_SCL |
|
||||||
|
(MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
|
||||||
|
MX28_PAD_I2C0_SDA__I2C0_SDA |
|
||||||
|
(MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
|
||||||
|
|
||||||
/* saif0 & saif1 */
|
/* saif0 & saif1 */
|
||||||
MX28_PAD_SAIF0_MCLK__SAIF0_MCLK |
|
MX28_PAD_SAIF0_MCLK__SAIF0_MCLK |
|
||||||
(MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
|
(MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_PULLUP),
|
||||||
|
@ -364,6 +371,12 @@ static struct mxs_mmc_platform_data mx28evk_mmc_pdata[] __initdata = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct i2c_board_info mxs_i2c0_board_info[] __initdata = {
|
||||||
|
{
|
||||||
|
I2C_BOARD_INFO("sgtl5000", 0x0a),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
static void __init mx28evk_init(void)
|
static void __init mx28evk_init(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -407,6 +420,10 @@ static void __init mx28evk_init(void)
|
||||||
mx28_add_saif(0);
|
mx28_add_saif(0);
|
||||||
mx28_add_saif(1);
|
mx28_add_saif(1);
|
||||||
|
|
||||||
|
mx28_add_mxs_i2c(0);
|
||||||
|
i2c_register_board_info(0, mxs_i2c0_board_info,
|
||||||
|
ARRAY_SIZE(mxs_i2c0_board_info));
|
||||||
|
|
||||||
/* power on mmc slot by writing 0 to the gpio */
|
/* power on mmc slot by writing 0 to the gpio */
|
||||||
ret = gpio_request_one(MX28EVK_MMC0_SLOT_POWER, GPIOF_OUT_INIT_LOW,
|
ret = gpio_request_one(MX28EVK_MMC0_SLOT_POWER, GPIOF_OUT_INIT_LOW,
|
||||||
"mmc0-slot-power");
|
"mmc0-slot-power");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче