X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fatsamv.c;h=24c432cba3b2a2e0f905b1127c6cf15e645a6967;hb=20005eb81abaa3d191d6cdf36fd6f3d4e48a1db7;hp=13d1d263f852790347a43953c149dd37bd83d6d4;hpb=ef14384b681af4f731f768bb866457832af6925f;p=openocd.git
diff --git a/src/flash/nor/atsamv.c b/src/flash/nor/atsamv.c
index 13d1d263f8..24c432cba3 100644
--- a/src/flash/nor/atsamv.c
+++ b/src/flash/nor/atsamv.c
@@ -1,63 +1,22 @@
-/***************************************************************************
- * Copyright (C) 2009 by Duane Ellis *
- * openocd@duaneellis.com *
- * *
- * Copyright (C) 2010 by Olaf Lüke (at91sam3s* support) *
- * olaf@uni-paderborn.de *
- * *
- * Copyright (C) 2011 by Olivier Schonken, Jim Norris *
- * (at91sam3x* & at91sam4 support)* *
- * *
- * Copyright (C) 2015 Morgan Quigley *
- * (atsamv, atsams, and atsame support) *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see . *
- ***************************************************************************/
-
-/* Some of the the lower level code was based on code supplied by
- * ATMEL under this copyright. */
-
-/* BEGIN ATMEL COPYRIGHT */
-/* ----------------------------------------------------------------------------
- * ATMEL Microcontroller Software Support
- * ----------------------------------------------------------------------------
- * Copyright (c) 2009, Atmel Corporation
- *
- * All rights reserved.
+// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-Source-Code)
+
+/*
+ * Copyright (C) 2009 by Duane Ellis
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
+ * at91sam3s* support
+ * Copyright (C) 2010 by Olaf Lüke
*
- * - Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the disclaimer below.
+ * at91sam3x* & at91sam4 support
+ * Copyright (C) 2011 by Olivier Schonken and Jim Norris
*
- * Atmel's name may not be used to endorse or promote products derived from
- * this software without specific prior written permission.
+ * atsamv, atsams, and atsame support
+ * Copyright (C) 2015 Morgan Quigley
*
- * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
- * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * ----------------------------------------------------------------------------
+ * Some of the lower level code was based on code supplied by
+ * ATMEL under BSD-Source-Code License and this copyright.
+ * ATMEL Microcontroller Software Support
+ * Copyright (c) 2009, Atmel Corporation. All rights reserved.
*/
-/* END ATMEL COPYRIGHT */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -94,10 +53,8 @@
#define SAMV_PAGE_SIZE 512
#define SAMV_FLASH_BASE 0x00400000
-extern const struct flash_driver atsamv_flash;
-
struct samv_flash_bank {
- int probed;
+ bool probed;
unsigned size_bytes;
unsigned gpnvm[SAMV_NUM_GPNVM_BITS];
};
@@ -379,7 +336,7 @@ static int samv_probe(struct flash_bank *bank)
struct samv_flash_bank *samv_info = bank->driver_priv;
samv_info->size_bytes = bank->size;
- samv_info->probed = 1;
+ samv_info->probed = true;
bank->base = SAMV_FLASH_BASE;
bank->num_sectors = bank->size / SAMV_SECTOR_SIZE;
@@ -607,15 +564,15 @@ static int samv_write(struct flash_bank *bank, const uint8_t *buffer,
return ERROR_OK;
}
-static int samv_get_info(struct flash_bank *bank, char *buf, int buf_size)
+static int samv_get_info(struct flash_bank *bank, struct command_invocation *cmd)
{
struct samv_flash_bank *samv_info = bank->driver_priv;
if (!samv_info->probed) {
int r = samv_probe(bank);
- if (ERROR_OK != r)
+ if (r != ERROR_OK)
return r;
}
- snprintf(buf, buf_size, "Cortex-M7 detected with %d kB flash",
+ command_print_sameline(cmd, "Cortex-M7 detected with %" PRIu32 " kB flash\n",
bank->size / 1024);
return ERROR_OK;
}
@@ -661,7 +618,7 @@ COMMAND_HANDLER(samv_handle_gpnvm_command)
return ERROR_COMMAND_SYNTAX_ERROR;
}
- uint32_t v;
+ unsigned v = 0;
if (!strcmp("show", CMD_ARGV[0])) {
if (who == -1) {
showall:
@@ -676,6 +633,9 @@ showall:
}
if ((who >= 0) && (((unsigned)who) < SAMV_NUM_GPNVM_BITS)) {
r = samv_get_gpnvm(target, who, &v);
+ if (r != ERROR_OK)
+ return r;
+
command_print(CMD, "samv-gpnvm%u: %u", who, v);
return r;
} else {