blob: a919dac525a177410f4c67bdad9e18be044b2f24 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +04002 * AMD Alchemy DBAu1x00 Reference Boards
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +04004 * Copyright 2001, 2008 MontaVista Software Inc.
5 * Author: MontaVista Software, Inc. <source@mvista.com>
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
7 *
8 * ########################################################################
9 *
10 * This program is free software; you can distribute it and/or modify it
11 * under the terms of the GNU General Public License (Version 2) as
12 * published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 * for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.,
21 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
22 *
23 * ########################################################################
24 *
Ralf Baechle42a3b4f2005-09-03 15:56:17 -070025 *
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 */
27#ifndef __ASM_DB1X00_H
28#define __ASM_DB1X00_H
29
Manuel Lauss9e39ffe2008-02-24 20:03:42 +010030#include <asm/mach-au1x00/au1xxx_psc.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
32#ifdef CONFIG_MIPS_DB1550
Sergei Shtylyovf2c780c2006-06-23 02:04:13 -070033
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040034#define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
35#define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX
36#define DBDMA_I2S_TX_CHAN DSCR_CMD0_PSC3_TX
37#define DBDMA_I2S_RX_CHAN DSCR_CMD0_PSC3_RX
Sergei Shtylyovf2c780c2006-06-23 02:04:13 -070038
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040039#define SPI_PSC_BASE PSC0_BASE_ADDR
40#define AC97_PSC_BASE PSC1_BASE_ADDR
41#define SMBUS_PSC_BASE PSC2_BASE_ADDR
42#define I2S_PSC_BASE PSC3_BASE_ADDR
Sergei Shtylyovf2c780c2006-06-23 02:04:13 -070043
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040044#define NAND_PHYS_ADDR 0x20000000
Sergei Shtylyovf2c780c2006-06-23 02:04:13 -070045
Linus Torvalds1da177e2005-04-16 15:20:36 -070046#endif
47
Linus Torvalds1da177e2005-04-16 15:20:36 -070048/*
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040049 * NAND defines
50 *
51 * Timing values as described in databook, * ns value stripped of the
Linus Torvalds1da177e2005-04-16 15:20:36 -070052 * lower 2 bits.
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040053 * These defines are here rather than an Au1550 generic file because
Linus Torvalds1da177e2005-04-16 15:20:36 -070054 * the parts chosen on another board may be different and may require
55 * different timings.
56 */
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040057#define NAND_T_H (18 >> 2)
58#define NAND_T_PUL (30 >> 2)
59#define NAND_T_SU (30 >> 2)
60#define NAND_T_WH (30 >> 2)
Linus Torvalds1da177e2005-04-16 15:20:36 -070061
62/* Bitfield shift amounts */
63#define NAND_T_H_SHIFT 0
64#define NAND_T_PUL_SHIFT 4
65#define NAND_T_SU_SHIFT 8
66#define NAND_T_WH_SHIFT 12
67
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040068#define NAND_TIMING (((NAND_T_H & 0xF) << NAND_T_H_SHIFT) | \
69 ((NAND_T_PUL & 0xF) << NAND_T_PUL_SHIFT) | \
70 ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \
71 ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT))
72#define NAND_CS 1
Ralf Baechlebdc3c3c2005-11-17 16:23:42 +000073
Sergei Shtylyovabd14cc2008-04-30 23:25:04 +040074/* Should be done by YAMON */
75#define NAND_STCFG 0x00400005 /* 8-bit NAND */
76#define NAND_STTIME 0x00007774 /* valid for 396 MHz SD=2 only */
77#define NAND_STADDR 0x12000FFF /* physical address 0x20000000 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070078
79#endif /* __ASM_DB1X00_H */