summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configs/inka4x0_defconfig1
-rw-r--r--drivers/Makefile1
-rw-r--r--drivers/rtc/Makefile1
-rw-r--r--drivers/rtc/rtc4543.c101
-rw-r--r--drivers/twserial/Makefile8
-rw-r--r--drivers/twserial/soft_tws.c94
-rw-r--r--include/configs/inka4x0.h80
-rw-r--r--include/tws.h21
-rw-r--r--scripts/config_whitelist.txt2
9 files changed, 0 insertions, 309 deletions
diff --git a/configs/inka4x0_defconfig b/configs/inka4x0_defconfig
index 174719c367..9b30244e3c 100644
--- a/configs/inka4x0_defconfig
+++ b/configs/inka4x0_defconfig
@@ -8,7 +8,6 @@ CONFIG_CMD_USB=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
CONFIG_CMD_SNTP=y
-CONFIG_CMD_DATE=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_FAT=y
CONFIG_MAC_PARTITION=y
diff --git a/drivers/Makefile b/drivers/Makefile
index 64c39d3a3e..f16d7fdb4f 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -87,7 +87,6 @@ obj-y += spmi/
obj-y += sysreset/
obj-y += timer/
obj-y += tpm/
-obj-y += twserial/
obj-y += video/
obj-y += watchdog/
obj-$(CONFIG_QE) += qe/
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
index 87c3d9cae2..438681da7a 100644
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
@@ -48,7 +48,6 @@ obj-$(CONFIG_RTC_PCF2127) += pcf2127.o
obj-$(CONFIG_RTC_PL031) += pl031.o
obj-$(CONFIG_RTC_PT7C4338) += pt7c4338.o
obj-$(CONFIG_RTC_RS5C372A) += rs5c372.o
-obj-$(CONFIG_RTC_RTC4543) += rtc4543.o
obj-$(CONFIG_RTC_RV3029) += rv3029.o
obj-$(CONFIG_RTC_RX8025) += rx8025.o
obj-$(CONFIG_RTC_S3C24X0) += s3c24x0_rtc.o
diff --git a/drivers/rtc/rtc4543.c b/drivers/rtc/rtc4543.c
deleted file mode 100644
index 8d36edd65a..0000000000
--- a/drivers/rtc/rtc4543.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * (C) Copyright 2008, 2009
- * Andreas Pfefferle, DENX Software Engineering, ap@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#include <asm/io.h>
-#include <common.h>
-#include <command.h>
-#include <config.h>
-#include <rtc.h>
-#include <tws.h>
-
-#if defined(CONFIG_CMD_DATE)
-
-/*
- * Note: The acrobatics below is due to the hideously ingenius idea of
- * the chip designers. As the chip does not allow register
- * addressing, all values need to be read and written in one go. Sure
- * enough, the 'wday' field (0-6) is transferred using the economic
- * number of 4 bits right in the middle of the packet.....
- */
-
-int rtc_get(struct rtc_time *tm)
-{
- int rel = 0;
- uchar buffer[7];
-
- memset(buffer, 0, 7);
-
- /* Read 52 bits into our buffer */
- tws_read(buffer, 52);
-
- tm->tm_sec = bcd2bin( buffer[0] & 0x7F);
- tm->tm_min = bcd2bin( buffer[1] & 0x7F);
- tm->tm_hour = bcd2bin( buffer[2] & 0x3F);
- tm->tm_wday = bcd2bin( buffer[3] & 0x07);
- tm->tm_mday = bcd2bin((buffer[3] & 0xF0) >> 4 | (buffer[4] & 0x0F) << 4);
- tm->tm_mon = bcd2bin((buffer[4] & 0x30) >> 4 | (buffer[5] & 0x0F) << 4);
- tm->tm_year = bcd2bin((buffer[5] & 0xF0) >> 4 | (buffer[6] & 0x0F) << 4) + 2000;
- tm->tm_yday = 0;
- tm->tm_isdst = 0;
-
- if (tm->tm_sec & 0x80) {
- puts("### Warning: RTC Low Voltage - date/time not reliable\n");
- rel = -1;
- }
-
- debug("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
- tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday,
- tm->tm_hour, tm->tm_min, tm->tm_sec);
-
- return rel;
-}
-
-int rtc_set(struct rtc_time *tm)
-{
- uchar buffer[7];
- uchar tmp;
-
- debug("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
- tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday,
- tm->tm_hour, tm->tm_min, tm->tm_sec);
-
- memset(buffer, 0, 7);
- buffer[0] = bin2bcd(tm->tm_sec);
- buffer[1] = bin2bcd(tm->tm_min);
- buffer[2] = bin2bcd(tm->tm_hour);
- buffer[3] = bin2bcd(tm->tm_wday);
- tmp = bin2bcd(tm->tm_mday);
- buffer[3] |= (tmp & 0x0F) << 4;
- buffer[4] = (tmp & 0xF0) >> 4;
- tmp = bin2bcd(tm->tm_mon);
- buffer[4] |= (tmp & 0x0F) << 4;
- buffer[5] = (tmp & 0xF0) >> 4;
- tmp = bin2bcd(tm->tm_year % 100);
- buffer[5] |= (tmp & 0x0F) << 4;
- buffer[6] = (tmp & 0xF0) >> 4;
-
- /* Write the resulting 52 bits to device */
- tws_write(buffer, 52);
-
- return 0;
-}
-
-void rtc_reset(void)
-{
- struct rtc_time tmp;
-
- tmp.tm_sec = 0;
- tmp.tm_min = 0;
- tmp.tm_hour = 0;
- tmp.tm_wday = 4;
- tmp.tm_mday = 1;
- tmp.tm_mon = 1;
- tmp.tm_year = 2000;
- rtc_set(&tmp);
-}
-
-#endif
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;
-}
diff --git a/include/configs/inka4x0.h b/include/configs/inka4x0.h
index 5ee9c2bcb4..3bdab3310b 100644
--- a/include/configs/inka4x0.h
+++ b/include/configs/inka4x0.h
@@ -219,86 +219,6 @@
#define CONFIG_SYS_GPS_PORT_CONFIG 0x01501444
/*
- * RTC configuration
- */
-#define CONFIG_RTC_RTC4543 1 /* use external RTC */
-
-/*
- * Software (bit-bang) three wire serial configuration
- *
- * Note that we need the ifdefs because otherwise compilation of
- * mkimage.c fails.
- */
-#define CONFIG_SOFT_TWS 1
-
-#ifdef TWS_IMPLEMENTATION
-#include <mpc5xxx.h>
-#include <asm/io.h>
-
-#define TWS_CE MPC5XXX_GPIO_WKUP_PSC1_4 /* GPIO_WKUP_0 */
-#define TWS_WR MPC5XXX_GPIO_WKUP_PSC2_4 /* GPIO_WKUP_1 */
-#define TWS_DATA MPC5XXX_GPIO_SINT_PSC3_4 /* GPIO_SINT_0 */
-#define TWS_CLK MPC5XXX_GPIO_SINT_PSC3_5 /* GPIO_SINT_1 */
-
-static inline void tws_ce(unsigned bit)
-{
- struct mpc5xxx_wu_gpio *wu_gpio =
- (struct mpc5xxx_wu_gpio *)MPC5XXX_WU_GPIO;
- if (bit)
- setbits_8(&wu_gpio->dvo, TWS_CE);
- else
- clrbits_8(&wu_gpio->dvo, TWS_CE);
-}
-
-static inline void tws_wr(unsigned bit)
-{
- struct mpc5xxx_wu_gpio *wu_gpio =
- (struct mpc5xxx_wu_gpio *)MPC5XXX_WU_GPIO;
- if (bit)
- setbits_8(&wu_gpio->dvo, TWS_WR);
- else
- clrbits_8(&wu_gpio->dvo, TWS_WR);
-}
-
-static inline void tws_clk(unsigned bit)
-{
- struct mpc5xxx_gpio *gpio =
- (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
- if (bit)
- setbits_8(&gpio->sint_dvo, TWS_CLK);
- else
- clrbits_8(&gpio->sint_dvo, TWS_CLK);
-}
-
-static inline void tws_data(unsigned bit)
-{
- struct mpc5xxx_gpio *gpio =
- (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
- if (bit)
- setbits_8(&gpio->sint_dvo, TWS_DATA);
- else
- clrbits_8(&gpio->sint_dvo, TWS_DATA);
-}
-
-static inline unsigned tws_data_read(void)
-{
- struct mpc5xxx_gpio *gpio =
- (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
- return !!(in_8(&gpio->sint_ival) & TWS_DATA);
-}
-
-static inline void tws_data_config_output(unsigned output)
-{
- struct mpc5xxx_gpio *gpio =
- (struct mpc5xxx_gpio *)MPC5XXX_GPIO;
- if (output)
- setbits_8(&gpio->sint_ddr, TWS_DATA);
- else
- clrbits_8(&gpio->sint_ddr, TWS_DATA);
-}
-#endif /* TWS_IMPLEMENTATION */
-
-/*
* Miscellaneous configurable options
*/
#define CONFIG_SYS_LONGHELP /* undef to save memory */
diff --git a/include/tws.h b/include/tws.h
deleted file mode 100644
index 7dd5268125..0000000000
--- a/include/tws.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * (C) Copyright 2009
- * Detlev Zundel, DENX Software Engineering, dzu@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#ifndef _TWS_H_
-#define _TWS_H_
-
-/*
- * Read/Write interface:
- * buffer: Where to read/write the data
- * len: How many bits to read/write
- *
- * Returns: 0 on success, not 0 on failure
- */
-int tws_read(uchar *buffer, int len);
-int tws_write(uchar *buffer, int len);
-
-#endif /* _TWS_H_ */
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index da5aa39d32..93a4753732 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -2346,7 +2346,6 @@ CONFIG_RTC_MV
CONFIG_RTC_MXS
CONFIG_RTC_PCF8563
CONFIG_RTC_PT7C4338
-CONFIG_RTC_RTC4543
CONFIG_RTC_RV3029
CONFIG_RTC_RX8025
CONFIG_RTC_X1205
@@ -2579,7 +2578,6 @@ CONFIG_SOFT_I2C_GPIO_SCL
CONFIG_SOFT_I2C_GPIO_SDA
CONFIG_SOFT_I2C_READ_REPEATED_START
CONFIG_SOFT_SPI
-CONFIG_SOFT_TWS
CONFIG_SOURCE
CONFIG_SPARSE_RCU_POINTER
CONFIG_SPDDRAM_SILENT