annotate target-utils/pirexplore/flashid.c @ 941:6b0b2f6dbb20

gsm-fw/services/ffs/drv.c: AMD multi-bank flash driver fixed for Pirelli and future FreeCalypso hardware
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Sun, 01 Nov 2015 00:07:09 +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 }