family:
  - name: nordic_nrf
    series:
      - name: nrf51
        socs:
          - name: nrf51822
      - name: nrf52
        socs:
          - name: nrf52805
          - name: nrf52810
          - name: nrf52811
          - name: nrf52820
          - name: nrf52832
          - name: nrf52833
          - name: nrf52840
      - name: nrf53
        socs:
          - name: nrf5340
            cpuclusters:
              - name: cpuapp
              - name: cpunet
      - name: nrf54l
        socs:
          - name: nrf54l05
            cpuclusters:
              - name: cpuapp
              - name: cpuflpr
          - name: nrf54l10
            cpuclusters:
              - name: cpuapp
              - name: cpuflpr
          - name: nrf54l15
            cpuclusters:
              - name: cpuapp
              - name: cpuflpr
          - name: nrf54l20
            cpuclusters:
              - name: cpuapp
      - name: nrf54h
        socs:
          - name: nrf54h20
            cpuclusters:
              - name: cpuapp
              - name: cpurad
              - name: cpuppr
              - name: cpuflpr
      - name: nrf91
        socs:
          - name: nrf9131
          - name: nrf9151
          - name: nrf9160
          - name: nrf9161
      - name: nrf92
        socs:
          - name: nrf9280
            cpuclusters:
              - name: cpuapp
              - name: cpurad
              - name: cpuppr

# Recovery/erase is only needed once per core. Prevent resetting the cores whilst flashing
# multiple images until all images for each core have been flashed, this allows security
# bits to be set during programming without them interfering with additional flashing
# operations.
runners:
  run_once:
    '--recover':
      - runners:
          - nrfjprog
          - nrfutil
        run: first
        groups:
          - qualifiers:
              - nrf51822
          - qualifiers:
              - nrf52805
          - qualifiers:
              - nrf52810
          - qualifiers:
              - nrf52811
          - qualifiers:
              - nrf52820
          - qualifiers:
              - nrf52832
          - qualifiers:
              - nrf52833
          - qualifiers:
              - nrf52840
          - qualifiers:
              - nrf5340/cpunet
              - nrf5340/cpuapp
              - nrf5340/cpuapp/ns
          - qualifiers:
              - nrf9131
              - nrf9131/ns
          - qualifiers:
              - nrf9151
              - nrf9151/ns
          - qualifiers:
              - nrf9160
              - nrf9160/ns
          - qualifiers:
              - nrf9161
              - nrf9161/ns
          - qualifiers:
              - nrf54l05/cpuapp
              - nrf54l05/cpuflpr
          - qualifiers:
              - nrf54l10/cpuapp
              - nrf54l10/cpuflpr
          - qualifiers:
              - nrf54l15/cpuapp
              - nrf54l15/cpuflpr
          - qualifiers:
              - nrf54l20/cpuapp
          - qualifiers:
              - nrf54h20/cpuapp
              - nrf54h20/cpurad
              - nrf54h20/cpuppr
              - nrf54h20/cpuflpr
          - qualifiers:
              - nrf9280/cpuapp
              - nrf9280/cpurad
              - nrf9280/cpuppr
    '--erase':
      - runners:
          - nrfjprog
          - jlink
          - nrfutil
        run: first
        groups:
          - qualifiers:
              - nrf51822
          - qualifiers:
              - nrf52805
          - qualifiers:
              - nrf52810
          - qualifiers:
              - nrf52811
          - qualifiers:
              - nrf52820
          - qualifiers:
              - nrf52832
          - qualifiers:
              - nrf52833
          - qualifiers:
              - nrf52840
          - qualifiers:
              - nrf5340/cpunet
          - qualifiers:
              - nrf5340/cpuapp
              - nrf5340/cpuapp/ns
          - qualifiers:
              - nrf9131
              - nrf9131/ns
          - qualifiers:
              - nrf9151
              - nrf9151/ns
          - qualifiers:
              - nrf9160
              - nrf9160/ns
          - qualifiers:
              - nrf9161
              - nrf9161/ns
          - qualifiers:
              - nrf54l05/cpuapp
              - nrf54l05/cpuflpr
          - qualifiers:
              - nrf54l10/cpuapp
              - nrf54l10/cpuflpr
          - qualifiers:
              - nrf54l15/cpuapp
              - nrf54l15/cpuflpr
          - qualifiers:
              - nrf54l20/cpuapp
          - qualifiers:
              - nrf54h20/cpuapp
              - nrf54h20/cpurad
              - nrf54h20/cpuppr
              - nrf54h20/cpuflpr
          - qualifiers:
              - nrf9280/cpuapp
              - nrf9280/cpurad
              - nrf9280/cpuppr
    '--reset':
      - runners:
          - nrfjprog
          - jlink
          - nrfutil
        run: last
        groups:
          - qualifiers:
              - nrf51822
          - qualifiers:
              - nrf52805
          - qualifiers:
              - nrf52810
          - qualifiers:
              - nrf52811
          - qualifiers:
              - nrf52820
          - qualifiers:
              - nrf52832
          - qualifiers:
              - nrf52833
          - qualifiers:
              - nrf52840
          - qualifiers:
              - nrf5340/cpunet
          - qualifiers:
              - nrf5340/cpuapp
              - nrf5340/cpuapp/ns
          - qualifiers:
              - nrf9131
              - nrf9131/ns
          - qualifiers:
              - nrf9151
              - nrf9151/ns
          - qualifiers:
              - nrf9160
              - nrf9160/ns
          - qualifiers:
              - nrf9161
              - nrf9161/ns
          - qualifiers:
              - nrf54l05/cpuapp
              - nrf54l05/cpuflpr
          - qualifiers:
              - nrf54l10/cpuapp
              - nrf54l10/cpuflpr
          - qualifiers:
              - nrf54l15/cpuapp
              - nrf54l15/cpuflpr
          - qualifiers:
              - nrf54h20/cpuapp
              - nrf54h20/cpurad
              - nrf54h20/cpuppr
              - nrf54h20/cpuflpr
          - qualifiers:
              - nrf9280/cpuapp
              - nrf9280/cpurad
              - nrf9280/cpuppr
