From patchwork Fri Apr 19 07:04:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 243 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 723123F063 for ; Fri, 19 Apr 2019 09:05:08 +0200 (CEST) Received: by mail-pg1-f200.google.com with SMTP id r13sf2904081pga.13 for ; Fri, 19 Apr 2019 00:05:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1555657507; cv=pass; d=google.com; s=arc-20160816; b=FoE6ZvBPU7a7jO4KSRAX7WukxcZimyjM/Lt7hqRklx4vQGk8NfMKg1i1T8J94njcMK 0awdUw/YbFLH3FJ/DnSAWM/r9B+2DIKCniwNSLLIbmZOLEC/qK794Kd+/6PLWq99U5xv lUYX+c56s2mhBQYOWUDAixQ/mRDlfrVWamRGvUlu0aGsHJqEv0U7ejN26ey2SGORm+Ul RRGK3ISUAoZ5rOHJ3sbPR+HvO7XrfH99hNUL/Vba895KI3u6Y2SDIJzg76Q2brpqzpXE /X5N1pXIKasLZw3RwR1WN2C8wtkXAMHOJ4VYrCy7F265s+9CyieZxOMg8ez8k5Tn53/7 zyeQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:message-id:date:subject:cc:to :from:dkim-signature; bh=bME4qEQATStSCyU9IxgkWTw5B9ROdGnJhQfDhQW0wbA=; b=ARBdvY0DSyPjlKYAHNh7tWPXQ5HH/K6zMRD902sWaqGvlRIehP0onRm0HEHmbRqVCV HRLvRm+8t2/eI2Cotf0RDQM3F+ciCMMsYhkly/YGoNJg6xfV/Iw+uwvuZIwTdOnGQ/ME R60vaNSwpUbDCK3BHWaEwCxYK+bfbNlyNuq45lF5eZcg3ScDdsTrplgsutfrlDGe6iYJ d0XMDT//AqUYMG+R0uMC+vKCjGqk4qF2Di9q3ba77r/+INHNHMP7bkucF4GDOo3P1D29 3OGA9ecXTW8+Q6Co6Ghj8bU0Qg2+JjnXe+XD3GTTy0SytNL2NiN+mw7N/HvQgz4m0a6e 6nhQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Pt7XfStU; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-unsubscribe; bh=bME4qEQATStSCyU9IxgkWTw5B9ROdGnJhQfDhQW0wbA=; b=JLALnQ8k4ltRAqT3R5av6caA9SGhQaX7qQGNpssmWEuuNe+OpsROvBRoKNTNQHyj6J penmvGHherAsTHXYhAVAo0dgyXebgOU4v0gFfTUVdQNaJ9bwAP5sYycVCT8HA7OurLHT gVywblZu/4/aS3UVYIF4+hsKnaMBpTsuPeZZQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:x-spam-checked-in-group:list-post:list-help :list-archive:list-unsubscribe; bh=bME4qEQATStSCyU9IxgkWTw5B9ROdGnJhQfDhQW0wbA=; b=pRI2kZCeDkgZavrrBlI2Nc9TZhvojS2QT0Y6t1Cih8n6NpejQu9tVJB/Wh9vD+4QzY UyXDHqDO1mZwsgSXeJjdK8NazZUMEd+N8G4Rcayqgy6BrLngYPpy20QBPTPN4xNxYQyF apusEh6y/VYAftjT7U9Dd3dY/hq0M7b1m49qNlqA1qMbfTsml91ABj547eua3Y2tEthB W0OXtfuaRs7Y0o0o7jqR03aUq/8gbwEuw9fG7yI2iVlYgLY5e4cYhlsGFK7KSfvevv0O kgBf69CPvrOTIsogVrc8hjLXOO14P7lcnGu7EIGyDM/xrD2MhxJAA6g7jcJwBktsDjES mQ2g== X-Gm-Message-State: APjAAAUX7PfT9uzBWC9yYZYafC3YejFfvaPA5BWIrNXOcsBWt4GVYMby xFbA7SX+TRm215hz2sdpXI6DY2+I X-Google-Smtp-Source: APXvYqxxHQxlUQGi8ANqP3sM1x6+USRtNCWe+OMchr2jjUaM9RJB6NaAS7ddTR91sO4QQpk7D57evg== X-Received: by 2002:a62:1b03:: with SMTP id b3mr2257401pfb.150.1555657505876; Fri, 19 Apr 2019 00:05:05 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:988b:: with SMTP id s11ls1284852plp.13.gmail; Fri, 19 Apr 2019 00:05:05 -0700 (PDT) X-Received: by 2002:a17:902:2be8:: with SMTP id l95mr2200332plb.330.1555657505488; Fri, 19 Apr 2019 00:05:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555657505; cv=none; d=google.com; s=arc-20160816; b=Xn813I1NXlmz/RjISUzD1lDA2LYdORTrfuG6IobFtRw+vYDjcgW+4YIF4APQaEnX0y BeIHvMae70f3xBN3TYzfQRDR2QS/tviYLuFuozChpNrIUGabaZOko/5ifUW4PCHRyE4j gEUEfVjMkNTp+btvQg+qw0eZKYLTFE53ZDOWnDlv1Q1McOMobYFQK100jRr9DUzY75kE j2q2mXeuDq3n2JAhLuG1lPFsQ0wYWqaCdIstdD2NIaY1Zp4LOHZGLPDiTZBtCbSEVFgs q1NCIokajQXs/h325Q8wxGu7GC2OaVrpP7UFEuBB7sE7I4IDo1MhwX4EgqYwwNx21xWT LO3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=fQmh1lvIuBunBIQvOfNYeS0Uvd0i31dwX1Kzc8s8jdc=; b=JvNPDED2WnVXSxklBhwvIkgNKoL0Fayt3MDrpuzrvC4GXwbheipcYb/pFfqrqg6p8r 083LR6OkBwEVzAht58vK7a+9gZL9glTrjGvINMJTK10U6b5ZIhoQimmxeguuDetCQFVd jCBrkGXwBXj3AVJgxffjTWEvmIUbkdHROG0GBh1O4aUknj3MQc70AU9HGGvj+Gni9r4a M/rhE8oXV4eKXx8IUmLCLClRWJjq+RQdVrmzoUA5J2Ypj+I2drtfHQpiIspY2sPD9iww 4lKDVJf5uh8JNpHannTgxnXvFHcCBeZADkEYoLqpPYwKXdzl/6mSD0V3xGNHRdwsGcUq EXZg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Pt7XfStU; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id g26sor4834186pfh.20.2019.04.19.00.05.05 for (Google Transport Security); Fri, 19 Apr 2019 00:05:05 -0700 (PDT) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; X-Received: by 2002:aa7:8c56:: with SMTP id e22mr2221982pfd.155.1555657505122; Fri, 19 Apr 2019 00:05:05 -0700 (PDT) Received: from localhost.localdomain ([115.97.185.144]) by smtp.gmail.com with ESMTPSA id w189sm8391932pfw.147.2019.04.19.00.05.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 19 Apr 2019 00:05:04 -0700 (PDT) From: Jagan Teki To: Tom Rini , u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Jagan Teki , Vasily Khoruzhick Subject: [PATCH v3] spi: Zap soft_spi_legacy driver-related code Date: Fri, 19 Apr 2019 12:34:54 +0530 Message-Id: <20190419070454.9136-1-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.18.0.321.gffc6fa0e3 MIME-Version: 1.0 X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Pt7XfStU; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Dropped - soft_spi_legacy driver - CONFIG_SOFT_SPI Dropped due to: - no active updates - no dm conversion - multiple pings for asking dm-conversion - driver-model migration expiry Cc: Vasily Khoruzhick Signed-off-by: Jagan Teki --- Changes for v3: - rebase on master drivers/spi/Kconfig | 12 +-- drivers/spi/Makefile | 1 - drivers/spi/soft_spi_legacy.c | 168 ---------------------------------- include/configs/MPC8349EMDS.h | 3 - include/configs/zipitz2.h | 1 - 5 files changed, 6 insertions(+), 179 deletions(-) delete mode 100644 drivers/spi/soft_spi_legacy.c diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 4095bf5950..8a86878fee 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -213,6 +213,12 @@ config SANDBOX_SPI }; }; +config SOFT_SPI + bool "Soft SPI driver" + help + Enable Soft SPI driver. This driver is to use GPIO simulate + the SPI protocol. + config SPI_SUNXI bool "Allwinner SoC SPI controllers" help @@ -301,12 +307,6 @@ config ZYNQMP_GQSPI endif # if DM_SPI -config SOFT_SPI - bool "Soft SPI driver" - help - Enable Soft SPI driver. This driver is to use GPIO simulate - the SPI protocol. - config MSCC_BB_SPI bool "MSCC bitbang SPI driver" depends on SOC_VCOREIII diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index fd147447fe..be4b4c140d 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -13,7 +13,6 @@ obj-$(CONFIG_TI_QSPI) += ti_qspi.o else obj-y += spi.o obj-$(CONFIG_SPI_MEM) += spi-mem-nodm.o -obj-$(CONFIG_SOFT_SPI) += soft_spi_legacy.o endif obj-$(CONFIG_ALTERA_SPI) += altera_spi.o diff --git a/drivers/spi/soft_spi_legacy.c b/drivers/spi/soft_spi_legacy.c deleted file mode 100644 index cc5ab5f991..0000000000 --- a/drivers/spi/soft_spi_legacy.c +++ /dev/null @@ -1,168 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2002 - * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com. - * - * Influenced by code from: - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - */ - -#include -#include - -#include - -/*----------------------------------------------------------------------- - * Definitions - */ - -#ifdef DEBUG_SPI -#define PRINTD(fmt,args...) printf (fmt ,##args) -#else -#define PRINTD(fmt,args...) -#endif - -struct soft_spi_slave { - struct spi_slave slave; - unsigned int mode; -}; - -static inline struct soft_spi_slave *to_soft_spi(struct spi_slave *slave) -{ - return container_of(slave, struct soft_spi_slave, slave); -} - -/*=====================================================================*/ -/* Public Functions */ -/*=====================================================================*/ - -struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, - unsigned int max_hz, unsigned int mode) -{ - struct soft_spi_slave *ss; - - if (!spi_cs_is_valid(bus, cs)) - return NULL; - - ss = spi_alloc_slave(struct soft_spi_slave, bus, cs); - if (!ss) - return NULL; - - ss->mode = mode; - - /* TODO: Use max_hz to limit the SCK rate */ - - return &ss->slave; -} - -void spi_free_slave(struct spi_slave *slave) -{ - struct soft_spi_slave *ss = to_soft_spi(slave); - - free(ss); -} - -int spi_claim_bus(struct spi_slave *slave) -{ -#ifdef CONFIG_SYS_IMMR - volatile immap_t *immr = (immap_t *)CONFIG_SYS_IMMR; -#endif - struct soft_spi_slave *ss = to_soft_spi(slave); - - /* - * Make sure the SPI clock is in idle state as defined for - * this slave. - */ - if (ss->mode & SPI_CPOL) - SPI_SCL(1); - else - SPI_SCL(0); - - return 0; -} - -void spi_release_bus(struct spi_slave *slave) -{ - /* Nothing to do */ -} - -/*----------------------------------------------------------------------- - * SPI transfer - * - * This writes "bitlen" bits out the SPI MOSI port and simultaneously clocks - * "bitlen" bits in the SPI MISO port. That's just the way SPI works. - * - * The source of the outgoing bits is the "dout" parameter and the - * destination of the input bits is the "din" parameter. Note that "dout" - * and "din" can point to the same memory location, in which case the - * input data overwrites the output data (since both are buffered by - * temporary variables, this is OK). - */ -int spi_xfer(struct spi_slave *slave, unsigned int bitlen, - const void *dout, void *din, unsigned long flags) -{ -#ifdef CONFIG_SYS_IMMR - volatile immap_t *immr = (immap_t *)CONFIG_SYS_IMMR; -#endif - struct soft_spi_slave *ss = to_soft_spi(slave); - uchar tmpdin = 0; - uchar tmpdout = 0; - const u8 *txd = dout; - u8 *rxd = din; - int cpol = ss->mode & SPI_CPOL; - int cpha = ss->mode & SPI_CPHA; - unsigned int j; - - PRINTD("spi_xfer: slave %u:%u dout %08X din %08X bitlen %u\n", - slave->bus, slave->cs, *(uint *)txd, *(uint *)rxd, bitlen); - - if (flags & SPI_XFER_BEGIN) - spi_cs_activate(slave); - - for(j = 0; j < bitlen; j++) { - /* - * Check if it is time to work on a new byte. - */ - if ((j % 8) == 0) { - if (txd) - tmpdout = *txd++; - else - tmpdout = 0; - if(j != 0) { - if (rxd) - *rxd++ = tmpdin; - } - tmpdin = 0; - } - - if (!cpha) - SPI_SCL(!cpol); - SPI_SDA(tmpdout & 0x80); - SPI_DELAY; - if (cpha) - SPI_SCL(!cpol); - else - SPI_SCL(cpol); - tmpdin <<= 1; - tmpdin |= SPI_READ; - tmpdout <<= 1; - SPI_DELAY; - if (cpha) - SPI_SCL(cpol); - } - /* - * If the number of bits isn't a multiple of 8, shift the last - * bits over to left-justify them. Then store the last byte - * read in. - */ - if (rxd) { - if ((bitlen % 8) != 0) - tmpdin <<= 8 - (bitlen % 8); - *rxd++ = tmpdin; - } - - if (flags & SPI_XFER_END) - spi_cs_deactivate(slave); - - return(0); -} diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h index bda477cc16..a54f4ca251 100644 --- a/include/configs/MPC8349EMDS.h +++ b/include/configs/MPC8349EMDS.h @@ -320,9 +320,6 @@ #define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100 #define CONFIG_SYS_I2C_NOPROBES { {0, 0x69} } -/* SPI */ -#undef CONFIG_SOFT_SPI /* SPI bit-banged */ - /* GPIOs. Used as SPI chip selects */ #define CONFIG_SYS_GPIO1_PRELIM #define CONFIG_SYS_GPIO1_DIR 0xC0000000 /* SPI CS on 0, LED on 1 */ diff --git a/include/configs/zipitz2.h b/include/configs/zipitz2.h index 24fea68a11..baf3e6e130 100644 --- a/include/configs/zipitz2.h +++ b/include/configs/zipitz2.h @@ -59,7 +59,6 @@ * SPI and LCD */ #ifdef CONFIG_CMD_SPI -#define CONFIG_SOFT_SPI #define CONFIG_LCD_ROTATION #define CONFIG_PXA_LCD #define CONFIG_LMS283GF05