* [PATCH 1/7] at91rm9200: emac move register header to drivers
@ 2011-07-14 23:51 Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 2/7] at91/i2c: " Jean-Christophe PLAGNIOL-VILLARD
` (5 more replies)
0 siblings, 6 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:51 UTC (permalink / raw)
To: linux-arm-kernel
move from mach-at91/include/mach/at91rm9200_emac.h to drivers/net/arm/at91_ether.h
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: netdev at vger.kernel.org
---
drivers/net/arm/at91_ether.c | 1 -
.../net/arm/at91_ether.h | 112 ++++++++++++++++++--
2 files changed, 101 insertions(+), 12 deletions(-)
rename arch/arm/mach-at91/include/mach/at91rm9200_emac.h => drivers/net/arm/at91_ether.h (65%)
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index e07b314..8f0b212 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -33,7 +33,6 @@
#include <asm/uaccess.h>
#include <asm/mach-types.h>
-#include <mach/at91rm9200_emac.h>
#include <mach/gpio.h>
#include <mach/board.h>
diff --git a/arch/arm/mach-at91/include/mach/at91rm9200_emac.h b/drivers/net/arm/at91_ether.h
similarity index 65%
rename from arch/arm/mach-at91/include/mach/at91rm9200_emac.h
rename to drivers/net/arm/at91_ether.h
index b8260cd..58aed66 100644
--- a/arch/arm/mach-at91/include/mach/at91rm9200_emac.h
+++ b/drivers/net/arm/at91_ether.h
@@ -1,21 +1,21 @@
/*
- * arch/arm/mach-at91/include/mach/at91rm9200_emac.h
+ * Ethernet driver for the Atmel AT91RM9200 (Thunder)
*
- * Copyright (C) 2005 Ivan Kokshaysky
- * Copyright (C) SAN People
+ * Copyright (C) SAN People (Pty) Ltd
*
- * Ethernet MAC registers.
- * Based on AT91RM9200 datasheet revision E.
+ * Based on an earlier Atmel EMAC macrocell driver by Atmel and Lineo Inc.
+ * Initial version by Rick Bronson.
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
*/
-#ifndef AT91RM9200_EMAC_H
-#define AT91RM9200_EMAC_H
+#ifndef AT91_ETHERNET
+#define AT91_ETHERNET
+/* registers */
#define AT91_EMAC_CTL 0x00 /* Control Register */
#define AT91_EMAC_LB (1 << 0) /* Loopback */
#define AT91_EMAC_LBL (1 << 1) /* Loopback Local */
@@ -135,4 +135,94 @@
#define AT91_EMAC_SA4L 0xb0 /* Specific Address 4 Low, bytes 0-3 */
#define AT91_EMAC_SA4H 0xb4 /* Specific Address 4 High, bytes 4-5 */
+/* Davicom 9161 PHY */
+#define MII_DM9161_ID 0x0181b880
+#define MII_DM9161A_ID 0x0181b8a0
+#define MII_DSCR_REG 16
+#define MII_DSCSR_REG 17
+#define MII_DSINTR_REG 21
+
+/* Intel LXT971A PHY */
+#define MII_LXT971A_ID 0x001378E0
+#define MII_ISINTE_REG 18
+#define MII_ISINTS_REG 19
+#define MII_LEDCTRL_REG 20
+
+/* Realtek RTL8201 PHY */
+#define MII_RTL8201_ID 0x00008200
+
+/* Broadcom BCM5221 PHY */
+#define MII_BCM5221_ID 0x004061e0
+#define MII_BCMINTR_REG 26
+
+/* National Semiconductor DP83847 */
+#define MII_DP83847_ID 0x20005c30
+
+/* National Semiconductor DP83848 */
+#define MII_DP83848_ID 0x20005c90
+#define MII_DPPHYSTS_REG 16
+#define MII_DPMICR_REG 17
+#define MII_DPMISR_REG 18
+
+/* Altima AC101L PHY */
+#define MII_AC101L_ID 0x00225520
+
+/* Micrel KS8721 PHY */
+#define MII_KS8721_ID 0x00221610
+
+/* Teridian 78Q2123/78Q2133 */
+#define MII_T78Q21x3_ID 0x000e7230
+#define MII_T78Q21INT_REG 17
+
+/* SMSC LAN83C185 */
+#define MII_LAN83C185_ID 0x0007C0A0
+
+/* ........................................................................ */
+
+#define MAX_RBUFF_SZ 0x600 /* 1518 rounded up */
+#define MAX_RX_DESCR 9 /* max number of receive buffers */
+
+#define EMAC_DESC_DONE 0x00000001 /* bit for if DMA is done */
+#define EMAC_DESC_WRAP 0x00000002 /* bit for wrap */
+
+#define EMAC_BROADCAST 0x80000000 /* broadcast address */
+#define EMAC_MULTICAST 0x40000000 /* multicast address */
+#define EMAC_UNICAST 0x20000000 /* unicast address */
+
+struct rbf_t
+{
+ unsigned int addr;
+ unsigned long size;
+};
+
+struct recv_desc_bufs
+{
+ struct rbf_t descriptors[MAX_RX_DESCR]; /* must be on sizeof (rbf_t) boundary */
+ char recv_buf[MAX_RX_DESCR][MAX_RBUFF_SZ]; /* must be on long boundary */
+};
+
+struct at91_private
+{
+ struct mii_if_info mii; /* ethtool support */
+ struct at91_eth_data board_data; /* board-specific configuration */
+ struct clk *ether_clk; /* clock */
+
+ /* PHY */
+ unsigned long phy_type; /* type of PHY (PHY_ID) */
+ spinlock_t lock; /* lock for MDI interface */
+ short phy_media; /* media interface type */
+ unsigned short phy_address; /* 5-bit MDI address of PHY (0..31) */
+ struct timer_list check_timer; /* Poll link status */
+
+ /* Transmit */
+ struct sk_buff *skb; /* holds skb until xmit interrupt completes */
+ dma_addr_t skb_physaddr; /* phys addr from pci_map_single */
+ int skb_length; /* saved skb length for pci_unmap_single */
+
+ /* Receive */
+ int rxBuffIndex; /* index into receive descriptor list */
+ struct recv_desc_bufs *dlist; /* descriptor list address */
+ struct recv_desc_bufs *dlist_phys; /* descriptor list physical address */
+};
+
#endif
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 2/7] at91/i2c: move register header to drivers
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-14 23:52 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 7:23 ` Jean Delvare
2011-07-14 23:52 ` [PATCH 3/7] at91_mci: " Jean-Christophe PLAGNIOL-VILLARD
` (4 subsequent siblings)
5 siblings, 1 reply; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:52 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: linux-i2c at vger.kernel.org
---
drivers/i2c/busses/i2c-at91.c | 3 ++-
.../at91_twi.h => drivers/i2c/busses/i2c-at91.h | 7 +++----
2 files changed, 5 insertions(+), 5 deletions(-)
rename arch/arm/mach-at91/include/mach/at91_twi.h => drivers/i2c/busses/i2c-at91.h (97%)
diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 305c075..7402fed 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -25,10 +25,11 @@
#include <linux/platform_device.h>
#include <linux/io.h>
-#include <mach/at91_twi.h>
#include <mach/board.h>
#include <mach/cpu.h>
+#include "i2c_at91.h"
+
#define TWI_CLOCK 100000 /* Hz. max 400 Kbits/sec */
diff --git a/arch/arm/mach-at91/include/mach/at91_twi.h b/drivers/i2c/busses/i2c-at91.h
similarity index 97%
rename from arch/arm/mach-at91/include/mach/at91_twi.h
rename to drivers/i2c/busses/i2c-at91.h
index bb2880f..0f33ec7 100644
--- a/arch/arm/mach-at91/include/mach/at91_twi.h
+++ b/drivers/i2c/busses/i2c-at91.h
@@ -1,5 +1,5 @@
/*
- * arch/arm/mach-at91/include/mach/at91_twi.h
+ * drivers/i2c/busses/i2c-at91.h
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
@@ -13,8 +13,8 @@
* (at your option) any later version.
*/
-#ifndef AT91_TWI_H
-#define AT91_TWI_H
+#ifndef I2C_AT91_H
+#define I2C_AT91_H
#define AT91_TWI_CR 0x00 /* Control Register */
#define AT91_TWI_START (1 << 0) /* Send a Start Condition */
@@ -65,4 +65,3 @@
#define AT91_TWI_THR 0x34 /* Transmit Holding Register */
#endif
-
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 3/7] at91_mci: move register header to drivers
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 2/7] at91/i2c: " Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-14 23:52 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 4/7] at91: remove non used at91_spi.h Jean-Christophe PLAGNIOL-VILLARD
` (3 subsequent siblings)
5 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:52 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: linux-mmc at vger.kernel.org
---
drivers/mmc/host/at91_mci.c | 3 ++-
.../include/mach => drivers/mmc/host}/at91_mci.h | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
rename {arch/arm/mach-at91/include/mach => drivers/mmc/host}/at91_mci.h (99%)
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index d3e6a96..a4aa3af 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -77,7 +77,8 @@
#include <mach/board.h>
#include <mach/cpu.h>
-#include <mach/at91_mci.h>
+
+#include "at91_mci.h"
#define DRIVER_NAME "at91_mci"
diff --git a/arch/arm/mach-at91/include/mach/at91_mci.h b/drivers/mmc/host/at91_mci.h
similarity index 99%
rename from arch/arm/mach-at91/include/mach/at91_mci.h
rename to drivers/mmc/host/at91_mci.h
index 02182c1..eec3a6b 100644
--- a/arch/arm/mach-at91/include/mach/at91_mci.h
+++ b/drivers/mmc/host/at91_mci.h
@@ -1,5 +1,5 @@
/*
- * arch/arm/mach-at91/include/mach/at91_mci.h
+ * drivers/mmc/host/at91_mci.h
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 2/7] at91/i2c: " Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 3/7] at91_mci: " Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-14 23:52 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 11:47 ` Detlef Vollmann
2011-07-14 23:52 ` [PATCH 5/7] at91: remove non used at91_ssc.h Jean-Christophe PLAGNIOL-VILLARD
` (2 subsequent siblings)
5 siblings, 1 reply; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:52 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
---
arch/arm/mach-at91/include/mach/at91_spi.h | 81 ----------------------------
1 files changed, 0 insertions(+), 81 deletions(-)
delete mode 100644 arch/arm/mach-at91/include/mach/at91_spi.h
diff --git a/arch/arm/mach-at91/include/mach/at91_spi.h b/arch/arm/mach-at91/include/mach/at91_spi.h
deleted file mode 100644
index 2f6ba0c..0000000
--- a/arch/arm/mach-at91/include/mach/at91_spi.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * arch/arm/mach-at91/include/mach/at91_spi.h
- *
- * Copyright (C) 2005 Ivan Kokshaysky
- * Copyright (C) SAN People
- *
- * Serial Peripheral Interface (SPI) registers.
- * Based on AT91RM9200 datasheet revision E.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef AT91_SPI_H
-#define AT91_SPI_H
-
-#define AT91_SPI_CR 0x00 /* Control Register */
-#define AT91_SPI_SPIEN (1 << 0) /* SPI Enable */
-#define AT91_SPI_SPIDIS (1 << 1) /* SPI Disable */
-#define AT91_SPI_SWRST (1 << 7) /* SPI Software Reset */
-#define AT91_SPI_LASTXFER (1 << 24) /* Last Transfer [SAM9261 only] */
-
-#define AT91_SPI_MR 0x04 /* Mode Register */
-#define AT91_SPI_MSTR (1 << 0) /* Master/Slave Mode */
-#define AT91_SPI_PS (1 << 1) /* Peripheral Select */
-#define AT91_SPI_PS_FIXED (0 << 1)
-#define AT91_SPI_PS_VARIABLE (1 << 1)
-#define AT91_SPI_PCSDEC (1 << 2) /* Chip Select Decode */
-#define AT91_SPI_DIV32 (1 << 3) /* Clock Selection [AT91RM9200 only] */
-#define AT91_SPI_MODFDIS (1 << 4) /* Mode Fault Detection */
-#define AT91_SPI_LLB (1 << 7) /* Local Loopback Enable */
-#define AT91_SPI_PCS (0xf << 16) /* Peripheral Chip Select */
-#define AT91_SPI_DLYBCS (0xff << 24) /* Delay Between Chip Selects */
-
-#define AT91_SPI_RDR 0x08 /* Receive Data Register */
-#define AT91_SPI_RD (0xffff << 0) /* Receive Data */
-#define AT91_SPI_PCS (0xf << 16) /* Peripheral Chip Select */
-
-#define AT91_SPI_TDR 0x0c /* Transmit Data Register */
-#define AT91_SPI_TD (0xffff << 0) /* Transmit Data */
-#define AT91_SPI_PCS (0xf << 16) /* Peripheral Chip Select */
-#define AT91_SPI_LASTXFER (1 << 24) /* Last Transfer [SAM9261 only] */
-
-#define AT91_SPI_SR 0x10 /* Status Register */
-#define AT91_SPI_RDRF (1 << 0) /* Receive Data Register Full */
-#define AT91_SPI_TDRE (1 << 1) /* Transmit Data Register Full */
-#define AT91_SPI_MODF (1 << 2) /* Mode Fault Error */
-#define AT91_SPI_OVRES (1 << 3) /* Overrun Error Status */
-#define AT91_SPI_ENDRX (1 << 4) /* End of RX buffer */
-#define AT91_SPI_ENDTX (1 << 5) /* End of TX buffer */
-#define AT91_SPI_RXBUFF (1 << 6) /* RX Buffer Full */
-#define AT91_SPI_TXBUFE (1 << 7) /* TX Buffer Empty */
-#define AT91_SPI_NSSR (1 << 8) /* NSS Rising [SAM9261 only] */
-#define AT91_SPI_TXEMPTY (1 << 9) /* Transmission Register Empty [SAM9261 only] */
-#define AT91_SPI_SPIENS (1 << 16) /* SPI Enable Status */
-
-#define AT91_SPI_IER 0x14 /* Interrupt Enable Register */
-#define AT91_SPI_IDR 0x18 /* Interrupt Disable Register */
-#define AT91_SPI_IMR 0x1c /* Interrupt Mask Register */
-
-#define AT91_SPI_CSR(n) (0x30 + ((n) * 4)) /* Chip Select Registers 0-3 */
-#define AT91_SPI_CPOL (1 << 0) /* Clock Polarity */
-#define AT91_SPI_NCPHA (1 << 1) /* Clock Phase */
-#define AT91_SPI_CSAAT (1 << 3) /* Chip Select Active After Transfer [SAM9261 only] */
-#define AT91_SPI_BITS (0xf << 4) /* Bits Per Transfer */
-#define AT91_SPI_BITS_8 (0 << 4)
-#define AT91_SPI_BITS_9 (1 << 4)
-#define AT91_SPI_BITS_10 (2 << 4)
-#define AT91_SPI_BITS_11 (3 << 4)
-#define AT91_SPI_BITS_12 (4 << 4)
-#define AT91_SPI_BITS_13 (5 << 4)
-#define AT91_SPI_BITS_14 (6 << 4)
-#define AT91_SPI_BITS_15 (7 << 4)
-#define AT91_SPI_BITS_16 (8 << 4)
-#define AT91_SPI_SCBR (0xff << 8) /* Serial Clock Baud Rate */
-#define AT91_SPI_DLYBS (0xff << 16) /* Delay before SPCK */
-#define AT91_SPI_DLYBCT (0xff << 24) /* Delay between Consecutive Transfers */
-
-#endif
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 5/7] at91: remove non used at91_ssc.h
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
` (2 preceding siblings ...)
2011-07-14 23:52 ` [PATCH 4/7] at91: remove non used at91_spi.h Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-14 23:52 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 6/7] at91rm9200/rtc: move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 7/7] at91sam9/wdt: " Jean-Christophe PLAGNIOL-VILLARD
5 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:52 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
---
arch/arm/mach-at91/include/mach/at91_ssc.h | 106 ----------------------------
1 files changed, 0 insertions(+), 106 deletions(-)
delete mode 100644 arch/arm/mach-at91/include/mach/at91_ssc.h
diff --git a/arch/arm/mach-at91/include/mach/at91_ssc.h b/arch/arm/mach-at91/include/mach/at91_ssc.h
deleted file mode 100644
index a81114c..0000000
--- a/arch/arm/mach-at91/include/mach/at91_ssc.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * arch/arm/mach-at91/include/mach/at91_ssc.h
- *
- * Copyright (C) SAN People
- *
- * Serial Synchronous Controller (SSC) registers.
- * Based on AT91RM9200 datasheet revision E.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef AT91_SSC_H
-#define AT91_SSC_H
-
-#define AT91_SSC_CR 0x00 /* Control Register */
-#define AT91_SSC_RXEN (1 << 0) /* Receive Enable */
-#define AT91_SSC_RXDIS (1 << 1) /* Receive Disable */
-#define AT91_SSC_TXEN (1 << 8) /* Transmit Enable */
-#define AT91_SSC_TXDIS (1 << 9) /* Transmit Disable */
-#define AT91_SSC_SWRST (1 << 15) /* Software Reset */
-
-#define AT91_SSC_CMR 0x04 /* Clock Mode Register */
-#define AT91_SSC_CMR_DIV (0xfff << 0) /* Clock Divider */
-
-#define AT91_SSC_RCMR 0x10 /* Receive Clock Mode Register */
-#define AT91_SSC_CKS (3 << 0) /* Clock Selection */
-#define AT91_SSC_CKS_DIV (0 << 0)
-#define AT91_SSC_CKS_CLOCK (1 << 0)
-#define AT91_SSC_CKS_PIN (2 << 0)
-#define AT91_SSC_CKO (7 << 2) /* Clock Output Mode Selection */
-#define AT91_SSC_CKO_NONE (0 << 2)
-#define AT91_SSC_CKO_CONTINUOUS (1 << 2)
-#define AT91_SSC_CKI (1 << 5) /* Clock Inversion */
-#define AT91_SSC_CKI_FALLING (0 << 5)
-#define AT91_SSC_CK_RISING (1 << 5)
-#define AT91_SSC_CKG (1 << 6) /* Receive Clock Gating Selection [AT91SAM9261 only] */
-#define AT91_SSC_CKG_NONE (0 << 6)
-#define AT91_SSC_CKG_RFLOW (1 << 6)
-#define AT91_SSC_CKG_RFHIGH (2 << 6)
-#define AT91_SSC_START (0xf << 8) /* Start Selection */
-#define AT91_SSC_START_CONTINUOUS (0 << 8)
-#define AT91_SSC_START_TX_RX (1 << 8)
-#define AT91_SSC_START_LOW_RF (2 << 8)
-#define AT91_SSC_START_HIGH_RF (3 << 8)
-#define AT91_SSC_START_FALLING_RF (4 << 8)
-#define AT91_SSC_START_RISING_RF (5 << 8)
-#define AT91_SSC_START_LEVEL_RF (6 << 8)
-#define AT91_SSC_START_EDGE_RF (7 << 8)
-#define AT91_SSC_STOP (1 << 12) /* Receive Stop Selection [AT91SAM9261 only] */
-#define AT91_SSC_STTDLY (0xff << 16) /* Start Delay */
-#define AT91_SSC_PERIOD (0xff << 24) /* Period Divider Selection */
-
-#define AT91_SSC_RFMR 0x14 /* Receive Frame Mode Register */
-#define AT91_SSC_DATALEN (0x1f << 0) /* Data Length */
-#define AT91_SSC_LOOP (1 << 5) /* Loop Mode */
-#define AT91_SSC_MSBF (1 << 7) /* Most Significant Bit First */
-#define AT91_SSC_DATNB (0xf << 8) /* Data Number per Frame */
-#define AT91_SSC_FSLEN (0xf << 16) /* Frame Sync Length */
-#define AT91_SSC_FSOS (7 << 20) /* Frame Sync Output Selection */
-#define AT91_SSC_FSOS_NONE (0 << 20)
-#define AT91_SSC_FSOS_NEGATIVE (1 << 20)
-#define AT91_SSC_FSOS_POSITIVE (2 << 20)
-#define AT91_SSC_FSOS_LOW (3 << 20)
-#define AT91_SSC_FSOS_HIGH (4 << 20)
-#define AT91_SSC_FSOS_TOGGLE (5 << 20)
-#define AT91_SSC_FSEDGE (1 << 24) /* Frame Sync Edge Detection */
-#define AT91_SSC_FSEDGE_POSITIVE (0 << 24)
-#define AT91_SSC_FSEDGE_NEGATIVE (1 << 24)
-
-#define AT91_SSC_TCMR 0x18 /* Transmit Clock Mode Register */
-#define AT91_SSC_TFMR 0x1c /* Transmit Fram Mode Register */
-#define AT91_SSC_DATDEF (1 << 5) /* Data Default Value */
-#define AT91_SSC_FSDEN (1 << 23) /* Frame Sync Data Enable */
-
-#define AT91_SSC_RHR 0x20 /* Receive Holding Register */
-#define AT91_SSC_THR 0x24 /* Transmit Holding Register */
-#define AT91_SSC_RSHR 0x30 /* Receive Sync Holding Register */
-#define AT91_SSC_TSHR 0x34 /* Transmit Sync Holding Register */
-
-#define AT91_SSC_RC0R 0x38 /* Receive Compare 0 Register [AT91SAM9261 only] */
-#define AT91_SSC_RC1R 0x3c /* Receive Compare 1 Register [AT91SAM9261 only] */
-
-#define AT91_SSC_SR 0x40 /* Status Register */
-#define AT91_SSC_TXRDY (1 << 0) /* Transmit Ready */
-#define AT91_SSC_TXEMPTY (1 << 1) /* Transmit Empty */
-#define AT91_SSC_ENDTX (1 << 2) /* End of Transmission */
-#define AT91_SSC_TXBUFE (1 << 3) /* Transmit Buffer Empty */
-#define AT91_SSC_RXRDY (1 << 4) /* Receive Ready */
-#define AT91_SSC_OVRUN (1 << 5) /* Receive Overrun */
-#define AT91_SSC_ENDRX (1 << 6) /* End of Reception */
-#define AT91_SSC_RXBUFF (1 << 7) /* Receive Buffer Full */
-#define AT91_SSC_CP0 (1 << 8) /* Compare 0 [AT91SAM9261 only] */
-#define AT91_SSC_CP1 (1 << 9) /* Compare 1 [AT91SAM9261 only] */
-#define AT91_SSC_TXSYN (1 << 10) /* Transmit Sync */
-#define AT91_SSC_RXSYN (1 << 11) /* Receive Sync */
-#define AT91_SSC_TXENA (1 << 16) /* Transmit Enable */
-#define AT91_SSC_RXENA (1 << 17) /* Receive Enable */
-
-#define AT91_SSC_IER 0x44 /* Interrupt Enable Register */
-#define AT91_SSC_IDR 0x48 /* Interrupt Disable Register */
-#define AT91_SSC_IMR 0x4c /* Interrupt Mask Register */
-
-#endif
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 6/7] at91rm9200/rtc: move register header to drivers
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
` (3 preceding siblings ...)
2011-07-14 23:52 ` [PATCH 5/7] at91: remove non used at91_ssc.h Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-14 23:52 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 7/7] at91sam9/wdt: " Jean-Christophe PLAGNIOL-VILLARD
5 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:52 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: rtc-linux at googlegroups.com
---
drivers/rtc/rtc-at91rm9200.c | 2 +-
.../at91_rtc.h => drivers/rtc/rtc-at91rm9200.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename arch/arm/mach-at91/include/mach/at91_rtc.h => drivers/rtc/rtc-at91rm9200.h (98%)
diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
index e39b77a..b916bd3 100644
--- a/drivers/rtc/rtc-at91rm9200.c
+++ b/drivers/rtc/rtc-at91rm9200.c
@@ -30,7 +30,7 @@
#include <asm/uaccess.h>
-#include <mach/at91_rtc.h>
+#include "rtc-at91rm9200.h"
#define AT91_RTC_EPOCH 1900UL /* just like arch/arm/common/rtctime.c */
diff --git a/arch/arm/mach-at91/include/mach/at91_rtc.h b/drivers/rtc/rtc-at91rm9200.h
similarity index 98%
rename from arch/arm/mach-at91/include/mach/at91_rtc.h
rename to drivers/rtc/rtc-at91rm9200.h
index e56f470..cb2f7c6 100644
--- a/arch/arm/mach-at91/include/mach/at91_rtc.h
+++ b/drivers/rtc/rtc-at91rm9200.h
@@ -1,5 +1,5 @@
/*
- * arch/arm/mach-at91/include/mach/at91_rtc.h
+ * drivers/rtc/rtc-at91rm9200.h
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 7/7] at91sam9/wdt: move register header to drivers
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
` (4 preceding siblings ...)
2011-07-14 23:52 ` [PATCH 6/7] at91rm9200/rtc: move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-14 23:52 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 11:04 ` Wim Van Sebroeck
2011-07-22 18:28 ` Wim Van Sebroeck
5 siblings, 2 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-14 23:52 UTC (permalink / raw)
To: linux-arm-kernel
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: linux-watchdog at vger.kernel.org
---
drivers/watchdog/at91sam9_wdt.c | 2 +-
.../at91_wdt.h => drivers/watchdog/at91sam9_wdt.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename arch/arm/mach-at91/include/mach/at91_wdt.h => drivers/watchdog/at91sam9_wdt.h (96%)
diff --git a/drivers/watchdog/at91sam9_wdt.c b/drivers/watchdog/at91sam9_wdt.c
index eac2602..98ee810 100644
--- a/drivers/watchdog/at91sam9_wdt.c
+++ b/drivers/watchdog/at91sam9_wdt.c
@@ -31,7 +31,7 @@
#include <linux/bitops.h>
#include <linux/uaccess.h>
-#include <mach/at91_wdt.h>
+#include "at91sam9_wdt.h"
#define DRV_NAME "AT91SAM9 Watchdog"
diff --git a/arch/arm/mach-at91/include/mach/at91_wdt.h b/drivers/watchdog/at91sam9_wdt.h
similarity index 96%
rename from arch/arm/mach-at91/include/mach/at91_wdt.h
rename to drivers/watchdog/at91sam9_wdt.h
index fecc2e9..757f9ca 100644
--- a/arch/arm/mach-at91/include/mach/at91_wdt.h
+++ b/drivers/watchdog/at91sam9_wdt.h
@@ -1,5 +1,5 @@
/*
- * arch/arm/mach-at91/include/mach/at91_wdt.h
+ * drivers/watchdog/at91sam9_wdt.h
*
* Copyright (C) 2007 Andrew Victor
* Copyright (C) 2007 Atmel Corporation.
--
1.7.5.4
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 2/7] at91/i2c: move register header to drivers
2011-07-14 23:52 ` [PATCH 2/7] at91/i2c: " Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-15 7:23 ` Jean Delvare
2011-07-15 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 21+ messages in thread
From: Jean Delvare @ 2011-07-15 7:23 UTC (permalink / raw)
To: linux-arm-kernel
Hi Jean-Christophe,
On Fri, 15 Jul 2011 01:52:00 +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: linux-i2c at vger.kernel.org
> ---
> drivers/i2c/busses/i2c-at91.c | 3 ++-
> .../at91_twi.h => drivers/i2c/busses/i2c-at91.h | 7 +++----
> 2 files changed, 5 insertions(+), 5 deletions(-)
> rename arch/arm/mach-at91/include/mach/at91_twi.h => drivers/i2c/busses/i2c-at91.h (97%)
Why don't you just merge i2c-at91.h into i2c-at91.c then, if it's the
only user?
--
Jean Delvare
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 7/7] at91sam9/wdt: move register header to drivers
2011-07-14 23:52 ` [PATCH 7/7] at91sam9/wdt: " Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-15 11:04 ` Wim Van Sebroeck
2011-07-22 18:28 ` Wim Van Sebroeck
1 sibling, 0 replies; 21+ messages in thread
From: Wim Van Sebroeck @ 2011-07-15 11:04 UTC (permalink / raw)
To: linux-arm-kernel
Hi Jean-Christophe,
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: linux-watchdog at vger.kernel.org
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Kind regards,
Wim.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-14 23:52 ` [PATCH 4/7] at91: remove non used at91_spi.h Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-15 11:47 ` Detlef Vollmann
2011-07-15 15:46 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 21+ messages in thread
From: Detlef Vollmann @ 2011-07-15 11:47 UTC (permalink / raw)
To: linux-arm-kernel
Sorry, I couldn't find a summary message for this patch series,
so I picked this one to reply, because this one hurts me most.
On 07/15/11 01:52, Jean-Christophe PLAGNIOL-VILLARD wrote:
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD<plagnioj@jcrosoft.com>
> Cc: Nicolas Ferre<nicolas.ferre@atmel.com>
> ---
> arch/arm/mach-at91/include/mach/at91_spi.h | 81
----------------------------
> 1 files changed, 0 insertions(+), 81 deletions(-)
> delete mode 100644 arch/arm/mach-at91/include/mach/at91_spi.h
[...]
First, I'm actually using mach/at91_spi.h in an SPI slave driver.
And I'm using arch/arm/mach-at91/include/mach/at91_spi.h instead of
drivers/spi/atmel_spi.h (which still exists in the kernel version
we use here), because arch/arm/mach-at91/include/mach/at91_spi.h
is accessible from an out-of-tree driver w/o extra effort.
And this applies to all all of those header files, so I'm
really against all patches in this series.
Detlef
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-15 11:47 ` Detlef Vollmann
@ 2011-07-15 15:46 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 16:44 ` Detlef Vollmann
0 siblings, 1 reply; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-15 15:46 UTC (permalink / raw)
To: linux-arm-kernel
On 13:47 Fri 15 Jul , Detlef Vollmann wrote:
> Sorry, I couldn't find a summary message for this patch series,
> so I picked this one to reply, because this one hurts me most.
>
> On 07/15/11 01:52, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD<plagnioj@jcrosoft.com>
> > Cc: Nicolas Ferre<nicolas.ferre@atmel.com>
> > ---
> > arch/arm/mach-at91/include/mach/at91_spi.h | 81
> ----------------------------
> > 1 files changed, 0 insertions(+), 81 deletions(-)
> > delete mode 100644 arch/arm/mach-at91/include/mach/at91_spi.h
> [...]
>
> First, I'm actually using mach/at91_spi.h in an SPI slave driver.
> And I'm using arch/arm/mach-at91/include/mach/at91_spi.h instead of
> drivers/spi/atmel_spi.h (which still exists in the kernel version
> we use here), because arch/arm/mach-at91/include/mach/at91_spi.h
> is accessible from an out-of-tree driver w/o extra effort.
>
> And this applies to all all of those header files, so I'm
> really against all patches in this series.
You need the use SPI framework for this
Out of tree driver is not enough good reason to keep it
Best Regards,
J.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 2/7] at91/i2c: move register header to drivers
2011-07-15 7:23 ` Jean Delvare
@ 2011-07-15 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-15 15:49 UTC (permalink / raw)
To: linux-arm-kernel
On 09:23 Fri 15 Jul , Jean Delvare wrote:
> Hi Jean-Christophe,
>
> On Fri, 15 Jul 2011 01:52:00 +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> > Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> > Cc: linux-i2c at vger.kernel.org
> > ---
> > drivers/i2c/busses/i2c-at91.c | 3 ++-
> > .../at91_twi.h => drivers/i2c/busses/i2c-at91.h | 7 +++----
> > 2 files changed, 5 insertions(+), 5 deletions(-)
> > rename arch/arm/mach-at91/include/mach/at91_twi.h => drivers/i2c/busses/i2c-at91.h (97%)
>
> Why don't you just merge i2c-at91.h into i2c-at91.c then, if it's the
> only user?
I prefer to keep the define in a seperate file
Best Regards,
J.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-15 15:46 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-15 16:44 ` Detlef Vollmann
2011-07-16 10:57 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 21+ messages in thread
From: Detlef Vollmann @ 2011-07-15 16:44 UTC (permalink / raw)
To: linux-arm-kernel
On 07/15/11 17:46, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 13:47 Fri 15 Jul , Detlef Vollmann wrote:
>> Sorry, I couldn't find a summary message for this patch series,
>> so I picked this one to reply, because this one hurts me most.
>>
>> On 07/15/11 01:52, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD<plagnioj@jcrosoft.com>
>>> Cc: Nicolas Ferre<nicolas.ferre@atmel.com>
>>> ---
>>> arch/arm/mach-at91/include/mach/at91_spi.h | 81
>> ----------------------------
>>> 1 files changed, 0 insertions(+), 81 deletions(-)
>>> delete mode 100644 arch/arm/mach-at91/include/mach/at91_spi.h
>> [...]
>>
>> First, I'm actually using mach/at91_spi.h in an SPI slave driver.
>> And I'm using arch/arm/mach-at91/include/mach/at91_spi.h instead of
>> drivers/spi/atmel_spi.h (which still exists in the kernel version
>> we use here), because arch/arm/mach-at91/include/mach/at91_spi.h
>> is accessible from an out-of-tree driver w/o extra effort.
>>
>> And this applies to all all of those header files, so I'm
>> really against all patches in this series.
> You need the use SPI framework for this
I think you reply here to the wrong part of my message.
This part here is about the whole patch series, as I didn't
get a summary message for the patch series.
About the SPI driver:
From Documentation/spi/spi-summary:
"At this writing, Linux has no slave side programming interface."
So there's no SPI framwork that covers the slave side.
> Out of tree driver is not enough good reason to keep it
As there's currently no slave support in-tree, any Linux device
that's an SPI slave needs an out-of-tree driver.
And again, there's no rationale given for moving all the other
headers from an genarally accessible place to a generally
inaccessible place, so I'm still against the whole patch series.
Regards,
Detlef
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-15 16:44 ` Detlef Vollmann
@ 2011-07-16 10:57 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-16 11:56 ` Wolfram Sang
2011-07-16 13:41 ` Detlef Vollmann
0 siblings, 2 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-16 10:57 UTC (permalink / raw)
To: linux-arm-kernel
On 18:44 Fri 15 Jul , Detlef Vollmann wrote:
> On 07/15/11 17:46, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >On 13:47 Fri 15 Jul , Detlef Vollmann wrote:
> >>Sorry, I couldn't find a summary message for this patch series,
> >>so I picked this one to reply, because this one hurts me most.
> >>
> >>On 07/15/11 01:52, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >>>Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD<plagnioj@jcrosoft.com>
> >>>Cc: Nicolas Ferre<nicolas.ferre@atmel.com>
> >>>---
> >>> arch/arm/mach-at91/include/mach/at91_spi.h | 81
> >>----------------------------
> >>> 1 files changed, 0 insertions(+), 81 deletions(-)
> >>> delete mode 100644 arch/arm/mach-at91/include/mach/at91_spi.h
> >>[...]
> >>
> >>First, I'm actually using mach/at91_spi.h in an SPI slave driver.
> >>And I'm using arch/arm/mach-at91/include/mach/at91_spi.h instead of
> >>drivers/spi/atmel_spi.h (which still exists in the kernel version
> >>we use here), because arch/arm/mach-at91/include/mach/at91_spi.h
> >>is accessible from an out-of-tree driver w/o extra effort.
> >>
> >>And this applies to all all of those header files, so I'm
> >>really against all patches in this series.
> >You need the use SPI framework for this
> I think you reply here to the wrong part of my message.
> This part here is about the whole patch series, as I didn't
> get a summary message for the patch series.
>
> About the SPI driver:
> From Documentation/spi/spi-summary:
> "At this writing, Linux has no slave side programming interface."
> So there's no SPI framwork that covers the slave side.
This what I mean use the SPI framework and add the SPI Slave support there
>
> >Out of tree driver is not enough good reason to keep it
> As there's currently no slave support in-tree, any Linux device
> that's an SPI slave needs an out-of-tree driver.
>
> And again, there's no rationale given for moving all the other
> headers from an genarally accessible place to a generally
> inaccessible place, so I'm still against the whole patch series.
those information are driver and IP related keep them in the
arch/arm/mach-at91 make those driver difficult to share cross arch
for the SPI this IP is shared between avr2 and arm so keep it in arch is not
acceptable at all
So if you want to add the SPI Slave support you must make is available for
both ARCH
so NACK to keep this one and the drivers/spi/atmel_spi.h and
arch/arm/mach-at91/include/mach/at91_spi.h contain the same information
so we drop the one not used
Best Regards,
J.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-16 10:57 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-16 11:56 ` Wolfram Sang
2011-07-16 14:00 ` Detlef Vollmann
2011-07-16 13:41 ` Detlef Vollmann
1 sibling, 1 reply; 21+ messages in thread
From: Wolfram Sang @ 2011-07-16 11:56 UTC (permalink / raw)
To: linux-arm-kernel
> > About the SPI driver:
> > From Documentation/spi/spi-summary:
> > "At this writing, Linux has no slave side programming interface."
> > So there's no SPI framwork that covers the slave side.
> This what I mean use the SPI framework and add the SPI Slave support there
[CCing spi-devel]
If you talk about SPI slaves, be sure to have read Grant's comments in
http://thread.gmane.org/gmane.linux.kernel.spi.devel/7401
to see what would be needed for slave support. Short note: Would be
seperate subsystem, master subsystem is of limited use. I think a few
slave-drivers would be nice to evaluate, so one can get a feeling if a
subsystem makes sense and if so, how it could look like.
Detlef, have you posted your slave driver so far?
Regards,
Wolfram
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20110716/3aee55a5/attachment.sig>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-16 10:57 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-16 11:56 ` Wolfram Sang
@ 2011-07-16 13:41 ` Detlef Vollmann
2011-07-17 2:36 ` Jean-Christophe PLAGNIOL-VILLARD
1 sibling, 1 reply; 21+ messages in thread
From: Detlef Vollmann @ 2011-07-16 13:41 UTC (permalink / raw)
To: linux-arm-kernel
On 07/16/11 12:57, Jean-Christophe PLAGNIOL-VILLARD wrote:
> for the SPI this IP is shared between avr2 and arm so keep it in arch is not
> acceptable at all
Thanks. This was the motivation I missed.
In this case I think such include files should go somewhere under
include, so they can be accessed by other drivers.
And this is really not only true for this at91_spi.h, but also
for the other headers in this patch series.
Detlef
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-16 11:56 ` Wolfram Sang
@ 2011-07-16 14:00 ` Detlef Vollmann
2011-07-17 2:33 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 21+ messages in thread
From: Detlef Vollmann @ 2011-07-16 14:00 UTC (permalink / raw)
To: linux-arm-kernel
On 07/16/11 13:56, Wolfram Sang wrote:
>
>>> About the SPI driver:
>>> From Documentation/spi/spi-summary:
>>> "At this writing, Linux has no slave side programming interface."
>>> So there's no SPI framwork that covers the slave side.
>> This what I mean use the SPI framework and add the SPI Slave support there
>
> [CCing spi-devel]
>
> If you talk about SPI slaves, be sure to have read Grant's comments in
>
> http://thread.gmane.org/gmane.linux.kernel.spi.devel/7401
>
> to see what would be needed for slave support.
I completely agree with Gran't comments here.
> Short note: Would be
> seperate subsystem, master subsystem is of limited use. I think a few
> slave-drivers would be nice to evaluate, so one can get a feeling if a
> subsystem makes sense and if so, how it could look like.
>
> Detlef, have you posted your slave driver so far?
No, and I didn't plan to do so.
Not because I don't want to publish it, if you want to look at it,
I'm happy to send the driver.
But I don't think it makes much sense to put my driver into mainline
Linux.
The reason for this is very simple: the protocol is specific for this
hardware, and the driver needs this specific protocol.
The Atmel hardware is not able to maintain information about frame
ends when running in DMA mode, so we need to put the length of the
frame to the beginning of the frame, and also need to put in some
extra information to be able to re-sync in case of transmission errors.
So this driver is very specific for this hardware, and I wrote SPI
slave drivers in the past for other hardware that were also very
specific. I really doubt that an SPI slave framework really makes
sense.
And that's the reason why I'm keen that the hardware description
headers are available to out-of-tree drivers.
Detlef
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-16 14:00 ` Detlef Vollmann
@ 2011-07-17 2:33 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 0 replies; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-17 2:33 UTC (permalink / raw)
To: linux-arm-kernel
On 16:00 Sat 16 Jul , Detlef Vollmann wrote:
> On 07/16/11 13:56, Wolfram Sang wrote:
> >
> >>>About the SPI driver:
> >>> From Documentation/spi/spi-summary:
> >>>"At this writing, Linux has no slave side programming interface."
> >>>So there's no SPI framwork that covers the slave side.
> >>This what I mean use the SPI framework and add the SPI Slave support there
> >
> >[CCing spi-devel]
> >
> >If you talk about SPI slaves, be sure to have read Grant's comments in
> >
> >http://thread.gmane.org/gmane.linux.kernel.spi.devel/7401
> >
> >to see what would be needed for slave support.
> I completely agree with Gran't comments here.
>
> >Short note: Would be
> >seperate subsystem, master subsystem is of limited use. I think a few
> >slave-drivers would be nice to evaluate, so one can get a feeling if a
> >subsystem makes sense and if so, how it could look like.
> >
> >Detlef, have you posted your slave driver so far?
> No, and I didn't plan to do so.
> Not because I don't want to publish it, if you want to look at it,
> I'm happy to send the driver.
> But I don't think it makes much sense to put my driver into mainline
> Linux.
> The reason for this is very simple: the protocol is specific for this
> hardware, and the driver needs this specific protocol.
> The Atmel hardware is not able to maintain information about frame
> ends when running in DMA mode, so we need to put the length of the
> frame to the beginning of the frame, and also need to put in some
> extra information to be able to re-sync in case of transmission errors.
>
> So this driver is very specific for this hardware, and I wrote SPI
> slave drivers in the past for other hardware that were also very
> specific. I really doubt that an SPI slave framework really makes
> sense.
>
> And that's the reason why I'm keen that the hardware description
> headers are available to out-of-tree drivers.
So I'm sorry but this is clear I'm not going to keep the header
out-of-tree drivers are not an enough reason to keep it
Best Regards,
J.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-16 13:41 ` Detlef Vollmann
@ 2011-07-17 2:36 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-18 7:35 ` Andrew Victor
0 siblings, 1 reply; 21+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-07-17 2:36 UTC (permalink / raw)
To: linux-arm-kernel
On 15:41 Sat 16 Jul , Detlef Vollmann wrote:
> On 07/16/11 12:57, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >for the SPI this IP is shared between avr2 and arm so keep it in arch is not
> >acceptable at all
> Thanks. This was the motivation I missed.
> In this case I think such include files should go somewhere under
> include, so they can be accessed by other drivers.
> And this is really not only true for this at91_spi.h, but also
> for the other headers in this patch series.
no we already have the header in drivers/spi so this one not used at all in
the mainline is drop
if you need to atmel_spi.h for mainline for other drivers you need to post
your patch.
Best Regards,
J.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/7] at91: remove non used at91_spi.h
2011-07-17 2:36 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2011-07-18 7:35 ` Andrew Victor
0 siblings, 0 replies; 21+ messages in thread
From: Andrew Victor @ 2011-07-18 7:35 UTC (permalink / raw)
To: linux-arm-kernel
hi,
> if you need to atmel_spi.h for mainline for other drivers you need to post
> your patch.
The at91_spi.h header is also use by the original SPI stack. The
atmel_spi and mtd_dataflash don't work properly for AT91RM9200-based
boards, therefore out-of-tree drivers need to be used.
http://maxim.org.za/at91_26.html
(And I have spent way too many hours trying to get atmel_spi to work)
Regards,
Andrew Victor
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 7/7] at91sam9/wdt: move register header to drivers
2011-07-14 23:52 ` [PATCH 7/7] at91sam9/wdt: " Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 11:04 ` Wim Van Sebroeck
@ 2011-07-22 18:28 ` Wim Van Sebroeck
1 sibling, 0 replies; 21+ messages in thread
From: Wim Van Sebroeck @ 2011-07-22 18:28 UTC (permalink / raw)
To: linux-arm-kernel
Hi Jean-Christophe,
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
> Cc: linux-watchdog at vger.kernel.org
> ---
> drivers/watchdog/at91sam9_wdt.c | 2 +-
> .../at91_wdt.h => drivers/watchdog/at91sam9_wdt.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
> rename arch/arm/mach-at91/include/mach/at91_wdt.h => drivers/watchdog/at91sam9_wdt.h (96%)
Added this patch to the linux-2.6-watchdog-next tree.
Kind regards,
Wim.
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2011-07-22 18:28 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-14 23:51 [PATCH 1/7] at91rm9200: emac move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 2/7] at91/i2c: " Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 7:23 ` Jean Delvare
2011-07-15 15:49 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 3/7] at91_mci: " Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 4/7] at91: remove non used at91_spi.h Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 11:47 ` Detlef Vollmann
2011-07-15 15:46 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 16:44 ` Detlef Vollmann
2011-07-16 10:57 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-16 11:56 ` Wolfram Sang
2011-07-16 14:00 ` Detlef Vollmann
2011-07-17 2:33 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-16 13:41 ` Detlef Vollmann
2011-07-17 2:36 ` Jean-Christophe PLAGNIOL-VILLARD
2011-07-18 7:35 ` Andrew Victor
2011-07-14 23:52 ` [PATCH 5/7] at91: remove non used at91_ssc.h Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 6/7] at91rm9200/rtc: move register header to drivers Jean-Christophe PLAGNIOL-VILLARD
2011-07-14 23:52 ` [PATCH 7/7] at91sam9/wdt: " Jean-Christophe PLAGNIOL-VILLARD
2011-07-15 11:04 ` Wim Van Sebroeck
2011-07-22 18:28 ` Wim Van Sebroeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).