diff options
author | Simon Glass <sjg@chromium.org> | 2017-05-17 03:25:04 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-05-22 08:37:10 -0400 |
commit | ab3c4fbe8a4f9357b0cf48bb396f8d8baaea5fe3 (patch) | |
tree | d8e4c0a6b873ad570916ac318aee8b00f2efa478 /drivers/twserial | |
parent | 2c6ebff1e12a6553719356c879e2b41ee8d36af8 (diff) |
Drop three-wire serial (TWS) support
This subsystem has not been converted to driver model, there is only one
driver and only one board that uses it. Drop it and its CONFIG option.
Also drop the rtc4543 RTC driver since it uses TWS.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'drivers/twserial')
-rw-r--r-- | drivers/twserial/Makefile | 8 | ||||
-rw-r--r-- | drivers/twserial/soft_tws.c | 94 |
2 files changed, 0 insertions, 102 deletions
diff --git a/drivers/twserial/Makefile b/drivers/twserial/Makefile deleted file mode 100644 index 7cc7c4de82..0000000000 --- a/drivers/twserial/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# -# (C) Copyright 2009 -# Detlev Zundel, DENX Software Engineering, dzu@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-$(CONFIG_SOFT_TWS) += soft_tws.o diff --git a/drivers/twserial/soft_tws.c b/drivers/twserial/soft_tws.c deleted file mode 100644 index d0bf93d902..0000000000 --- a/drivers/twserial/soft_tws.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * (C) Copyright 2009 - * Detlev Zundel, DENX Software Engineering, dzu@denx.de. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#define TWS_IMPLEMENTATION -#include <common.h> - -/*=====================================================================*/ -/* Public Functions */ -/*=====================================================================*/ - -/*----------------------------------------------------------------------- - * Read bits - */ -int tws_read(uchar *buffer, int len) -{ - int rem = len; - uchar accu, shift; - - debug("tws_read: buffer %p len %d\n", buffer, len); - - /* Configure the data pin for input */ - tws_data_config_output(0); - - /* Disable WR, i.e. setup a read */ - tws_wr(0); - udelay(1); - - /* Rise CE */ - tws_ce(1); - udelay(1); - - for (; rem > 0; ) { - for (shift = 0, accu = 0; - (rem > 0) && (shift < 8); - rem--, shift++) { - tws_clk(1); - udelay(10); - accu |= (tws_data_read() << shift); /* LSB first */ - tws_clk(0); - udelay(10); - } - *buffer++ = accu; - } - - /* Lower CE */ - tws_ce(0); - - return len - rem; -} - - -/*----------------------------------------------------------------------- - * Write bits - */ -int tws_write(uchar *buffer, int len) -{ - int rem = len; - uchar accu, shift; - - debug("tws_write: buffer %p len %d\n", buffer, len); - - /* Configure the data pin for output */ - tws_data_config_output(1); - - /* Enable WR, i.e. setup a write */ - tws_wr(1); - udelay(1); - - /* Rise CE */ - tws_ce(1); - udelay(1); - - for (; rem > 0; ) { - for (shift = 0, accu = *buffer++; - (rem > 0) && (shift < 8); - rem--, shift++) { - tws_data(accu & 0x01); /* LSB first */ - tws_clk(1); - udelay(10); - tws_clk(0); - udelay(10); - accu >>= 1; - } - } - - /* Lower CE */ - tws_ce(0); - - return len - rem; -} |