mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
mx53loco: Add DM_I2C support
The conversion to DM_I2C is mandatory, so add support for it. Signed-off-by: Fabio Estevam <festevam@denx.de>
This commit is contained in:
parent
987a65d2f1
commit
ca038fc033
2 changed files with 19 additions and 19 deletions
|
@ -27,6 +27,8 @@
|
||||||
#include <fsl_pmic.h>
|
#include <fsl_pmic.h>
|
||||||
#include <linux/fb.h>
|
#include <linux/fb.h>
|
||||||
#include <ipu_pixfmt.h>
|
#include <ipu_pixfmt.h>
|
||||||
|
#include <dm/uclass.h>
|
||||||
|
#include <dm/device.h>
|
||||||
|
|
||||||
#define MX53LOCO_LCD_POWER IMX_GPIO_NR(3, 24)
|
#define MX53LOCO_LCD_POWER IMX_GPIO_NR(3, 24)
|
||||||
|
|
||||||
|
@ -39,10 +41,16 @@ u32 get_board_rev(void)
|
||||||
struct fuse_bank *bank = &iim->bank[0];
|
struct fuse_bank *bank = &iim->bank[0];
|
||||||
struct fuse_bank0_regs *fuse =
|
struct fuse_bank0_regs *fuse =
|
||||||
(struct fuse_bank0_regs *)bank->fuse_regs;
|
(struct fuse_bank0_regs *)bank->fuse_regs;
|
||||||
|
struct udevice *bus;
|
||||||
|
struct udevice *dev;
|
||||||
|
|
||||||
int rev = readl(&fuse->gp[6]);
|
int rev = readl(&fuse->gp[6]);
|
||||||
|
|
||||||
if (!i2c_probe(CFG_SYS_DIALOG_PMIC_I2C_ADDR))
|
ret = uclass_get_device_by_seq(UCLASS_I2C, 0, &bus);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (!dm_i2c_probe(bus, CFG_SYS_DIALOG_PMIC_I2C_ADDR, 0, &dev))
|
||||||
rev = 0;
|
rev = 0;
|
||||||
|
|
||||||
return (get_cpu_rev() & ~(0xF << 8)) | (rev & 0xF) << 8;
|
return (get_cpu_rev() & ~(0xF << 8)) | (rev & 0xF) << 8;
|
||||||
|
@ -62,26 +70,19 @@ static void setup_iomux_uart(void)
|
||||||
imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));
|
imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads));
|
||||||
}
|
}
|
||||||
|
|
||||||
#define I2C_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \
|
|
||||||
PAD_CTL_PUS_100K_UP | PAD_CTL_ODE)
|
|
||||||
|
|
||||||
static void setup_iomux_i2c(void)
|
|
||||||
{
|
|
||||||
static const iomux_v3_cfg_t i2c1_pads[] = {
|
|
||||||
NEW_PAD_CTRL(MX53_PAD_CSI0_DAT8__I2C1_SDA, I2C_PAD_CTRL),
|
|
||||||
NEW_PAD_CTRL(MX53_PAD_CSI0_DAT9__I2C1_SCL, I2C_PAD_CTRL),
|
|
||||||
};
|
|
||||||
|
|
||||||
imx_iomux_v3_setup_multiple_pads(i2c1_pads, ARRAY_SIZE(i2c1_pads));
|
|
||||||
}
|
|
||||||
|
|
||||||
static int power_init(void)
|
static int power_init(void)
|
||||||
{
|
{
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
int ret;
|
int ret;
|
||||||
struct pmic *p;
|
struct pmic *p;
|
||||||
|
struct udevice *bus;
|
||||||
|
struct udevice *dev;
|
||||||
|
|
||||||
if (!i2c_probe(CFG_SYS_DIALOG_PMIC_I2C_ADDR)) {
|
ret = uclass_get_device_by_seq(UCLASS_I2C, 0, &bus);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
if (!dm_i2c_probe(bus, CFG_SYS_DIALOG_PMIC_I2C_ADDR, 0, &dev)) {
|
||||||
ret = pmic_dialog_init(I2C_PMIC);
|
ret = pmic_dialog_init(I2C_PMIC);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -124,8 +125,8 @@ static int power_init(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!i2c_probe(CFG_SYS_FSL_PMIC_I2C_ADDR)) {
|
if (!dm_i2c_probe(bus, CFG_SYS_FSL_PMIC_I2C_ADDR, 0, &dev)) {
|
||||||
ret = pmic_init(I2C_0);
|
ret = pmic_init(0);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -225,7 +226,6 @@ int board_init(void)
|
||||||
gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
|
gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
|
||||||
|
|
||||||
mxc_set_sata_internal_clock();
|
mxc_set_sata_internal_clock();
|
||||||
setup_iomux_i2c();
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
CONFIG_USE_ETHPRIME=y
|
CONFIG_USE_ETHPRIME=y
|
||||||
CONFIG_ETHPRIME="FEC0"
|
CONFIG_ETHPRIME="FEC0"
|
||||||
CONFIG_ARP_TIMEOUT=200
|
CONFIG_ARP_TIMEOUT=200
|
||||||
CONFIG_SYS_I2C_LEGACY=y
|
CONFIG_DM_I2C=y
|
||||||
CONFIG_SYS_I2C_MXC=y
|
CONFIG_SYS_I2C_MXC=y
|
||||||
CONFIG_FSL_ESDHC_IMX=y
|
CONFIG_FSL_ESDHC_IMX=y
|
||||||
CONFIG_MTD=y
|
CONFIG_MTD=y
|
||||||
|
|
Loading…
Reference in a new issue