mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-04-01 03:51:31 +00:00
Blackfin: pata_bfin: convert to portmux framework
Rather than bang MMRs directly, use the new portmux framework to handle the details. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
a87589fcf9
commit
c5dc48295b
1 changed files with 11 additions and 12 deletions
|
@ -14,6 +14,7 @@
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
|
#include <asm/portmux.h>
|
||||||
#include <asm/mach-common/bits/pata.h>
|
#include <asm/mach-common/bits/pata.h>
|
||||||
#include <ata.h>
|
#include <ata.h>
|
||||||
#include <libata.h>
|
#include <libata.h>
|
||||||
|
@ -769,19 +770,17 @@ static int bfin_ata_reset_port(struct ata_port *ap)
|
||||||
*/
|
*/
|
||||||
static int bfin_config_atapi_gpio(struct ata_port *ap)
|
static int bfin_config_atapi_gpio(struct ata_port *ap)
|
||||||
{
|
{
|
||||||
bfin_write_PORTH_FER(bfin_read_PORTH_FER() | 0x4);
|
const unsigned short pins[] = {
|
||||||
bfin_write_PORTH_MUX(bfin_read_PORTH_MUX() & ~0x30);
|
P_ATAPI_RESET, P_ATAPI_DIOR, P_ATAPI_DIOW, P_ATAPI_CS0,
|
||||||
bfin_write_PORTH_DIR_SET(0x4);
|
P_ATAPI_CS1, P_ATAPI_DMACK, P_ATAPI_DMARQ, P_ATAPI_INTRQ,
|
||||||
|
P_ATAPI_IORDY, P_ATAPI_D0A, P_ATAPI_D1A, P_ATAPI_D2A,
|
||||||
|
P_ATAPI_D3A, P_ATAPI_D4A, P_ATAPI_D5A, P_ATAPI_D6A,
|
||||||
|
P_ATAPI_D7A, P_ATAPI_D8A, P_ATAPI_D9A, P_ATAPI_D10A,
|
||||||
|
P_ATAPI_D11A, P_ATAPI_D12A, P_ATAPI_D13A, P_ATAPI_D14A,
|
||||||
|
P_ATAPI_D15A, P_ATAPI_A0A, P_ATAPI_A1A, P_ATAPI_A2A, 0,
|
||||||
|
};
|
||||||
|
|
||||||
bfin_write_PORTJ_FER(0x7f8);
|
peripheral_request_list(pins, "pata_bfin");
|
||||||
bfin_write_PORTJ_MUX(bfin_read_PORTI_MUX() & ~0x3fffc0);
|
|
||||||
bfin_write_PORTJ_DIR_SET(0x5f8);
|
|
||||||
bfin_write_PORTJ_DIR_CLEAR(0x200);
|
|
||||||
bfin_write_PORTJ_INEN(0x200);
|
|
||||||
|
|
||||||
bfin_write_PINT2_ASSIGN(0x0707);
|
|
||||||
bfin_write_PINT2_MASK_SET(0x200);
|
|
||||||
SSYNC();
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue