Skip to content

Commit

Permalink
[ARM] pata_pxa: DMA-capable PATA driver
Browse files Browse the repository at this point in the history
This patch adds a driver for a harddrive attached to PXA address and data bus.
Unlike pata_platform, this driver allows usage of PXA DMA controller, making the
transmission speed 3x higher.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
  • Loading branch information
Marek Vasut authored and Eric Miao committed Jun 18, 2010
1 parent 406c86f commit 2dc6c6f
Show file tree
Hide file tree
Showing 4 changed files with 457 additions and 0 deletions.
33 changes: 33 additions & 0 deletions arch/arm/mach-pxa/include/mach/pata_pxa.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Generic PXA PATA driver
*
* Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
*
* 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, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*/

#ifndef __MACH_PATA_PXA_H__
#define __MACH_PATA_PXA_H__

struct pata_pxa_pdata {
/* PXA DMA DREQ<0:2> pin */
uint32_t dma_dreq;
/* Register shift */
uint32_t reg_shift;
/* IRQ flags */
uint32_t irq_flags;
};

#endif /* __MACH_PATA_PXA_H__ */
11 changes: 11 additions & 0 deletions drivers/ata/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,17 @@ config PATA_VIA

If unsure, say N.

config PATA_PXA
tristate "PXA DMA-capable PATA support"
depends on ARCH_PXA
help
This option enables support for harddrive attached to PXA CPU's bus.

NOTE: This driver utilizes PXA DMA controller, in case your hardware
is not capable of doing MWDMA, use pata_platform instead.

If unsure, say N.

config PATA_WINBOND
tristate "Winbond SL82C105 PATA support"
depends on PCI
Expand Down
2 changes: 2 additions & 0 deletions drivers/ata/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ obj-$(CONFIG_PATA_RB532) += pata_rb532_cf.o
obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o
obj-$(CONFIG_PATA_WINBOND_VLB) += pata_winbond.o

obj-$(CONFIG_PATA_PXA) += pata_pxa.o

# Should be last but two libata driver
obj-$(CONFIG_PATA_ACPI) += pata_acpi.o
# Should be last but one libata driver
Expand Down
Loading

0 comments on commit 2dc6c6f

Please sign in to comment.