mx6sabreauto: Convert to DM_PMIC
The usage of DM_PMIC is preferred, so convert to it. This also brings the benefit of causing a significant amount of code removal. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
1071acf1b0
commit
c90ba67c4c
3 changed files with 18 additions and 105 deletions
|
@ -19,14 +19,12 @@
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <asm/gpio.h>
|
#include <asm/gpio.h>
|
||||||
#include <asm/mach-imx/iomux-v3.h>
|
#include <asm/mach-imx/iomux-v3.h>
|
||||||
#include <asm/mach-imx/mxc_i2c.h>
|
|
||||||
#include <asm/mach-imx/boot_mode.h>
|
#include <asm/mach-imx/boot_mode.h>
|
||||||
#include <asm/mach-imx/spi.h>
|
#include <asm/mach-imx/spi.h>
|
||||||
#include <mmc.h>
|
#include <mmc.h>
|
||||||
#include <fsl_esdhc_imx.h>
|
#include <fsl_esdhc_imx.h>
|
||||||
#include <miiphy.h>
|
#include <miiphy.h>
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
#include <i2c.h>
|
|
||||||
#include <input.h>
|
#include <input.h>
|
||||||
#include <asm/arch/mxc_hdmi.h>
|
#include <asm/arch/mxc_hdmi.h>
|
||||||
#include <asm/mach-imx/video.h>
|
#include <asm/mach-imx/video.h>
|
||||||
|
@ -49,23 +47,15 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
|
#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
|
||||||
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
|
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
|
||||||
|
|
||||||
#define I2C_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
|
|
||||||
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
|
|
||||||
PAD_CTL_ODE | PAD_CTL_SRE_FAST)
|
|
||||||
|
|
||||||
#define GPMI_PAD_CTRL0 (PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP)
|
#define GPMI_PAD_CTRL0 (PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP)
|
||||||
#define GPMI_PAD_CTRL1 (PAD_CTL_DSE_40ohm | PAD_CTL_SPEED_MED | \
|
#define GPMI_PAD_CTRL1 (PAD_CTL_DSE_40ohm | PAD_CTL_SPEED_MED | \
|
||||||
PAD_CTL_SRE_FAST)
|
PAD_CTL_SRE_FAST)
|
||||||
#define GPMI_PAD_CTRL2 (GPMI_PAD_CTRL0 | GPMI_PAD_CTRL1)
|
#define GPMI_PAD_CTRL2 (GPMI_PAD_CTRL0 | GPMI_PAD_CTRL1)
|
||||||
|
|
||||||
#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
|
|
||||||
|
|
||||||
#define WEIM_NOR_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
|
#define WEIM_NOR_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
|
||||||
PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
|
PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
|
||||||
PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
|
PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
|
||||||
|
|
||||||
#define I2C_PMIC 1
|
|
||||||
|
|
||||||
int dram_init(void)
|
int dram_init(void)
|
||||||
{
|
{
|
||||||
gd->ram_size = imx_ddr_size();
|
gd->ram_size = imx_ddr_size();
|
||||||
|
@ -78,70 +68,6 @@ static iomux_v3_cfg_t const uart4_pads[] = {
|
||||||
IOMUX_PADS(PAD_KEY_ROW0__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
IOMUX_PADS(PAD_KEY_ROW0__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* I2C2 PMIC, iPod, Tuner, Codec, Touch, HDMI EDID, MIPI CSI2 card */
|
|
||||||
static struct i2c_pads_info mx6q_i2c_pad_info1 = {
|
|
||||||
.scl = {
|
|
||||||
.i2c_mode = MX6Q_PAD_EIM_EB2__I2C2_SCL | PC,
|
|
||||||
.gpio_mode = MX6Q_PAD_EIM_EB2__GPIO2_IO30 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(2, 30)
|
|
||||||
},
|
|
||||||
.sda = {
|
|
||||||
.i2c_mode = MX6Q_PAD_KEY_ROW3__I2C2_SDA | PC,
|
|
||||||
.gpio_mode = MX6Q_PAD_KEY_ROW3__GPIO4_IO13 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(4, 13)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct i2c_pads_info mx6dl_i2c_pad_info1 = {
|
|
||||||
.scl = {
|
|
||||||
.i2c_mode = MX6DL_PAD_EIM_EB2__I2C2_SCL | PC,
|
|
||||||
.gpio_mode = MX6DL_PAD_EIM_EB2__GPIO2_IO30 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(2, 30)
|
|
||||||
},
|
|
||||||
.sda = {
|
|
||||||
.i2c_mode = MX6DL_PAD_KEY_ROW3__I2C2_SDA | PC,
|
|
||||||
.gpio_mode = MX6DL_PAD_KEY_ROW3__GPIO4_IO13 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(4, 13)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifndef CONFIG_SYS_FLASH_CFI
|
|
||||||
/*
|
|
||||||
* I2C3 MLB, Port Expanders (A, B, C), Video ADC, Light Sensor,
|
|
||||||
* Compass Sensor, Accelerometer, Res Touch
|
|
||||||
*/
|
|
||||||
static struct i2c_pads_info mx6q_i2c_pad_info2 = {
|
|
||||||
.scl = {
|
|
||||||
.i2c_mode = MX6Q_PAD_GPIO_3__I2C3_SCL | PC,
|
|
||||||
.gpio_mode = MX6Q_PAD_GPIO_3__GPIO1_IO03 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(1, 3)
|
|
||||||
},
|
|
||||||
.sda = {
|
|
||||||
.i2c_mode = MX6Q_PAD_EIM_D18__I2C3_SDA | PC,
|
|
||||||
.gpio_mode = MX6Q_PAD_EIM_D18__GPIO3_IO18 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(3, 18)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct i2c_pads_info mx6dl_i2c_pad_info2 = {
|
|
||||||
.scl = {
|
|
||||||
.i2c_mode = MX6DL_PAD_GPIO_3__I2C3_SCL | PC,
|
|
||||||
.gpio_mode = MX6DL_PAD_GPIO_3__GPIO1_IO03 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(1, 3)
|
|
||||||
},
|
|
||||||
.sda = {
|
|
||||||
.i2c_mode = MX6DL_PAD_EIM_D18__I2C3_SDA | PC,
|
|
||||||
.gpio_mode = MX6DL_PAD_EIM_D18__GPIO3_IO18 | PC,
|
|
||||||
.gp = IMX_GPIO_NR(3, 18)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static iomux_v3_cfg_t const i2c3_pads[] = {
|
|
||||||
IOMUX_PADS(PAD_EIM_A24__GPIO5_IO04 | MUX_PAD_CTRL(NO_PAD_CTRL)),
|
|
||||||
};
|
|
||||||
|
|
||||||
static iomux_v3_cfg_t const port_exp[] = {
|
static iomux_v3_cfg_t const port_exp[] = {
|
||||||
IOMUX_PADS(PAD_SD2_DAT0__GPIO1_IO15 | MUX_PAD_CTRL(NO_PAD_CTRL)),
|
IOMUX_PADS(PAD_SD2_DAT0__GPIO1_IO15 | MUX_PAD_CTRL(NO_PAD_CTRL)),
|
||||||
};
|
};
|
||||||
|
@ -516,21 +442,10 @@ int board_init(void)
|
||||||
/* address of boot parameters */
|
/* address of boot parameters */
|
||||||
gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
|
gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
|
||||||
|
|
||||||
/* I2C 2 and 3 setup - I2C 3 hw mux with EIM */
|
|
||||||
if (is_mx6dq() || is_mx6dqp())
|
|
||||||
setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6q_i2c_pad_info1);
|
|
||||||
else
|
|
||||||
setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6dl_i2c_pad_info1);
|
|
||||||
/* I2C 3 Steer */
|
/* I2C 3 Steer */
|
||||||
gpio_request(IMX_GPIO_NR(5, 4), "steer logic");
|
gpio_request(IMX_GPIO_NR(5, 4), "steer logic");
|
||||||
gpio_direction_output(IMX_GPIO_NR(5, 4), 1);
|
gpio_direction_output(IMX_GPIO_NR(5, 4), 1);
|
||||||
SETUP_IOMUX_PADS(i2c3_pads);
|
|
||||||
#ifndef CONFIG_SYS_FLASH_CFI
|
|
||||||
if (is_mx6dq() || is_mx6dqp())
|
|
||||||
setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6q_i2c_pad_info2);
|
|
||||||
else
|
|
||||||
setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &mx6dl_i2c_pad_info2);
|
|
||||||
#endif
|
|
||||||
gpio_request(IMX_GPIO_NR(1, 15), "expander en");
|
gpio_request(IMX_GPIO_NR(1, 15), "expander en");
|
||||||
gpio_direction_output(IMX_GPIO_NR(1, 15), 1);
|
gpio_direction_output(IMX_GPIO_NR(1, 15), 1);
|
||||||
SETUP_IOMUX_PADS(port_exp);
|
SETUP_IOMUX_PADS(port_exp);
|
||||||
|
@ -554,22 +469,27 @@ int board_spi_cs_gpio(unsigned bus, unsigned cs)
|
||||||
|
|
||||||
int power_init_board(void)
|
int power_init_board(void)
|
||||||
{
|
{
|
||||||
struct pmic *p;
|
struct udevice *dev;
|
||||||
unsigned int value;
|
unsigned int value;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = pmic_get("pfuze100@8", &dev);
|
||||||
|
if (ret == -ENODEV)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (ret != 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
p = pfuze_common_init(I2C_PMIC);
|
|
||||||
if (!p)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
if (is_mx6dqp()) {
|
if (is_mx6dqp()) {
|
||||||
/* set SW2 staby volatage 0.975V*/
|
/* set SW2 staby volatage 0.975V*/
|
||||||
pmic_reg_read(p, PFUZE100_SW2STBY, &value);
|
value = pmic_reg_read(dev, PFUZE100_SW2STBY);
|
||||||
value &= ~0x3f;
|
value &= ~0x3f;
|
||||||
value |= 0x17;
|
value |= 0x17;
|
||||||
pmic_reg_write(p, PFUZE100_SW2STBY, value);
|
pmic_reg_write(dev, PFUZE100_SW2STBY, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return pfuze_mode_init(p, APS_PFM);
|
return pfuze_mode_init(dev, APS_PFM);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_BMODE
|
#ifdef CONFIG_CMD_BMODE
|
||||||
|
@ -979,7 +899,6 @@ void board_init_f(ulong dummy)
|
||||||
ccgr_init();
|
ccgr_init();
|
||||||
gpr_init();
|
gpr_init();
|
||||||
|
|
||||||
/* iomux and setup of i2c */
|
|
||||||
board_early_init_f();
|
board_early_init_f();
|
||||||
|
|
||||||
/* setup GP timer */
|
/* setup GP timer */
|
||||||
|
|
|
@ -11,9 +11,6 @@ CONFIG_ENV_SIZE=0x2000
|
||||||
CONFIG_ENV_OFFSET=0xC0000
|
CONFIG_ENV_OFFSET=0xC0000
|
||||||
CONFIG_MX6QDL=y
|
CONFIG_MX6QDL=y
|
||||||
CONFIG_TARGET_MX6SABREAUTO=y
|
CONFIG_TARGET_MX6SABREAUTO=y
|
||||||
CONFIG_SYS_I2C_MXC_I2C1=y
|
|
||||||
CONFIG_SYS_I2C_MXC_I2C2=y
|
|
||||||
CONFIG_SYS_I2C_MXC_I2C3=y
|
|
||||||
CONFIG_DM_GPIO=y
|
CONFIG_DM_GPIO=y
|
||||||
CONFIG_DEFAULT_DEVICE_TREE="imx6q-sabreauto"
|
CONFIG_DEFAULT_DEVICE_TREE="imx6q-sabreauto"
|
||||||
CONFIG_SPL_TEXT_BASE=0x00908000
|
CONFIG_SPL_TEXT_BASE=0x00908000
|
||||||
|
@ -37,7 +34,6 @@ CONFIG_SYS_SPL_MALLOC=y
|
||||||
CONFIG_SPL_FIT_IMAGE_TINY=y
|
CONFIG_SPL_FIT_IMAGE_TINY=y
|
||||||
CONFIG_SPL_FS_EXT4=y
|
CONFIG_SPL_FS_EXT4=y
|
||||||
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot-dtb.img"
|
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot-dtb.img"
|
||||||
CONFIG_SPL_I2C=y
|
|
||||||
CONFIG_SPL_USB_HOST=y
|
CONFIG_SPL_USB_HOST=y
|
||||||
CONFIG_SPL_USB_GADGET=y
|
CONFIG_SPL_USB_GADGET=y
|
||||||
CONFIG_SPL_USB_SDP_SUPPORT=y
|
CONFIG_SPL_USB_SDP_SUPPORT=y
|
||||||
|
@ -76,7 +72,6 @@ CONFIG_BOUNCE_BUFFER=y
|
||||||
CONFIG_DFU_MMC=y
|
CONFIG_DFU_MMC=y
|
||||||
CONFIG_DFU_SF=y
|
CONFIG_DFU_SF=y
|
||||||
CONFIG_DM_I2C=y
|
CONFIG_DM_I2C=y
|
||||||
CONFIG_SPL_SYS_I2C_LEGACY=y
|
|
||||||
CONFIG_SYS_I2C_MXC=y
|
CONFIG_SYS_I2C_MXC=y
|
||||||
CONFIG_FSL_USDHC=y
|
CONFIG_FSL_USDHC=y
|
||||||
CONFIG_MTD=y
|
CONFIG_MTD=y
|
||||||
|
@ -93,10 +88,12 @@ CONFIG_RGMII=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
CONFIG_PINCTRL_IMX6=y
|
CONFIG_PINCTRL_IMX6=y
|
||||||
CONFIG_POWER_LEGACY=y
|
CONFIG_DM_PMIC=y
|
||||||
CONFIG_POWER_PFUZE100=y
|
CONFIG_DM_PMIC_PFUZE100=y
|
||||||
CONFIG_DM_REGULATOR=y
|
CONFIG_DM_REGULATOR=y
|
||||||
CONFIG_POWER_I2C=y
|
CONFIG_DM_REGULATOR_PFUZE100=y
|
||||||
|
CONFIG_DM_REGULATOR_FIXED=y
|
||||||
|
CONFIG_DM_REGULATOR_GPIO=y
|
||||||
CONFIG_DM_SERIAL=y
|
CONFIG_DM_SERIAL=y
|
||||||
CONFIG_MXC_UART=y
|
CONFIG_MXC_UART=y
|
||||||
CONFIG_SPI=y
|
CONFIG_SPI=y
|
||||||
|
|
|
@ -35,7 +35,4 @@
|
||||||
|
|
||||||
/* DMA stuff, needed for GPMI/MXS NAND support */
|
/* DMA stuff, needed for GPMI/MXS NAND support */
|
||||||
|
|
||||||
/* PMIC */
|
|
||||||
#define CFG_POWER_PFUZE100_I2C_ADDR 0x08
|
|
||||||
|
|
||||||
#endif /* __MX6SABREAUTO_CONFIG_H */
|
#endif /* __MX6SABREAUTO_CONFIG_H */
|
||||||
|
|
Loading…
Reference in a new issue