
On Tue, May 29, 2018 at 4:11 AM Baruch Siach baruch@tkos.co.il wrote:
From: Jon Nettleton jon@solid-run.com
This switches the clearfog boards to use DM based gpio and i2c drivers. The io expanders are configured via their device-tree entries.
Signed-off-by: Jon Nettleton jon@solid-run.com [baruch: add DT i2c aliases] Signed-off-by: Baruch Siach baruch@tkos.co.il
The context lines in this patch depend on the patch adding SATA support.
https://patchwork.ozlabs.org/patch/921400/
arch/arm/dts/armada-388-clearfog.dts | 2 ++ board/solidrun/clearfog/clearfog.c | 22 ---------------------- configs/clearfog_defconfig | 6 ++++++ include/configs/clearfog.h | 7 ------- 4 files changed, 8 insertions(+), 29 deletions(-)
diff --git a/arch/arm/dts/armada-388-clearfog.dts
b/arch/arm/dts/armada-388-clearfog.dts
index bc52bc0167d3..a0b566a5ae0e 100644 --- a/arch/arm/dts/armada-388-clearfog.dts +++ b/arch/arm/dts/armada-388-clearfog.dts @@ -62,6 +62,8 @@ ethernet2 = ð1; ethernet3 = ð2; spi1 = &spi1;
i2c0 = &i2c0;
i2c1 = &i2c1; };
chosen {
diff --git a/board/solidrun/clearfog/clearfog.c
b/board/solidrun/clearfog/clearfog.c
index ede303d4ebf9..4e1386c8a223 100644 --- a/board/solidrun/clearfog/clearfog.c +++ b/board/solidrun/clearfog/clearfog.c @@ -32,22 +32,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 chip;
u8 addr;
u8 val;
-};
-static struct marvell_io_exp io_exp[] = {
{ 0x20, 2, 0x40 }, /* Deassert both mini pcie reset signals
*/
{ 0x20, 6, 0xf9 },
{ 0x20, 2, 0x46 }, /* rst signals and ena USB3 current
limiter */
{ 0x20, 6, 0xb9 },
{ 0x20, 3, 0x00 }, /* Set SFP_TX_DIS to zero */
{ 0x20, 7, 0xbf }, /* Drive SFP_TX_DIS to zero */
-};
Will this actually work? As far as I can see u-boot lacks a gpio-hog implementation so despite the fact that these are all enumerated in the dts they won't have the same effect.
I'd be glad to be proven wrong because I'd like to use a gpio-hog for some other boards.
static struct serdes_map board_serdes_map[] = { {SATA0, SERDES_SPEED_3_GBPS, SERDES_DEFAULT_MODE, 0, 0}, {SGMII1, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0}, @@ -126,8 +110,6 @@ 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;
@@ -142,10 +124,6 @@ int board_init(void) setbits_le32(MVEBU_GPIO0_BASE + 0x0, BIT(19)); mdelay(10);
/* Init I2C IO expanders */
for (i = 0; i < ARRAY_SIZE(io_exp); i++)
i2c_write(io_exp[i].chip, io_exp[i].addr, 1,
&io_exp[i].val, 1);
}return 0;
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig index 3972c31ef978..2baf33701bca 100644 --- a/configs/clearfog_defconfig +++ b/configs/clearfog_defconfig @@ -1,6 +1,7 @@ CONFIG_ARM=y CONFIG_ARCH_MVEBU=y CONFIG_SYS_TEXT_BASE=0x00800000 +CONFIG_SPL_GPIO_SUPPORT=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y CONFIG_SYS_MALLOC_F_LEN=0x2000 @@ -19,6 +20,7 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x141 CONFIG_SPL_I2C_SUPPORT=y # CONFIG_CMD_FLASH is not set +CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_PCI=y @@ -34,6 +36,10 @@ CONFIG_ENV_IS_IN_MMC=y CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_OF_TRANSLATE=y CONFIG_SCSI_AHCI=y +CONFIG_DM_GPIO=y +CONFIG_DM_PCA953X=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_MVTWSI=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_MV=y diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h index ed6f000db16b..1141aee08b6e 100644 --- a/include/configs/clearfog.h +++ b/include/configs/clearfog.h @@ -21,13 +21,6 @@
- Commands configuration
*/
-/* I2C */ -#define CONFIG_SYS_I2C -#define CONFIG_SYS_I2C_MVTWSI -#define CONFIG_I2C_MVTWSI_BASE0 MVEBU_TWSI_BASE -#define CONFIG_SYS_I2C_SLAVE 0x0 -#define CONFIG_SYS_I2C_SPEED 100000
- /* SPI NOR flash default params, used by sf commands */ #define CONFIG_SF_DEFAULT_BUS 1
-- 2.17.0
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot