annotate target-utils/pirexplore/flashid.c @ 992:a7b0b426f9ca

target-utils: boot ROM UART autodetection revamped The new implementation should work with both the familiar Calypso C035 boot ROM version found in our regular targets as well as the older Calypso F741979B version found on the vintage D-Sample board.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Wed, 30 Dec 2015 21:28:41 +0000
parents 9539929b3414
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
206
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 #include "types.h"
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 void
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 cmd_flashid(argbulk)
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 char *argbulk;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 {
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 char *argv[2];
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 u32 base_addr;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 if (parse_args(argbulk, 1, 1, argv, 0) < 0)
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 return;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 if (argv[0][0] == '1' && !argv[0][1])
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 base_addr = 0x03000000;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 else if (argv[0][0] == '2' && !argv[0][1])
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15 base_addr = 0x02000000;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 else {
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 printf("ERROR: argument must be 1 or 2\n");
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 return;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 }
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 printf("Base addr: %08X\n", base_addr);
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 *(volatile u16 *)(base_addr + 0xAAA) = 0xAA;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 *(volatile u16 *)(base_addr + 0x554) = 0x55;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 *(volatile u16 *)(base_addr + 0xAAA) = 0x90;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 printf("offset 00: %04X\n", *(volatile u16 *)(base_addr + 0x00));
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 printf("offset 02: %04X\n", *(volatile u16 *)(base_addr + 0x02));
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 printf("offset 1C: %04X\n", *(volatile u16 *)(base_addr + 0x1C));
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27 printf("offset 1E: %04X\n", *(volatile u16 *)(base_addr + 0x1E));
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28 *(volatile u16 *)(base_addr + 0xAAA) = 0xF0;
9539929b3414 pirexplore: flashid command implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 }