1f904cdbbSDirk Behme /* 2f904cdbbSDirk Behme * (C) Copyright 2006-2008 3f904cdbbSDirk Behme * Texas Instruments. 4f904cdbbSDirk Behme * Richard Woodruff <r-woodruff2@ti.com> 5f904cdbbSDirk Behme * Syed Mohammed Khasim <x0khasim@ti.com> 6f904cdbbSDirk Behme * 7f904cdbbSDirk Behme * Configuration settings for the TI OMAP3530 Beagle board. 8f904cdbbSDirk Behme * 9f904cdbbSDirk Behme * See file CREDITS for list of people who contributed to this 10f904cdbbSDirk Behme * project. 11f904cdbbSDirk Behme * 12f904cdbbSDirk Behme * This program is free software; you can redistribute it and/or 13f904cdbbSDirk Behme * modify it under the terms of the GNU General Public License as 14f904cdbbSDirk Behme * published by the Free Software Foundation; either version 2 of 15f904cdbbSDirk Behme * the License, or (at your option) any later version. 16f904cdbbSDirk Behme * 17f904cdbbSDirk Behme * This program is distributed in the hope that it will be useful, 18f904cdbbSDirk Behme * but WITHOUT ANY WARRANTY; without even the implied warranty of 19f904cdbbSDirk Behme * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20f904cdbbSDirk Behme * GNU General Public License for more details. 21f904cdbbSDirk Behme * 22f904cdbbSDirk Behme * You should have received a copy of the GNU General Public License 23f904cdbbSDirk Behme * along with this program; if not, write to the Free Software 24f904cdbbSDirk Behme * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 25f904cdbbSDirk Behme * MA 02111-1307 USA 26f904cdbbSDirk Behme */ 27f904cdbbSDirk Behme 28f904cdbbSDirk Behme #ifndef __CONFIG_H 29f904cdbbSDirk Behme #define __CONFIG_H 30f904cdbbSDirk Behme #include <asm/sizes.h> 31f904cdbbSDirk Behme 32f904cdbbSDirk Behme /* 33f904cdbbSDirk Behme * High Level Configuration Options 34f904cdbbSDirk Behme */ 35f904cdbbSDirk Behme #define CONFIG_ARMCORTEXA8 1 /* This is an ARM V7 CPU core */ 36f904cdbbSDirk Behme #define CONFIG_OMAP 1 /* in a TI OMAP core */ 37f904cdbbSDirk Behme #define CONFIG_OMAP34XX 1 /* which is a 34XX */ 38f904cdbbSDirk Behme #define CONFIG_OMAP3430 1 /* which is in a 3430 */ 39f904cdbbSDirk Behme #define CONFIG_OMAP3_BEAGLE 1 /* working with BEAGLE */ 40f904cdbbSDirk Behme 41f904cdbbSDirk Behme #include <asm/arch/cpu.h> /* get chip and board defs */ 42f904cdbbSDirk Behme #include <asm/arch/omap3.h> 43f904cdbbSDirk Behme 44f904cdbbSDirk Behme /* Clock Defines */ 45f904cdbbSDirk Behme #define V_OSCK 26000000 /* Clock output from T2 */ 46f904cdbbSDirk Behme #define V_SCLK (V_OSCK >> 1) 47f904cdbbSDirk Behme 48f904cdbbSDirk Behme #undef CONFIG_USE_IRQ /* no support for IRQs */ 49f904cdbbSDirk Behme #define CONFIG_MISC_INIT_R 50f904cdbbSDirk Behme 51f904cdbbSDirk Behme #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 52f904cdbbSDirk Behme #define CONFIG_SETUP_MEMORY_TAGS 1 53f904cdbbSDirk Behme #define CONFIG_INITRD_TAG 1 54f904cdbbSDirk Behme #define CONFIG_REVISION_TAG 1 55f904cdbbSDirk Behme 56f904cdbbSDirk Behme /* 57f904cdbbSDirk Behme * Size of malloc() pool 58f904cdbbSDirk Behme */ 59f904cdbbSDirk Behme #define CONFIG_ENV_SIZE SZ_128K /* Total Size Environment */ 60f904cdbbSDirk Behme /* Sector */ 61f904cdbbSDirk Behme #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + SZ_128K) 62f904cdbbSDirk Behme #define CONFIG_SYS_GBL_DATA_SIZE 128 /* bytes reserved for */ 63f904cdbbSDirk Behme /* initial data */ 64f904cdbbSDirk Behme 65f904cdbbSDirk Behme /* 66f904cdbbSDirk Behme * Hardware drivers 67f904cdbbSDirk Behme */ 68f904cdbbSDirk Behme 69f904cdbbSDirk Behme /* 70f904cdbbSDirk Behme * NS16550 Configuration 71f904cdbbSDirk Behme */ 72f904cdbbSDirk Behme #define V_NS16550_CLK 48000000 /* 48MHz (APLL96/2) */ 73f904cdbbSDirk Behme 74f904cdbbSDirk Behme #define CONFIG_SYS_NS16550 75f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_SERIAL 76f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_REG_SIZE (-4) 77f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_CLK V_NS16550_CLK 78f904cdbbSDirk Behme 79f904cdbbSDirk Behme /* 80f904cdbbSDirk Behme * select serial console configuration 81f904cdbbSDirk Behme */ 82f904cdbbSDirk Behme #define CONFIG_CONS_INDEX 3 83f904cdbbSDirk Behme #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 84f904cdbbSDirk Behme #define CONFIG_SERIAL3 3 /* UART3 on Beagle Rev 2 */ 85f904cdbbSDirk Behme 86f904cdbbSDirk Behme /* allow to overwrite serial and ethaddr */ 87f904cdbbSDirk Behme #define CONFIG_ENV_OVERWRITE 88f904cdbbSDirk Behme #define CONFIG_BAUDRATE 115200 89f904cdbbSDirk Behme #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ 90f904cdbbSDirk Behme 115200} 91f904cdbbSDirk Behme #define CONFIG_MMC 1 92f904cdbbSDirk Behme #define CONFIG_OMAP3_MMC 1 93f904cdbbSDirk Behme #define CONFIG_DOS_PARTITION 1 94f904cdbbSDirk Behme 95f904cdbbSDirk Behme /* commands to include */ 96f904cdbbSDirk Behme #include <config_cmd_default.h> 97f904cdbbSDirk Behme 98f904cdbbSDirk Behme #define CONFIG_CMD_EXT2 /* EXT2 Support */ 99f904cdbbSDirk Behme #define CONFIG_CMD_FAT /* FAT support */ 100f904cdbbSDirk Behme #define CONFIG_CMD_JFFS2 /* JFFS2 Support */ 101*917cfc70SNishanth Menon #define CONFIG_CMD_MTDPARTS /* Enable MTD parts commands */ 102*917cfc70SNishanth Menon #define MTDIDS_DEFAULT "nand0=nand" 103*917cfc70SNishanth Menon #define MTDPARTS_DEFAULT "mtdparts=nand:512k(x-loader),"\ 104*917cfc70SNishanth Menon "1920k(u-boot),128k(u-boot-env),"\ 105*917cfc70SNishanth Menon "4m(kernel),-(fs)" 106f904cdbbSDirk Behme 107f904cdbbSDirk Behme #define CONFIG_CMD_I2C /* I2C serial bus support */ 108f904cdbbSDirk Behme #define CONFIG_CMD_MMC /* MMC support */ 109f904cdbbSDirk Behme #define CONFIG_CMD_NAND /* NAND support */ 110f904cdbbSDirk Behme 111f904cdbbSDirk Behme #undef CONFIG_CMD_FLASH /* flinfo, erase, protect */ 112f904cdbbSDirk Behme #undef CONFIG_CMD_FPGA /* FPGA configuration Support */ 113f904cdbbSDirk Behme #undef CONFIG_CMD_IMI /* iminfo */ 114f904cdbbSDirk Behme #undef CONFIG_CMD_IMLS /* List all found images */ 115f904cdbbSDirk Behme #undef CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */ 116f904cdbbSDirk Behme #undef CONFIG_CMD_NFS /* NFS support */ 117f904cdbbSDirk Behme 118f904cdbbSDirk Behme #define CONFIG_SYS_NO_FLASH 119f904cdbbSDirk Behme #define CONFIG_SYS_I2C_SPEED 100000 120f904cdbbSDirk Behme #define CONFIG_SYS_I2C_SLAVE 1 121f904cdbbSDirk Behme #define CONFIG_SYS_I2C_BUS 0 122f904cdbbSDirk Behme #define CONFIG_SYS_I2C_BUS_SELECT 1 123f904cdbbSDirk Behme #define CONFIG_DRIVER_OMAP34XX_I2C 1 124f904cdbbSDirk Behme 125f904cdbbSDirk Behme /* 126f904cdbbSDirk Behme * Board NAND Info. 127f904cdbbSDirk Behme */ 128f904cdbbSDirk Behme #define CONFIG_NAND_OMAP_GPMC 129f904cdbbSDirk Behme #define CONFIG_SYS_NAND_ADDR NAND_BASE /* physical address */ 130f904cdbbSDirk Behme /* to access nand */ 131f904cdbbSDirk Behme #define CONFIG_SYS_NAND_BASE NAND_BASE /* physical address */ 132f904cdbbSDirk Behme /* to access nand at */ 133f904cdbbSDirk Behme /* CS0 */ 134f904cdbbSDirk Behme #define GPMC_NAND_ECC_LP_x16_LAYOUT 1 135f904cdbbSDirk Behme 136f904cdbbSDirk Behme #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND */ 137f904cdbbSDirk Behme /* devices */ 138f904cdbbSDirk Behme #define SECTORSIZE 512 139f904cdbbSDirk Behme 140f904cdbbSDirk Behme #define NAND_ALLOW_ERASE_ALL 141f904cdbbSDirk Behme #define ADDR_COLUMN 1 142f904cdbbSDirk Behme #define ADDR_PAGE 2 143f904cdbbSDirk Behme #define ADDR_COLUMN_PAGE 3 144f904cdbbSDirk Behme 145f904cdbbSDirk Behme #define NAND_ChipID_UNKNOWN 0x00 146f904cdbbSDirk Behme #define NAND_MAX_FLOORS 1 147f904cdbbSDirk Behme #define NAND_MAX_CHIPS 1 148f904cdbbSDirk Behme #define NAND_NO_RB 1 149f904cdbbSDirk Behme #define CONFIG_SYS_NAND_WP 150f904cdbbSDirk Behme 151f904cdbbSDirk Behme #define CONFIG_JFFS2_NAND 152f904cdbbSDirk Behme /* nand device jffs2 lives on */ 153f904cdbbSDirk Behme #define CONFIG_JFFS2_DEV "nand0" 154f904cdbbSDirk Behme /* start of jffs2 partition */ 155f904cdbbSDirk Behme #define CONFIG_JFFS2_PART_OFFSET 0x680000 156f904cdbbSDirk Behme #define CONFIG_JFFS2_PART_SIZE 0xf980000 /* size of jffs2 */ 157f904cdbbSDirk Behme /* partition */ 158f904cdbbSDirk Behme 159f904cdbbSDirk Behme /* Environment information */ 160f904cdbbSDirk Behme #define CONFIG_BOOTDELAY 10 161f904cdbbSDirk Behme 162f904cdbbSDirk Behme #define CONFIG_EXTRA_ENV_SETTINGS \ 163f904cdbbSDirk Behme "loadaddr=0x82000000\0" \ 164f904cdbbSDirk Behme "console=ttyS2,115200n8\0" \ 165f904cdbbSDirk Behme "videomode=1024x768@60,vxres=1024,vyres=768\0" \ 166f904cdbbSDirk Behme "videospec=omapfb:vram:2M,vram:4M\0" \ 167f904cdbbSDirk Behme "mmcargs=setenv bootargs console=${console} " \ 168f904cdbbSDirk Behme "video=${videospec},mode:${videomode} " \ 169f904cdbbSDirk Behme "root=/dev/mmcblk0p2 rw " \ 170f904cdbbSDirk Behme "rootfstype=ext3 rootwait\0" \ 171f904cdbbSDirk Behme "nandargs=setenv bootargs console=${console} " \ 172f904cdbbSDirk Behme "video=${videospec},mode:${videomode} " \ 173f904cdbbSDirk Behme "root=/dev/mtdblock4 rw " \ 174f904cdbbSDirk Behme "rootfstype=jffs2\0" \ 175f904cdbbSDirk Behme "loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \ 176f904cdbbSDirk Behme "bootscript=echo Running bootscript from mmc ...; " \ 177f904cdbbSDirk Behme "autoscr ${loadaddr}\0" \ 178f904cdbbSDirk Behme "loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \ 179f904cdbbSDirk Behme "mmcboot=echo Booting from mmc ...; " \ 180f904cdbbSDirk Behme "run mmcargs; " \ 181f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 182f904cdbbSDirk Behme "nandboot=echo Booting from nand ...; " \ 183f904cdbbSDirk Behme "run nandargs; " \ 184f904cdbbSDirk Behme "nand read ${loadaddr} 280000 400000; " \ 185f904cdbbSDirk Behme "bootm ${loadaddr}\0" \ 186f904cdbbSDirk Behme 187f904cdbbSDirk Behme #define CONFIG_BOOTCOMMAND \ 188f904cdbbSDirk Behme "if mmcinit; then " \ 189f904cdbbSDirk Behme "if run loadbootscript; then " \ 190f904cdbbSDirk Behme "run bootscript; " \ 191f904cdbbSDirk Behme "else " \ 192f904cdbbSDirk Behme "if run loaduimage; then " \ 193f904cdbbSDirk Behme "run mmcboot; " \ 194f904cdbbSDirk Behme "else run nandboot; " \ 195f904cdbbSDirk Behme "fi; " \ 196f904cdbbSDirk Behme "fi; " \ 197f904cdbbSDirk Behme "else run nandboot; fi" 198f904cdbbSDirk Behme 199f904cdbbSDirk Behme #define CONFIG_AUTO_COMPLETE 1 200f904cdbbSDirk Behme /* 201f904cdbbSDirk Behme * Miscellaneous configurable options 202f904cdbbSDirk Behme */ 203f904cdbbSDirk Behme #define V_PROMPT "OMAP3 beagleboard.org # " 204f904cdbbSDirk Behme 205f904cdbbSDirk Behme #define CONFIG_SYS_LONGHELP /* undef to save memory */ 206f904cdbbSDirk Behme #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ 207f904cdbbSDirk Behme #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " 208f904cdbbSDirk Behme #define CONFIG_SYS_PROMPT V_PROMPT 209f904cdbbSDirk Behme #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 210f904cdbbSDirk Behme /* Print Buffer Size */ 211f904cdbbSDirk Behme #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 212f904cdbbSDirk Behme sizeof(CONFIG_SYS_PROMPT) + 16) 213f904cdbbSDirk Behme #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 214f904cdbbSDirk Behme /* Boot Argument Buffer Size */ 215f904cdbbSDirk Behme #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) 216f904cdbbSDirk Behme 217f904cdbbSDirk Behme #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) /* memtest */ 218f904cdbbSDirk Behme /* works on */ 219f904cdbbSDirk Behme #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \ 220f904cdbbSDirk Behme 0x01F00000) /* 31MB */ 221f904cdbbSDirk Behme 222f904cdbbSDirk Behme #undef CONFIG_SYS_CLKS_IN_HZ /* everything, incl board info, in Hz */ 223f904cdbbSDirk Behme 224f904cdbbSDirk Behme #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */ 225f904cdbbSDirk Behme /* load address */ 226f904cdbbSDirk Behme 227f904cdbbSDirk Behme /* 228f904cdbbSDirk Behme * 2430 has 12 GP timers, they can be driven by the SysClk (12/13/19.2) or by 229f904cdbbSDirk Behme * 32KHz clk, or from external sig. This rate is divided by a local divisor. 230f904cdbbSDirk Behme */ 231f904cdbbSDirk Behme #define V_PVT 7 232f904cdbbSDirk Behme 233f904cdbbSDirk Behme #define CONFIG_SYS_TIMERBASE (OMAP34XX_GPT2) 234f904cdbbSDirk Behme #define CONFIG_SYS_PVT V_PVT /* 2^(pvt+1) */ 235f904cdbbSDirk Behme #define CONFIG_SYS_HZ ((V_SCLK) / (2 << CONFIG_SYS_PVT)) 236f904cdbbSDirk Behme 237f904cdbbSDirk Behme /*----------------------------------------------------------------------- 238f904cdbbSDirk Behme * Stack sizes 239f904cdbbSDirk Behme * 240f904cdbbSDirk Behme * The stack sizes are set up in start.S using the settings below 241f904cdbbSDirk Behme */ 242f904cdbbSDirk Behme #define CONFIG_STACKSIZE SZ_128K /* regular stack */ 243f904cdbbSDirk Behme #ifdef CONFIG_USE_IRQ 244f904cdbbSDirk Behme #define CONFIG_STACKSIZE_IRQ SZ_4K /* IRQ stack */ 245f904cdbbSDirk Behme #define CONFIG_STACKSIZE_FIQ SZ_4K /* FIQ stack */ 246f904cdbbSDirk Behme #endif 247f904cdbbSDirk Behme 248f904cdbbSDirk Behme /*----------------------------------------------------------------------- 249f904cdbbSDirk Behme * Physical Memory Map 250f904cdbbSDirk Behme */ 251f904cdbbSDirk Behme #define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */ 252f904cdbbSDirk Behme #define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0 253f904cdbbSDirk Behme #define PHYS_SDRAM_1_SIZE SZ_32M /* at least 32 meg */ 254f904cdbbSDirk Behme #define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1 255f904cdbbSDirk Behme 256f904cdbbSDirk Behme /* SDRAM Bank Allocation method */ 257f904cdbbSDirk Behme #define SDRC_R_B_C 1 258f904cdbbSDirk Behme 259f904cdbbSDirk Behme /*----------------------------------------------------------------------- 260f904cdbbSDirk Behme * FLASH and environment organization 261f904cdbbSDirk Behme */ 262f904cdbbSDirk Behme 263f904cdbbSDirk Behme /* **** PISMO SUPPORT *** */ 264f904cdbbSDirk Behme 265f904cdbbSDirk Behme /* Configure the PISMO */ 266f904cdbbSDirk Behme #define PISMO1_NAND_SIZE GPMC_SIZE_128M 267f904cdbbSDirk Behme #define PISMO1_ONEN_SIZE GPMC_SIZE_128M 268f904cdbbSDirk Behme 269f904cdbbSDirk Behme #define CONFIG_SYS_MAX_FLASH_SECT 520 /* max number of sectors on */ 270f904cdbbSDirk Behme /* one chip */ 271f904cdbbSDirk Behme #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of flash banks */ 272f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_LEN SZ_256K /* Reserve 2 sectors */ 273f904cdbbSDirk Behme 274f904cdbbSDirk Behme #define CONFIG_SYS_FLASH_BASE boot_flash_base 275f904cdbbSDirk Behme 276f904cdbbSDirk Behme /* Monitor at start of flash */ 277f904cdbbSDirk Behme #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 278f904cdbbSDirk Behme #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP 279f904cdbbSDirk Behme 280f904cdbbSDirk Behme #define CONFIG_ENV_IS_IN_NAND 1 281f904cdbbSDirk Behme #define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */ 282f904cdbbSDirk Behme #define SMNAND_ENV_OFFSET 0x260000 /* environment starts here */ 283f904cdbbSDirk Behme 284f904cdbbSDirk Behme #define CONFIG_SYS_ENV_SECT_SIZE boot_flash_sec 285f904cdbbSDirk Behme #define CONFIG_ENV_OFFSET boot_flash_off 286f904cdbbSDirk Behme #define CONFIG_ENV_ADDR SMNAND_ENV_OFFSET 287f904cdbbSDirk Behme 288f904cdbbSDirk Behme /*----------------------------------------------------------------------- 289f904cdbbSDirk Behme * CFI FLASH driver setup 290f904cdbbSDirk Behme */ 291f904cdbbSDirk Behme /* timeout values are in ticks */ 292f904cdbbSDirk Behme #define CONFIG_SYS_FLASH_ERASE_TOUT (100 * CONFIG_SYS_HZ) 293f904cdbbSDirk Behme #define CONFIG_SYS_FLASH_WRITE_TOUT (100 * CONFIG_SYS_HZ) 294f904cdbbSDirk Behme 295f904cdbbSDirk Behme /* Flash banks JFFS2 should use */ 296f904cdbbSDirk Behme #define CONFIG_SYS_MAX_MTD_BANKS (CONFIG_SYS_MAX_FLASH_BANKS + \ 297f904cdbbSDirk Behme CONFIG_SYS_MAX_NAND_DEVICE) 298f904cdbbSDirk Behme #define CONFIG_SYS_JFFS2_MEM_NAND 299f904cdbbSDirk Behme /* use flash_info[2] */ 300f904cdbbSDirk Behme #define CONFIG_SYS_JFFS2_FIRST_BANK CONFIG_SYS_MAX_FLASH_BANKS 301f904cdbbSDirk Behme #define CONFIG_SYS_JFFS2_NUM_BANKS 1 302f904cdbbSDirk Behme 303f904cdbbSDirk Behme #ifndef __ASSEMBLY__ 304f904cdbbSDirk Behme extern gpmc_csx_t *nand_cs_base; 305f904cdbbSDirk Behme extern gpmc_t *gpmc_cfg_base; 306f904cdbbSDirk Behme extern unsigned int boot_flash_base; 307f904cdbbSDirk Behme extern volatile unsigned int boot_flash_env_addr; 308f904cdbbSDirk Behme extern unsigned int boot_flash_off; 309f904cdbbSDirk Behme extern unsigned int boot_flash_sec; 310f904cdbbSDirk Behme extern unsigned int boot_flash_type; 311f904cdbbSDirk Behme #endif 312f904cdbbSDirk Behme 313f904cdbbSDirk Behme 314f904cdbbSDirk Behme #define WRITE_NAND_COMMAND(d, adr)\ 315f904cdbbSDirk Behme writel(d, &nand_cs_base->nand_cmd) 316f904cdbbSDirk Behme #define WRITE_NAND_ADDRESS(d, adr)\ 317f904cdbbSDirk Behme writel(d, &nand_cs_base->nand_adr) 318f904cdbbSDirk Behme #define WRITE_NAND(d, adr) writew(d, &nand_cs_base->nand_dat) 319f904cdbbSDirk Behme #define READ_NAND(adr) readl(&nand_cs_base->nand_dat) 320f904cdbbSDirk Behme 321f904cdbbSDirk Behme /* Other NAND Access APIs */ 322f904cdbbSDirk Behme #define NAND_WP_OFF() do {readl(&gpmc_cfg_base->config) |= GPMC_CONFIG_WP; } \ 323f904cdbbSDirk Behme while (0) 324f904cdbbSDirk Behme #define NAND_WP_ON() do {readl(&gpmc_cfg_base->config) &= ~GPMC_CONFIG_WP; } \ 325f904cdbbSDirk Behme while (0) 326f904cdbbSDirk Behme #define NAND_DISABLE_CE(nand) 327f904cdbbSDirk Behme #define NAND_ENABLE_CE(nand) 328f904cdbbSDirk Behme #define NAND_WAIT_READY(nand) udelay(10) 329f904cdbbSDirk Behme 330f904cdbbSDirk Behme #endif /* __CONFIG_H */ 331