提交 c209a65e 编写于 作者: A Aditya Prayoga 提交者: Stefan Roese

arm: mvebu: helios4: Enable I2C and IO Expander

Enable Marvell I2C driver and I2C IO expander. Set default bus to
external I2C bus. Define I2C aliases in device tree so it can be
recognized by the driver.
Signed-off-by: NAditya Prayoga <aditya@kobol.io>
Reviewed-by: NStefan Roese <sr@denx.de>
Tested-By: NDennis Gilmore <dgilmore@redhat.com>
Reviewed-By: NDennis Gilmore <dgilmore@redhat.com>
Signed-off-by: NStefan Roese <sr@denx.de>
上级 a134d680
// SPDX-License-Identifier: GPL-2.0+
/ {
aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
};
};
......@@ -33,18 +33,6 @@ DECLARE_GLOBAL_DATA_PTR;
#define BOARD_GPP_POL_LOW 0x0
#define BOARD_GPP_POL_MID 0x0
/* IO expander on Marvell GP board includes e.g. fan enabling */
struct marvell_io_exp {
u8 addr;
u8 val;
};
static struct marvell_io_exp io_exp[] = {
{6, 0xf9},
{2, 0x46}, /* Assert reset signals and enable USB3 current limiter */
{6, 0xb9}
};
static struct serdes_map board_serdes_map[] = {
{SATA0, SERDES_SPEED_6_GBPS, SERDES_DEFAULT_MODE, 0, 0},
{USB3_HOST0, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
......@@ -123,29 +111,9 @@ int board_early_init_f(void)
int board_init(void)
{
int i;
/* Address of boot parameters */
gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
/* Init I2C IO expanders */
for (i = 0; i < ARRAY_SIZE(io_exp); i++) {
struct udevice *dev;
int ret;
ret = i2c_get_chip_for_busnum(0, io_exp[i].addr, 1, &dev);
if (ret) {
printf("Cannot find I2C: %d\n", ret);
return 0;
}
ret = dm_i2c_write(dev, io_exp[i].val, &io_exp[i].val, 1);
if (ret) {
printf("Failed to set IO expander via I2C\n");
return -EIO;
}
}
return 0;
}
......
......@@ -38,7 +38,11 @@ CONFIG_ENV_IS_IN_MMC=y
CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_SPL_OF_TRANSLATE=y
CONFIG_SCSI_AHCI=y
CONFIG_DM_PCA953X=y
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_MVTWSI=y
CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
CONFIG_I2C_DEFAULT_BUS_NUMBER=0x1
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
CONFIG_MMC_SDHCI_MV=y
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册