Change-Id: Ibaf599a4ab88ea36a84b3389e2f704554d465434
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/5734
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
*/
struct sam3_bank_private {
*/
struct sam3_bank_private {
/* DANGER: THERE ARE DRAGONS HERE.. */
/* NOTE: If you add more 'ghost' pointers */
/* be aware that you must *manually* update */
/* DANGER: THERE ARE DRAGONS HERE.. */
/* NOTE: If you add more 'ghost' pointers */
/* be aware that you must *manually* update */
struct sam3_chip {
struct sam3_chip *next;
struct sam3_chip {
struct sam3_chip *next;
/* this is "initialized" from the global const structure */
struct sam3_chip_details details;
/* this is "initialized" from the global const structure */
struct sam3_chip_details details;
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
/* .bank[1] = { */
{
.present = 0,
/* .bank[1] = { */
{
.present = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 0,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
.pChip = NULL,
.pBank = NULL,
.bank_number = 1,
pChip->target = bank->target;
/* assumption is this runs at 32khz */
pChip->cfg.slow_freq = 32768;
pChip->target = bank->target;
/* assumption is this runs at 32khz */
pChip->cfg.slow_freq = 32768;
+ pPrivate->probed = true;
r = sam3_protect_check(bank);
if (r != ERROR_OK)
r = sam3_protect_check(bank);
if (r != ERROR_OK)