flash Kinetis: split kinetis_chip from kinetis_flash_bank
commit1fdc62ef65b4fc1dfb15507985cdcd90faafa389
authorTomas Vanek <vanekt@fbl.cz>
Mon, 26 Dec 2016 09:15:06 +0000 (26 10:15 +0100)
committerFreddie Chopin <freddie.chopin@gmail.com>
Sat, 17 Jun 2017 11:01:24 +0000 (17 12:01 +0100)
treeaacfb61238e33fa1c0ca35178f81dc099dabbe05
parent16f364a5919567712ba5ec8cd36133941306983f
flash Kinetis: split kinetis_chip from kinetis_flash_bank

Kinetis flash driver probed and decoded chip repeatedly for each flash
bank. Bank ordering used global bank number so multi-target
configuration was broken.

The change introduces kinetis_probe_chip() which reads SIM SDID
and SIM FCFG registers, decodes Kinetis series and family
and fills struct kinetis_chip. This probe runs once for all banks.

struct kinetis_chip contains pointers to all flash banks embeded
in the MCU. It simplifies iteration over all or specific MCU banks.

kinetis_probe_chip() generates MCU name and some informational messages
are improved.

Change-Id: I990db5c63ba490667eec0e5459086d83936662fb
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/3924
Tested-by: jenkins
Reviewed-by: Joakim NohlgÄrd <joakim.nohlgard@eistec.se>
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
src/flash/nor/kinetis.c