/* * flash.c - helper commands for working with GPIO-assisted flash * * Copyright (c) 2005-2009 Analog Devices Inc. * * Licensed under the GPL-2 or later. */ #include <common.h> #include <command.h> #include <asm/blackfin.h> #include "gpio_cfi_flash.h" int do_pf(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { ulong faddr = CONFIG_SYS_FLASH_BASE; ushort data; ulong dflg; if (argc == 3) { dflg = simple_strtoul(argv[1], NULL, 16); faddr |= (dflg << 21); dflg = simple_strtoul(argv[2], NULL, 16); faddr |= (dflg << 22); gpio_cfi_flash_swizzle((void *)faddr); } else { data = bfin_read_PORTFIO(); printf("Port F data %04x (PF4:%i PF5:%i)\n", data, !!(data & PF4), !!(data & PF5)); } return 0; } U_BOOT_CMD(pf, 3, 0, do_pf, "set/clear PF4/PF5 GPIO flash bank switch\n", "<pf4> <pf5> - set PF4/PF5 GPIO pin state\n");