* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
#include "config.h"
protect_state);
}
- *buf = '\0'; /* initialize buffer, otherwise it migh contain garbage if driver
- *function fails */
- retval = p->driver->info(p, buf, sizeof(buf));
- command_print(CMD_CTX, "%s", buf);
- if (retval != ERROR_OK)
- LOG_ERROR("error retrieving flash info");
+ if (p->driver->info != NULL) {
+ retval = p->driver->info(p, buf, sizeof(buf));
+ if (retval == ERROR_OK)
+ command_print(CMD_CTX, "%s", buf);
+ else
+ LOG_ERROR("error retrieving flash info");
+ }
}
return retval;
}
}
+COMMAND_HANDLER(handle_flash_padded_value_command)
+{
+ if (CMD_ARGC != 2)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
+ struct flash_bank *p;
+ int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &p);
+ if (ERROR_OK != retval)
+ return retval;
+
+ COMMAND_PARSE_NUMBER(u8, CMD_ARGV[1], p->default_padded_value);
+
+ command_print(CMD_CTX, "Default padded value set to 0x%" PRIx8 " for flash bank %u", \
+ p->default_padded_value, p->bank_number);
+
+ return retval;
+}
+
static const struct command_registration flash_exec_command_handlers[] = {
{
.name = "probe",
.help = "Turn protection on or off for a range of sectors "
"in a given flash bank.",
},
+ {
+ .name = "padded_value",
+ .handler = handle_flash_padded_value_command,
+ .mode = COMMAND_EXEC,
+ .usage = "bank_id value",
+ .help = "Set default flash padded value",
+ },
COMMAND_REGISTRATION_DONE
};
return register_commands(cmd_ctx, parent, flash_exec_command_handlers);
}
-
COMMAND_HANDLER(handle_flash_bank_command)
{
if (CMD_ARGC < 7) {
COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], c->size);
COMMAND_PARSE_NUMBER(int, CMD_ARGV[3], c->chip_width);
COMMAND_PARSE_NUMBER(int, CMD_ARGV[4], c->bus_width);
+ c->default_padded_value = 0xff;
c->num_sectors = 0;
c->sectors = NULL;
c->next = NULL;