Skip to content

Commit 9534e88

Browse files
committed
Add Map/Key partition support in flash_part_info_gen4
1 parent 217b4b9 commit 9534e88

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

linux/switchtec_ioctl.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,13 @@
3434
#define SWITCHTEC_IOCTL_PART_VENDOR7 12
3535
#define SWITCHTEC_IOCTL_PART_BL2_0 13
3636
#define SWITCHTEC_IOCTL_PART_BL2_1 14
37+
#define SWITCHTEC_IOCTL_PART_MAP_0 15
38+
#define SWITCHTEC_IOCTL_PART_MAP_1 16
39+
#define SWITCHTEC_IOCTL_PART_KEY_0 17
40+
#define SWITCHTEC_IOCTL_PART_KEY_1 18
3741

3842
#define SWITCHTEC_NUM_PARTITIONS_GEN3 13
39-
#define SWITCHTEC_NUM_PARTITIONS_GEN4 15
43+
#define SWITCHTEC_NUM_PARTITIONS_GEN4 19
4044

4145
struct switchtec_ioctl_flash_info {
4246
__u64 flash_length;

switchtec.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,26 @@ static int flash_part_info_gen4(struct switchtec_dev *stdev,
705705
struct active_partition_info_gen4 __iomem *af = &fi->active_flag;
706706

707707
switch (info->flash_partition) {
708+
case SWITCHTEC_IOCTL_PART_MAP_0:
709+
set_fw_info_part(info, &fi->map0);
710+
break;
711+
case SWITCHTEC_IOCTL_PART_MAP_1:
712+
set_fw_info_part(info, &fi->map1);
713+
break;
714+
case SWITCHTEC_IOCTL_PART_KEY_0:
715+
set_fw_info_part(info, &fi->key0);
716+
if (ioread8(&af->key) == SWITCHTEC_GEN4_KEY0_ACTIVE)
717+
info->active |= SWITCHTEC_IOCTL_PART_ACTIVE;
718+
if (ioread16(&si->key_running) == SWITCHTEC_GEN4_KEY0_RUNNING)
719+
info->active |= SWITCHTEC_IOCTL_PART_RUNNING;
720+
break;
721+
case SWITCHTEC_IOCTL_PART_KEY_1:
722+
set_fw_info_part(info, &fi->key1);
723+
if (ioread8(&af->key) == SWITCHTEC_GEN4_KEY1_ACTIVE)
724+
info->active |= SWITCHTEC_IOCTL_PART_ACTIVE;
725+
if (ioread16(&si->key_running) == SWITCHTEC_GEN4_KEY1_RUNNING)
726+
info->active |= SWITCHTEC_IOCTL_PART_RUNNING;
727+
break;
708728
case SWITCHTEC_IOCTL_PART_BL2_0:
709729
set_fw_info_part(info, &fi->bl2_0);
710730
if (ioread8(&af->bl2) == SWITCHTEC_GEN4_BL2_0_ACTIVE)

0 commit comments

Comments
 (0)