Skip to content

Commit

Permalink
Convert CONFIG_SYS_I2C_INIT_BOARD to Kconfig
Browse files Browse the repository at this point in the history
This converts the following to Kconfig:
   CONFIG_SYS_I2C_INIT_BOARD

Signed-off-by: Tom Rini <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
  • Loading branch information
trini committed Nov 10, 2022
1 parent 77b5cc2 commit 9244b2f
Show file tree
Hide file tree
Showing 7 changed files with 3 additions and 57 deletions.
11 changes: 0 additions & 11 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -1052,17 +1052,6 @@ The following options need to be configured:
You should define these to the GPIO value as given directly to
the generic GPIO functions.

CONFIG_SYS_I2C_INIT_BOARD

When a board is reset during an i2c bus transfer
chips might think that the current transfer is still
in progress. On some boards it is possible to access
the i2c SCLK line directly, either by using the
processor pin as a GPIO or by having a second pin
connected to the bus. If this option is defined a
custom i2c_init_board() routine in boards/xxx/board.c
is run early in the boot sequence.

CONFIG_I2C_MULTI_BUS

This option allows the use of multiple I2C buses, each of which
Expand Down
3 changes: 3 additions & 0 deletions board/keymile/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ if VENDOR_KM

menu "KM Board Setup"

config SYS_I2C_INIT_BOARD
def_bool y if ARM

config HUSH_INIT_VAR
def_bool y

Expand Down
4 changes: 0 additions & 4 deletions board/samsung/common/board.c
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,6 @@ int board_early_init_f(void)
return err;
}

#ifdef CONFIG_SYS_I2C_INIT_BOARD
board_i2c_init(gd->fdt_blob);
#endif

return exynos_early_init_f();
}
#endif
Expand Down
10 changes: 0 additions & 10 deletions board/samsung/goni/goni.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,6 @@ int board_init(void)
return 0;
}

#ifdef CONFIG_SYS_I2C_INIT_BOARD
void i2c_init_board(void)
{
gpio_request(S5PC110_GPIO_J43, "i2c_clk");
gpio_request(S5PC110_GPIO_J40, "i2c_data");
gpio_direction_output(S5PC110_GPIO_J43, 1);
gpio_direction_output(S5PC110_GPIO_J40, 1);
}
#endif

int dram_init(void)
{
gd->ram_size = PHYS_SDRAM_1_SIZE + PHYS_SDRAM_2_SIZE +
Expand Down
7 changes: 0 additions & 7 deletions drivers/i2c/fsl_i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -271,13 +271,6 @@ static void __i2c_init(const struct fsl_i2c_base *base, int speed, int
const unsigned long long timeout = usec2ticks(CONFIG_I2C_MBB_TIMEOUT);
unsigned long long timeval;

#ifdef CONFIG_SYS_I2C_INIT_BOARD
/* Call board specific i2c bus reset routine before accessing the
* environment, which might be in a chip on that bus. For details
* about this problem see doc/I2C_Edge_Conditions.
*/
i2c_init_board();
#endif
writeb(0, &base->cr); /* stop I2C controller */
udelay(5); /* let it shutdown in peace */
set_i2c_bus_speed(base, i2c_clk, speed);
Expand Down
24 changes: 0 additions & 24 deletions drivers/i2c/mv_i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -374,27 +374,6 @@ static int __i2c_write(struct mv_i2c *base, uchar chip, u8 *addr, int alen,

static struct mv_i2c *base_glob;

static void i2c_board_init(struct mv_i2c *base)
{
#ifdef CONFIG_SYS_I2C_INIT_BOARD
u32 icr;
/*
* call board specific i2c bus reset routine before accessing the
* environment, which might be in a chip on that bus. For details
* about this problem see doc/I2C_Edge_Conditions.
*
* disable I2C controller first, otherwhise it thinks we want to
* talk to the slave port...
*/
icr = readl(&base->icr);
writel(readl(&base->icr) & ~(ICR_SCLE | ICR_IUE), &base->icr);

i2c_init_board();

writel(icr, &base->icr);
#endif
}

#ifdef CONFIG_I2C_MULTI_BUS
static unsigned long i2c_regs[CONFIG_MV_I2C_NUM] = CONFIG_MV_I2C_REG;
static unsigned int bus_initialized[CONFIG_MV_I2C_NUM];
Expand All @@ -411,7 +390,6 @@ int i2c_set_bus_num(unsigned int bus)
current_bus = bus;

if (!bus_initialized[current_bus]) {
i2c_board_init(base_glob);
bus_initialized[current_bus] = 1;
}

Expand Down Expand Up @@ -441,8 +419,6 @@ void i2c_init(int speed, int slaveaddr)
else
val = ICR_SM;
clrsetbits_le32(&base_glob->icr, ICR_MODE_MASK, val);

i2c_board_init(base_glob);
}

static int __i2c_probe_chip(struct mv_i2c *base, uchar chip)
Expand Down
1 change: 0 additions & 1 deletion include/configs/km/pg-wcom-ls102xa.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@
/*
* I2C
*/
#define CONFIG_SYS_I2C_INIT_BOARD

#define CONFIG_I2C_MULTI_BUS
#define CONFIG_SYS_I2C_MAX_HOPS 1
Expand Down

0 comments on commit 9244b2f

Please sign in to comment.