Re: [U-Boot] [PATCH 01/16] i2c: adi_i2c: remove left-over Blackfin I2C driver

2017-10-26 Thread Heiko Schocher

Hello Masahiro,

Am 26.10.2017 um 14:24 schrieb Masahiro Yamada:

This driver was used by Blackfin boards, but Blackfin support is
gone.  There is no user of this driver.

Signed-off-by: Masahiro Yamada 
---

  drivers/i2c/Makefile  |   1 -
  drivers/i2c/adi_i2c.c | 309 --
  2 files changed, 310 deletions(-)
  delete mode 100644 drivers/i2c/adi_i2c.c


Thanks!

Acked-by: Heiko Schocher 

bye,
Heiko
--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH 01/16] i2c: adi_i2c: remove left-over Blackfin I2C driver

2017-10-26 Thread Masahiro Yamada
This driver was used by Blackfin boards, but Blackfin support is
gone.  There is no user of this driver.

Signed-off-by: Masahiro Yamada 
---

 drivers/i2c/Makefile  |   1 -
 drivers/i2c/adi_i2c.c | 309 --
 2 files changed, 310 deletions(-)
 delete mode 100644 drivers/i2c/adi_i2c.c

diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index e7ade94..121e4e2 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -10,7 +10,6 @@ obj-$(CONFIG_DM_I2C_GPIO) += i2c-gpio.o
 obj-$(CONFIG_$(SPL_)I2C_CROS_EC_TUNNEL) += cros_ec_tunnel.o
 obj-$(CONFIG_$(SPL_)I2C_CROS_EC_LDO) += cros_ec_ldo.o
 
-obj-$(CONFIG_SYS_I2C_ADI) += adi_i2c.o
 obj-$(CONFIG_I2C_MV) += mv_i2c.o
 obj-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
 obj-$(CONFIG_SH_SH7734_I2C) += sh_sh7734_i2c.o
diff --git a/drivers/i2c/adi_i2c.c b/drivers/i2c/adi_i2c.c
deleted file mode 100644
index d340639..000
--- a/drivers/i2c/adi_i2c.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * i2c.c - driver for ADI TWI/I2C
- *
- * Copyright (c) 2006-2014 Analog Devices Inc.
- *
- * Licensed under the GPL-2 or later.
- *
- * NOTE: This driver should be converted to driver model before June 2017.
- * Please see doc/driver-model/i2c-howto.txt for instructions.
- */
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-
-static struct twi_regs *i2c_get_base(struct i2c_adapter *adap);
-
-/* Every register is 32bit aligned, but only 16bits in size */
-#define ureg(name) u16 name; u16 __pad_##name;
-struct twi_regs {
-   ureg(clkdiv);
-   ureg(control);
-   ureg(slave_ctl);
-   ureg(slave_stat);
-   ureg(slave_addr);
-   ureg(master_ctl);
-   ureg(master_stat);
-   ureg(master_addr);
-   ureg(int_stat);
-   ureg(int_mask);
-   ureg(fifo_ctl);
-   ureg(fifo_stat);
-   char __pad[0x50];
-   ureg(xmt_data8);
-   ureg(xmt_data16);
-   ureg(rcv_data8);
-   ureg(rcv_data16);
-};
-#undef ureg
-
-#ifdef TWI_CLKDIV
-#define TWI0_CLKDIV TWI_CLKDIV
-# ifdef CONFIG_SYS_MAX_I2C_BUS
-# undef CONFIG_SYS_MAX_I2C_BUS
-# endif
-#define CONFIG_SYS_MAX_I2C_BUS 1
-#endif
-
-/*
- * The way speed is changed into duty often results in integer truncation
- * with 50% duty, so we'll force rounding up to the next duty by adding 1
- * to the max.  In practice this will get us a speed of something like
- * 385 KHz.  The other limit is easy to handle as it is only 8 bits.
- */
-#define I2C_SPEED_MAX 40
-#define I2C_SPEED_TO_DUTY(speed)  (500 / (speed))
-#define I2C_DUTY_MAX  (I2C_SPEED_TO_DUTY(I2C_SPEED_MAX) + 1)
-#define I2C_DUTY_MIN  0xff /* 8 bit limited */
-#define SYS_I2C_DUTY  I2C_SPEED_TO_DUTY(CONFIG_SYS_I2C_SPEED)
-/* Note: duty is inverse of speed, so the comparisons below are correct */
-#if SYS_I2C_DUTY < I2C_DUTY_MAX || SYS_I2C_DUTY > I2C_DUTY_MIN
-# error "The I2C hardware can only operate 20KHz - 400KHz"
-#endif
-
-/* All transfers are described by this data structure */
-struct adi_i2c_msg {
-   u8 flags;
-#define I2C_M_COMBO0x4
-#define I2C_M_STOP 0x2
-#define I2C_M_READ 0x1
-   int len;/* msg length */
-   u8 *buf;/* pointer to msg data */
-   int alen;   /* addr length */
-   u8 *abuf;   /* addr buffer */
-};
-
-/* Allow msec timeout per ~byte transfer */
-#define I2C_TIMEOUT 10
-
-/**
- * wait_for_completion - manage the actual i2c transfer
- * @msg: the i2c msg
- */
-static int wait_for_completion(struct twi_regs *twi, struct adi_i2c_msg *msg)
-{
-   u16 int_stat, ctl;
-   ulong timebase = get_timer(0);
-
-   do {
-   int_stat = readw(>int_stat);
-
-   if (int_stat & XMTSERV) {
-   writew(XMTSERV, >int_stat);
-   if (msg->alen) {
-   writew(*(msg->abuf++), >xmt_data8);
-   --msg->alen;
-   } else if (!(msg->flags & I2C_M_COMBO) && msg->len) {
-   writew(*(msg->buf++), >xmt_data8);
-   --msg->len;
-   } else {
-   ctl = readw(>master_ctl);
-   if (msg->flags & I2C_M_COMBO)
-   writew(ctl | RSTART | MDIR,
-   >master_ctl);
-   else
-   writew(ctl | STOP, >master_ctl);
-   }
-   }
-   if (int_stat & RCVSERV) {
-   writew(RCVSERV, >int_stat);
-   if (msg->len) {
-   *(msg->buf++) = readw(>rcv_data8);
-   --msg->len;
-   } else if (msg->flags & I2C_M_STOP) {
-