123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*****************************************************************************
- * Copyright 2001 - 2008 Broadcom Corporation. All rights reserved.
- *
- * Unless you and Broadcom execute a separate written software license
- * agreement governing use of this software, this software is licensed to you
- * under the terms of the GNU General Public License version 2, available at
- * http://www.broadcom.com/licenses/GPLv2.php (the "GPL").
- *
- * Notwithstanding the above, under no circumstances may you combine this
- * software in any way with any other Broadcom software provided under a
- * license other than the GPL, without Broadcom's express prior written
- * consent.
- *****************************************************************************/
- /*
- *
- *****************************************************************************
- *
- * REG_NAND.h
- *
- * PURPOSE:
- *
- * This file contains definitions for the nand registers:
- *
- * NOTES:
- *
- *****************************************************************************/
- #if !defined(__ASM_ARCH_REG_NAND_H)
- #define __ASM_ARCH_REG_NAND_H
- /* ---- Include Files ---------------------------------------------------- */
- #include <csp/reg.h>
- #include <mach/reg_umi.h>
- /* ---- Constants and Types ---------------------------------------------- */
- #define HW_NAND_BASE MM_IO_BASE_NAND /* NAND Flash */
- /* DMA accesses by the bootstrap need hard nonvirtual addresses */
- #define REG_NAND_CMD __REG16(HW_NAND_BASE + 0)
- #define REG_NAND_ADDR __REG16(HW_NAND_BASE + 4)
- #define REG_NAND_PHYS_DATA16 (HW_NAND_BASE + 8)
- #define REG_NAND_PHYS_DATA8 (HW_NAND_BASE + 8)
- #define REG_NAND_DATA16 __REG16(REG_NAND_PHYS_DATA16)
- #define REG_NAND_DATA8 __REG8(REG_NAND_PHYS_DATA8)
- /* use appropriate offset to make sure it start at the 1K boundary */
- #define REG_NAND_PHYS_DATA_DMA (HW_NAND_BASE + 0x400)
- #define REG_NAND_DATA_DMA __REG32(REG_NAND_PHYS_DATA_DMA)
- /* Linux DMA requires physical address of the data register */
- #define REG_NAND_DATA16_PADDR HW_IO_VIRT_TO_PHYS(REG_NAND_PHYS_DATA16)
- #define REG_NAND_DATA8_PADDR HW_IO_VIRT_TO_PHYS(REG_NAND_PHYS_DATA8)
- #define REG_NAND_DATA_PADDR HW_IO_VIRT_TO_PHYS(REG_NAND_PHYS_DATA_DMA)
- #define NAND_BUS_16BIT() (0)
- #define NAND_BUS_8BIT() (!NAND_BUS_16BIT())
- /* Register offsets */
- #define REG_NAND_CMD_OFFSET (0)
- #define REG_NAND_ADDR_OFFSET (4)
- #define REG_NAND_DATA8_OFFSET (8)
- #endif
|