From patchwork Tue Oct 10 18:59:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tuomas Tynkkynen X-Patchwork-Id: 824026 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pwD3m3/t"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3yBRKw2SZPz9t6M for ; Wed, 11 Oct 2017 06:01:40 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 0C495C21E32; Tue, 10 Oct 2017 19:00:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id AF454C21D95; Tue, 10 Oct 2017 19:00:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C6B7BC21E32; Tue, 10 Oct 2017 19:00:01 +0000 (UTC) Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by lists.denx.de (Postfix) with ESMTPS id 1CA9CC21C8F for ; Tue, 10 Oct 2017 18:59:58 +0000 (UTC) Received: by mail-lf0-f67.google.com with SMTP id j73so11483693lfg.0 for ; Tue, 10 Oct 2017 11:59:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=AH6zURSXp22hstpUvZheYbAYv0WvPZotCcOAl+X8Kd4=; b=pwD3m3/tEJ/YpE+fWqNKCkglJKcO8/bpXZUfwb7Z993yH0QWt8gn/xEtFTLaVktI9T YhSGPBjS82bl5ay6uzmg6675I4GA9muWqmBkV2BccjA3oCHtD198wLmU2UUOt1TIMVzW AZrqC88v9JYWlvQNLNel0z8bkGRMPi6gst0Jkoydm0MD34zx8MjZRMdYEu0QbAo7JF7y 2h9YKkjr578M+GVKbA6SHoDmIPAWIB4AnocuuOMy+As7Z7x+UDjqTTtmYHCSa1m7LW9n xPRl3FDD7nfDmvRj0DjoZ5/11tR95g0bPc4V1oclmgS5luOk35QMPoe6hKr7fuvAeUP/ pjTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=AH6zURSXp22hstpUvZheYbAYv0WvPZotCcOAl+X8Kd4=; b=Eur6mxivFB7zmPFhQKRXA5R2CGO1ZL+MSKrSajgHFP8M/XHGvxGlS+bH2WP20UUlmN fwULL3EgM8kdchG+XddS4zbCNg2aKC7F7IcbBQFY8+yLGime4lv03IhXU5e7D5JUBodp kFbctEhxnIdniBugl+jODFM8aWDKh9HBiUsorepriHIsbMdmr6tAbLRbpNgBcZHledTt TlkFRHBe0oz0albaKw6yt8Cz6SqWT92p8PWnMi5S78QheVY8WlqtYhNXvj5ecwmuVXdt K+cnx0VkydUz9lqjzW3izFpbD19GoDQnXaoS0YXAziy2TAceaspguvg9UTYd3D8OlYlc kgeA== X-Gm-Message-State: AMCzsaUA+0bEn6xowOMWE3wRpX7FmbVqXB9UX05fS8yXolq7fDXvEUu2 0JH24E0F0+MXcfr2zNlGv5qgxg== X-Google-Smtp-Source: AOwi7QBO7N886uJUwnIWnDjKagrGTIOrDvpkHNJ8NZUSBMQjkV3TEkCvCOxHwLAR3EMqKD4P/KOUJw== X-Received: by 10.46.33.163 with SMTP id h35mr6965846lji.152.1507661997292; Tue, 10 Oct 2017 11:59:57 -0700 (PDT) Received: from duuni.pp.htv.fi (dytyyyyyk71bpbhncm94t-3.rev.dnainternet.fi. [2001:14ba:400:0:8dd:42c0:9962:5771]) by smtp.gmail.com with ESMTPSA id m3sm1901426lfe.37.2017.10.10.11.59.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Oct 2017 11:59:56 -0700 (PDT) From: Tuomas Tynkkynen To: u-boot@lists.denx.de Date: Tue, 10 Oct 2017 21:59:41 +0300 Message-Id: <20171010185943.25696-3-tuomas.tynkkynen@iki.fi> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171010185943.25696-1-tuomas.tynkkynen@iki.fi> References: <20171010185943.25696-1-tuomas.tynkkynen@iki.fi> Subject: [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Last user of this option went away in commit: fdc7718999 ("board: usb_a9263: Update to support DT and DM") Signed-off-by: Tuomas Tynkkynen Acked-by: Wenyou Yang --- drivers/spi/Makefile | 1 - drivers/spi/atmel_dataflash_spi.c | 184 -------------------------------------- 2 files changed, 185 deletions(-) delete mode 100644 drivers/spi/atmel_dataflash_spi.c diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile index cd7c7556a7..ad56203cd6 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile @@ -17,7 +17,6 @@ endif obj-$(CONFIG_ALTERA_SPI) += altera_spi.o obj-$(CONFIG_ATH79_SPI) += ath79_spi.o -obj-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o obj-$(CONFIG_ATMEL_SPI) += atmel_spi.o obj-$(CONFIG_CADENCE_QSPI) += cadence_qspi.o cadence_qspi_apb.o obj-$(CONFIG_CF_SPI) += cf_spi.o diff --git a/drivers/spi/atmel_dataflash_spi.c b/drivers/spi/atmel_dataflash_spi.c deleted file mode 100644 index a2e9c00ea6..0000000000 --- a/drivers/spi/atmel_dataflash_spi.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Driver for ATMEL DataFlash support - * Author : Hamid Ikdoumi (Atmel) - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -/* - * This driver desperately needs rework: - * - * - use structure SoC access - * - get rid of including asm/arch/at91_spi.h - * - remove asm/arch/at91_spi.h - * - get rid of all CONFIG_ATMEL_LEGACY defines and uses - * - * 02-Aug-2010 Reinhard Meyer - */ - -#include -#ifndef CONFIG_ATMEL_LEGACY -# define CONFIG_ATMEL_LEGACY -#endif -#include -#include - -#include - -#include -#include - -#include "atmel_spi.h" - -#include -#include -#include - -#include - -#define AT91_SPI_PCS0_DATAFLASH_CARD 0xE /* Chip Select 0: NPCS0%1110 */ -#define AT91_SPI_PCS1_DATAFLASH_CARD 0xD /* Chip Select 1: NPCS1%1101 */ -#define AT91_SPI_PCS2_DATAFLASH_CARD 0xB /* Chip Select 2: NPCS2%1011 */ -#define AT91_SPI_PCS3_DATAFLASH_CARD 0x7 /* Chip Select 3: NPCS3%0111 */ - -void AT91F_SpiInit(void) -{ - /* Reset the SPI */ - writel(AT91_SPI_SWRST, ATMEL_BASE_SPI0 + AT91_SPI_CR); - - /* Configure SPI in Master Mode with No CS selected !!! */ - writel(AT91_SPI_MSTR | AT91_SPI_MODFDIS | AT91_SPI_PCS, - ATMEL_BASE_SPI0 + AT91_SPI_MR); - - /* Configure CS0 */ - writel(AT91_SPI_NCPHA | - (AT91_SPI_DLYBS & DATAFLASH_TCSS) | - (AT91_SPI_DLYBCT & DATAFLASH_TCHS) | - ((get_mck_clk_rate() / AT91_SPI_CLK) << 8), - ATMEL_BASE_SPI0 + AT91_SPI_CSR(0)); - -#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 - /* Configure CS1 */ - writel(AT91_SPI_NCPHA | - (AT91_SPI_DLYBS & DATAFLASH_TCSS) | - (AT91_SPI_DLYBCT & DATAFLASH_TCHS) | - ((get_mck_clk_rate() / AT91_SPI_CLK) << 8), - ATMEL_BASE_SPI0 + AT91_SPI_CSR(1)); -#endif -#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS2 - /* Configure CS2 */ - writel(AT91_SPI_NCPHA | - (AT91_SPI_DLYBS & DATAFLASH_TCSS) | - (AT91_SPI_DLYBCT & DATAFLASH_TCHS) | - ((get_mck_clk_rate() / AT91_SPI_CLK) << 8), - ATMEL_BASE_SPI0 + AT91_SPI_CSR(2)); -#endif -#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3 - /* Configure CS3 */ - writel(AT91_SPI_NCPHA | - (AT91_SPI_DLYBS & DATAFLASH_TCSS) | - (AT91_SPI_DLYBCT & DATAFLASH_TCHS) | - ((get_mck_clk_rate() / AT91_SPI_CLK) << 8), - ATMEL_BASE_SPI0 + AT91_SPI_CSR(3)); -#endif - - /* SPI_Enable */ - writel(AT91_SPI_SPIEN, ATMEL_BASE_SPI0 + AT91_SPI_CR); - - while (!(readl(ATMEL_BASE_SPI0 + AT91_SPI_SR) & AT91_SPI_SPIENS)) - ; - - /* - * Add tempo to get SPI in a safe state. - * Should not be needed for new silicon (Rev B) - */ - udelay(500000); - readl(ATMEL_BASE_SPI0 + AT91_SPI_SR); - readl(ATMEL_BASE_SPI0 + AT91_SPI_RDR); - -} - -void AT91F_SpiEnable(int cs) -{ - unsigned long mode; - - mode = readl(ATMEL_BASE_SPI0 + AT91_SPI_MR); - mode &= ~AT91_SPI_PCS; - - switch (cs) { - case 0: - mode |= AT91_SPI_PCS0_DATAFLASH_CARD << 16; - break; - case 1: - mode |= AT91_SPI_PCS1_DATAFLASH_CARD << 16; - break; - case 2: - mode |= AT91_SPI_PCS2_DATAFLASH_CARD << 16; - break; - case 3: - mode |= AT91_SPI_PCS3_DATAFLASH_CARD << 16; - break; - } - - writel(mode, ATMEL_BASE_SPI0 + AT91_SPI_MR); - - /* SPI_Enable */ - writel(AT91_SPI_SPIEN, ATMEL_BASE_SPI0 + AT91_SPI_CR); -} - -unsigned int AT91F_SpiWrite1(AT91PS_DataflashDesc pDesc); - -unsigned int AT91F_SpiWrite(AT91PS_DataflashDesc pDesc) -{ - unsigned int timeout; - unsigned int timebase; - - pDesc->state = BUSY; - - writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS, - ATMEL_BASE_SPI0 + AT91_SPI_PTCR); - - /* Initialize the Transmit and Receive Pointer */ - writel((unsigned int)pDesc->rx_cmd_pt, - ATMEL_BASE_SPI0 + AT91_SPI_RPR); - writel((unsigned int)pDesc->tx_cmd_pt, - ATMEL_BASE_SPI0 + AT91_SPI_TPR); - - /* Intialize the Transmit and Receive Counters */ - writel(pDesc->rx_cmd_size, ATMEL_BASE_SPI0 + AT91_SPI_RCR); - writel(pDesc->tx_cmd_size, ATMEL_BASE_SPI0 + AT91_SPI_TCR); - - if (pDesc->tx_data_size != 0) { - /* Initialize the Next Transmit and Next Receive Pointer */ - writel((unsigned int)pDesc->rx_data_pt, - ATMEL_BASE_SPI0 + AT91_SPI_RNPR); - writel((unsigned int)pDesc->tx_data_pt, - ATMEL_BASE_SPI0 + AT91_SPI_TNPR); - - /* Intialize the Next Transmit and Next Receive Counters */ - writel(pDesc->rx_data_size, - ATMEL_BASE_SPI0 + AT91_SPI_RNCR); - writel(pDesc->tx_data_size, - ATMEL_BASE_SPI0 + AT91_SPI_TNCR); - } - - /* arm simple, non interrupt dependent timer */ - timebase = get_timer(0); - timeout = 0; - - writel(AT91_SPI_TXTEN + AT91_SPI_RXTEN, - ATMEL_BASE_SPI0 + AT91_SPI_PTCR); - while (!(readl(ATMEL_BASE_SPI0 + AT91_SPI_SR) & AT91_SPI_RXBUFF) && - ((timeout = get_timer(timebase)) < CONFIG_SYS_SPI_WRITE_TOUT)) - ; - writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS, - ATMEL_BASE_SPI0 + AT91_SPI_PTCR); - pDesc->state = IDLE; - - if (timeout >= CONFIG_SYS_SPI_WRITE_TOUT) { - printf("Error Timeout\n\r"); - return DATAFLASH_ERROR; - } - - return DATAFLASH_OK; -}