2
2
* QEMU RISC-V Board Compatible with OpenTitan EarlGrey FPGA platform
3
3
*
4
4
* Copyright (c) 2022-2024 Rivos, Inc.
5
+ * Copyright (c) 2024-2025 lowRISC contributors.
5
6
*
6
7
* Author(s):
7
8
* Emmanuel Blot <[email protected] >
@@ -212,6 +213,14 @@ static const uint32_t ot_eg_pmp_addrs[] = {
212
213
#define OT_EG_SOC_GPIO_SYSBUS_IRQ (_irq_ , _target_ , _num_ ) \
213
214
IBEX_GPIO_SYSBUS_IRQ(_irq_, OT_EG_SOC_DEV_##_target_, _num_)
214
215
216
+ #define OT_EG_SOC_GPIO_ALERT (_snum_ , _tnum_ ) \
217
+ OT_EG_SOC_SIGNAL(OT_DEVICE_ALERT, _snum_, ALERT_HANDLER, OT_DEVICE_ALERT, \
218
+ _tnum_)
219
+
220
+ #define OT_EG_SOC_GPIO_ESCALATE (_snum_ , _tgt_ , _tnum_ ) \
221
+ OT_EG_SOC_SIGNAL(OT_ALERT_ESCALATE, _snum_, _tgt_, OT_ALERT_ESCALATE, \
222
+ _tnum_)
223
+
215
224
#define OT_EG_SOC_DEVLINK (_pname_ , _target_ ) \
216
225
IBEX_DEVLINK(_pname_, OT_EG_SOC_DEV_##_target_)
217
226
@@ -340,7 +349,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
340
349
OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 6 ),
341
350
OT_EG_SOC_GPIO_SYSBUS_IRQ (6 , PLIC , 7 ),
342
351
OT_EG_SOC_GPIO_SYSBUS_IRQ (7 , PLIC , 8 ),
343
- OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 9 )
352
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 9 ),
353
+ OT_EG_SOC_GPIO_ALERT (0 , 0 )
344
354
),
345
355
.prop = IBEXDEVICEPROPDEFS (
346
356
IBEX_DEV_UINT_PROP ("pclk" , OT_EG_PERIPHERAL_CLK_HZ )
@@ -362,7 +372,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
362
372
OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 15 ),
363
373
OT_EG_SOC_GPIO_SYSBUS_IRQ (6 , PLIC , 16 ),
364
374
OT_EG_SOC_GPIO_SYSBUS_IRQ (7 , PLIC , 17 ),
365
- OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 18 )
375
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 18 ),
376
+ OT_EG_SOC_GPIO_ALERT (0 , 1 )
366
377
),
367
378
.prop = IBEXDEVICEPROPDEFS (
368
379
IBEX_DEV_UINT_PROP ("pclk" , OT_EG_PERIPHERAL_CLK_HZ )
@@ -384,7 +395,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
384
395
OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 24 ),
385
396
OT_EG_SOC_GPIO_SYSBUS_IRQ (6 , PLIC , 25 ),
386
397
OT_EG_SOC_GPIO_SYSBUS_IRQ (7 , PLIC , 26 ),
387
- OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 27 )
398
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 27 ),
399
+ OT_EG_SOC_GPIO_ALERT (0 , 2 )
388
400
),
389
401
.prop = IBEXDEVICEPROPDEFS (
390
402
IBEX_DEV_UINT_PROP ("pclk" , OT_EG_PERIPHERAL_CLK_HZ )
@@ -406,7 +418,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
406
418
OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 33 ),
407
419
OT_EG_SOC_GPIO_SYSBUS_IRQ (6 , PLIC , 34 ),
408
420
OT_EG_SOC_GPIO_SYSBUS_IRQ (7 , PLIC , 35 ),
409
- OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 36 )
421
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (8 , PLIC , 36 ),
422
+ OT_EG_SOC_GPIO_ALERT (0 , 3 )
410
423
),
411
424
.prop = IBEXDEVICEPROPDEFS (
412
425
IBEX_DEV_UINT_PROP ("pclk" , OT_EG_PERIPHERAL_CLK_HZ )
@@ -449,7 +462,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
449
462
OT_EG_SOC_GPIO_SYSBUS_IRQ (28 , PLIC , 65 ),
450
463
OT_EG_SOC_GPIO_SYSBUS_IRQ (29 , PLIC , 66 ),
451
464
OT_EG_SOC_GPIO_SYSBUS_IRQ (30 , PLIC , 67 ),
452
- OT_EG_SOC_GPIO_SYSBUS_IRQ (31 , PLIC , 68 )
465
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (31 , PLIC , 68 ),
466
+ OT_EG_SOC_GPIO_ALERT (0 , 4 )
453
467
)
454
468
},
455
469
[OT_EG_SOC_DEV_SPI_DEVICE ] = {
@@ -466,7 +480,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
466
480
OT_EG_SOC_GPIO_SYSBUS_IRQ (4 , PLIC , 73 ),
467
481
OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 74 ),
468
482
OT_EG_SOC_GPIO_SYSBUS_IRQ (6 , PLIC , 75 ),
469
- OT_EG_SOC_GPIO_SYSBUS_IRQ (7 , PLIC , 76 )
483
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (7 , PLIC , 76 ),
484
+ OT_EG_SOC_GPIO_ALERT (0 , 5 )
470
485
),
471
486
},
472
487
[OT_EG_SOC_DEV_I2C0 ] = {
@@ -520,7 +535,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
520
535
),
521
536
.gpio = IBEXGPIOCONNDEFS (
522
537
OT_EG_SOC_GPIO (0 , HART , IRQ_M_TIMER ),
523
- OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 124 )
538
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 124 ),
539
+ OT_EG_SOC_GPIO_ALERT (0 , 10 )
524
540
),
525
541
.prop = IBEXDEVICEPROPDEFS (
526
542
IBEX_DEV_UINT_PROP ("pclk" , OT_EG_PERIPHERAL_CLK_HZ )
@@ -534,7 +550,12 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
534
550
),
535
551
.gpio = IBEXGPIOCONNDEFS (
536
552
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 125 ),
537
- OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 126 )
553
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 126 ),
554
+ OT_EG_SOC_GPIO_ALERT (0 , 11 ),
555
+ OT_EG_SOC_GPIO_ALERT (1 , 12 ),
556
+ OT_EG_SOC_GPIO_ALERT (2 , 13 ),
557
+ OT_EG_SOC_GPIO_ALERT (3 , 14 ),
558
+ OT_EG_SOC_GPIO_ALERT (4 , 15 )
538
559
),
539
560
.link = IBEXDEVICELINKDEFS (
540
561
OT_EG_SOC_DEVLINK ("edn" , EDN0 ),
@@ -573,7 +594,10 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
573
594
{ .base = 0x40140000u }
574
595
),
575
596
.gpio = IBEXGPIOCONNDEFS (
576
- OT_EG_SOC_RSP (OT_PWRMGR_LC , PWRMGR )
597
+ OT_EG_SOC_RSP (OT_PWRMGR_LC , PWRMGR ),
598
+ OT_EG_SOC_GPIO_ALERT (0 , 16 ),
599
+ OT_EG_SOC_GPIO_ALERT (1 , 17 ),
600
+ OT_EG_SOC_GPIO_ALERT (2 , 18 )
577
601
),
578
602
.link = IBEXDEVICELINKDEFS (
579
603
OT_EG_SOC_DEVLINK ("otp_ctrl" , OTP_CTRL ),
@@ -633,7 +657,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
633
657
),
634
658
.gpio = IBEXGPIOCONNDEFS (
635
659
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 131 ),
636
- OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 132 )
660
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 132 ),
661
+ OT_EG_SOC_GPIO_ALERT (0 , 19 )
637
662
),
638
663
.prop = IBEXDEVICEPROPDEFS (
639
664
IBEX_DEV_UINT_PROP ("bus-num" , 0 )
@@ -646,7 +671,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
646
671
),
647
672
.gpio = IBEXGPIOCONNDEFS (
648
673
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 133 ),
649
- OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 134 )
674
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 134 ),
675
+ OT_EG_SOC_GPIO_ALERT (0 , 20 )
650
676
),
651
677
.prop = IBEXDEVICEPROPDEFS (
652
678
IBEX_DEV_UINT_PROP ("bus-num" , 1 )
@@ -678,7 +704,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
678
704
OT_IBEX_WRAPPER_CPU_EN ,
679
705
OT_IBEX_PWRMGR_CPU_EN ),
680
706
OT_EG_SOC_SIGNAL (OT_PWRMGR_RST_REQ , 0 , RSTMGR ,
681
- OT_RSTMGR_RST_REQ , 0 )
707
+ OT_RSTMGR_RST_REQ , 0 ),
708
+ OT_EG_SOC_GPIO_ALERT (0 , 22 )
682
709
),
683
710
.prop = IBEXDEVICEPROPDEFS (
684
711
IBEX_DEV_UINT_PROP ("num-rom" , 1u ),
@@ -692,14 +719,20 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
692
719
),
693
720
.gpio = IBEXGPIOCONNDEFS (
694
721
OT_EG_SOC_SIGNAL (OT_RSTMGR_SW_RST , 0 , PWRMGR , \
695
- OT_PWRMGR_SW_RST , 0 )
722
+ OT_PWRMGR_SW_RST , 0 ),
723
+ OT_EG_SOC_GPIO_ALERT (0 , 23 ),
724
+ OT_EG_SOC_GPIO_ALERT (1 , 24 )
696
725
),
697
726
},
698
727
[OT_EG_SOC_DEV_CLKMGR ] = {
699
728
.type = TYPE_OT_CLKMGR ,
700
729
.memmap = MEMMAPENTRIES (
701
730
{ .base = 0x40420000u }
702
731
),
732
+ .gpio = IBEXGPIOCONNDEFS (
733
+ OT_EG_SOC_GPIO_ALERT (0 , 25 ),
734
+ OT_EG_SOC_GPIO_ALERT (1 , 26 )
735
+ )
703
736
},
704
737
[OT_EG_SOC_DEV_SYSRST_CTRL ] = {
705
738
.type = TYPE_UNIMPLEMENTED_DEVICE ,
@@ -739,6 +772,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
739
772
.memmap = MEMMAPENTRIES (
740
773
{ .base = 0x40460000u }
741
774
),
775
+ .gpio = IBEXGPIOCONNDEFS (
776
+ OT_EG_SOC_GPIO_ALERT (0 , 30 )
777
+ )
742
778
},
743
779
[OT_EG_SOC_DEV_AON_TIMER ] = {
744
780
.type = TYPE_OT_AON_TIMER ,
@@ -751,7 +787,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
751
787
OT_EG_SOC_SIGNAL (OT_AON_TIMER_WKUP , 0 , PWRMGR , \
752
788
OT_PWRMGR_WKUP , OT_PWRMGR_WAKEUP_AON_TIMER ),
753
789
OT_EG_SOC_SIGNAL (OT_AON_TIMER_BITE , 0 , PWRMGR , \
754
- OT_PWRMGR_RST , OT_EG_RESET_AON_TIMER )
790
+ OT_PWRMGR_RST , OT_EG_RESET_AON_TIMER ),
791
+ OT_EG_SOC_GPIO_ALERT (0 , 31 )
755
792
),
756
793
.prop = IBEXDEVICEPROPDEFS (
757
794
IBEX_DEV_UINT_PROP ("pclk" , OT_EG_AON_CLK_HZ )
@@ -768,13 +805,20 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
768
805
.memmap = MEMMAPENTRIES (
769
806
{ .base = 0x40490000u }
770
807
),
808
+ .gpio = IBEXGPIOCONNDEFS (
809
+ OT_EG_SOC_GPIO_ALERT (0 , 32 ),
810
+ OT_EG_SOC_GPIO_ALERT (1 , 33 )
811
+ )
771
812
},
772
813
[OT_EG_SOC_DEV_SRAM_RET_CTRL ] = {
773
814
.type = TYPE_OT_SRAM_CTRL ,
774
815
.memmap = MEMMAPENTRIES (
775
816
{ .base = 0x40500000u },
776
817
{ .base = 0x40600000u }
777
818
),
819
+ .gpio = IBEXGPIOCONNDEFS (
820
+ OT_EG_SOC_GPIO_ALERT (0 , 34 )
821
+ ),
778
822
.link = IBEXDEVICELINKDEFS (
779
823
OT_EG_SOC_DEVLINK ("otp_ctrl" , OTP_CTRL )
780
824
),
@@ -797,7 +841,12 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
797
841
OT_EG_SOC_GPIO_SYSBUS_IRQ (2 , PLIC , 162 ),
798
842
OT_EG_SOC_GPIO_SYSBUS_IRQ (3 , PLIC , 163 ),
799
843
OT_EG_SOC_GPIO_SYSBUS_IRQ (4 , PLIC , 164 ),
800
- OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 165 )
844
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (5 , PLIC , 165 ),
845
+ OT_EG_SOC_GPIO_ALERT (0 , 35 ),
846
+ OT_EG_SOC_GPIO_ALERT (1 , 36 ),
847
+ OT_EG_SOC_GPIO_ALERT (2 , 37 ),
848
+ OT_EG_SOC_GPIO_ALERT (3 , 38 ),
849
+ OT_EG_SOC_GPIO_ALERT (4 , 39 )
801
850
),
802
851
},
803
852
[OT_EG_SOC_DEV_AES ] = {
@@ -806,7 +855,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
806
855
{ .base = 0x41100000u }
807
856
),
808
857
.gpio = IBEXGPIOCONNDEFS (
809
- OT_EG_SOC_CLKMGR_HINT (OT_CLKMGR_HINT_AES )
858
+ OT_EG_SOC_CLKMGR_HINT (OT_CLKMGR_HINT_AES ),
859
+ OT_EG_SOC_GPIO_ALERT (0 , 42 ),
860
+ OT_EG_SOC_GPIO_ALERT (1 , 43 )
810
861
),
811
862
.link = IBEXDEVICELINKDEFS (
812
863
OT_EG_SOC_DEVLINK ("edn" , EDN0 )
@@ -824,7 +875,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
824
875
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 166 ),
825
876
OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 167 ),
826
877
OT_EG_SOC_GPIO_SYSBUS_IRQ (2 , PLIC , 168 ),
827
- OT_EG_SOC_CLKMGR_HINT (OT_CLKMGR_HINT_HMAC )
878
+ OT_EG_SOC_CLKMGR_HINT (OT_CLKMGR_HINT_HMAC ),
879
+ OT_EG_SOC_GPIO_ALERT (0 , 44 )
828
880
),
829
881
},
830
882
[OT_EG_SOC_DEV_KMAC ] = {
@@ -835,7 +887,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
835
887
.gpio = IBEXGPIOCONNDEFS (
836
888
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 169 ),
837
889
OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 170 ),
838
- OT_EG_SOC_GPIO_SYSBUS_IRQ (2 , PLIC , 171 )
890
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (2 , PLIC , 171 ),
891
+ OT_EG_SOC_GPIO_ALERT (0 , 45 ),
892
+ OT_EG_SOC_GPIO_ALERT (1 , 46 )
839
893
),
840
894
.link = IBEXDEVICELINKDEFS (
841
895
OT_EG_SOC_DEVLINK ("edn" , EDN0 )
@@ -852,7 +906,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
852
906
),
853
907
.gpio = IBEXGPIOCONNDEFS (
854
908
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 172 ),
855
- OT_EG_SOC_CLKMGR_HINT (OT_CLKMGR_HINT_OTBN )
909
+ OT_EG_SOC_CLKMGR_HINT (OT_CLKMGR_HINT_OTBN ),
910
+ OT_EG_SOC_GPIO_ALERT (0 , 47 ),
911
+ OT_EG_SOC_GPIO_ALERT (1 , 48 )
856
912
),
857
913
.link = IBEXDEVICELINKDEFS (
858
914
OT_EG_SOC_DEVLINK ("edn-u" , EDN0 ),
@@ -884,7 +940,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
884
940
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 174 ),
885
941
OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 175 ),
886
942
OT_EG_SOC_GPIO_SYSBUS_IRQ (2 , PLIC , 176 ),
887
- OT_EG_SOC_GPIO_SYSBUS_IRQ (3 , PLIC , 177 )
943
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (3 , PLIC , 177 ),
944
+ OT_EG_SOC_GPIO_ALERT (0 , 51 ),
945
+ OT_EG_SOC_GPIO_ALERT (1 , 52 )
888
946
),
889
947
.link = IBEXDEVICELINKDEFS (
890
948
OT_EG_SOC_DEVLINK ("random_src" , ENTROPY_SRC ),
@@ -900,7 +958,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
900
958
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 178 ),
901
959
OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 179 ),
902
960
OT_EG_SOC_GPIO_SYSBUS_IRQ (2 , PLIC , 180 ),
903
- OT_EG_SOC_GPIO_SYSBUS_IRQ (3 , PLIC , 181 )
961
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (3 , PLIC , 181 ),
962
+ OT_EG_SOC_GPIO_ALERT (0 , 53 ),
963
+ OT_EG_SOC_GPIO_ALERT (1 , 54 )
904
964
),
905
965
.link = IBEXDEVICELINKDEFS (
906
966
OT_EG_SOC_DEVLINK ("ast" , AST ),
@@ -914,7 +974,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
914
974
),
915
975
.gpio = IBEXGPIOCONNDEFS (
916
976
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 182 ),
917
- OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 183 )
977
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 183 ),
978
+ OT_EG_SOC_GPIO_ALERT (0 , 55 ),
979
+ OT_EG_SOC_GPIO_ALERT (1 , 56 )
918
980
),
919
981
.link = IBEXDEVICELINKDEFS (
920
982
OT_EG_SOC_DEVLINK ("csrng" , CSRNG )
@@ -930,7 +992,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
930
992
),
931
993
.gpio = IBEXGPIOCONNDEFS (
932
994
OT_EG_SOC_GPIO_SYSBUS_IRQ (0 , PLIC , 184 ),
933
- OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 185 )
995
+ OT_EG_SOC_GPIO_SYSBUS_IRQ (1 , PLIC , 185 ),
996
+ OT_EG_SOC_GPIO_ALERT (0 , 57 ),
997
+ OT_EG_SOC_GPIO_ALERT (1 , 58 )
934
998
),
935
999
.link = IBEXDEVICELINKDEFS (
936
1000
OT_EG_SOC_DEVLINK ("csrng" , CSRNG )
@@ -945,6 +1009,9 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
945
1009
{ .base = 0x411c0000u },
946
1010
{ .base = 0x10000000u }
947
1011
),
1012
+ .gpio = IBEXGPIOCONNDEFS (
1013
+ OT_EG_SOC_GPIO_ALERT (0 , 59 )
1014
+ ),
948
1015
.link = IBEXDEVICELINKDEFS (
949
1016
OT_EG_SOC_DEVLINK ("otp_ctrl" , OTP_CTRL )
950
1017
),
@@ -964,7 +1031,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
964
1031
OT_EG_SOC_SIGNAL (OT_ROM_CTRL_GOOD , 0 , PWRMGR , \
965
1032
OT_PWRMGR_ROM_GOOD , 0 ),
966
1033
OT_EG_SOC_SIGNAL (OT_ROM_CTRL_DONE , 0 , PWRMGR , \
967
- OT_PWRMGR_ROM_DONE , 0 )
1034
+ OT_PWRMGR_ROM_DONE , 0 ),
1035
+ OT_EG_SOC_GPIO_ALERT (0 , 60 )
968
1036
),
969
1037
.link = IBEXDEVICELINKDEFS (
970
1038
OT_EG_SOC_DEVLINK ("kmac" , KMAC )
@@ -983,6 +1051,12 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
983
1051
.memmap = MEMMAPENTRIES (
984
1052
{ .base = 0x411f0000u }
985
1053
),
1054
+ .gpio = IBEXGPIOCONNDEFS (
1055
+ OT_EG_SOC_GPIO_ALERT (0 , 61 ),
1056
+ OT_EG_SOC_GPIO_ALERT (1 , 62 ),
1057
+ OT_EG_SOC_GPIO_ALERT (2 , 63 ),
1058
+ OT_EG_SOC_GPIO_ALERT (3 , 64 )
1059
+ ),
986
1060
.link = IBEXDEVICELINKDEFS (
987
1061
OT_EG_SOC_DEVLINK ("edn" , EDN0 )
988
1062
),
@@ -1000,7 +1074,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
1000
1074
OT_EG_SOC_DM_CONNECTION (OT_EG_SOC_DEV_DM , 0 ),
1001
1075
OT_EG_SOC_DM_CONNECTION (OT_EG_SOC_DEV_DM , 1 ),
1002
1076
OT_EG_SOC_DM_CONNECTION (OT_EG_SOC_DEV_DM , 2 ),
1003
- OT_EG_SOC_DM_CONNECTION (OT_EG_SOC_DEV_DM , 3 )
1077
+ OT_EG_SOC_DM_CONNECTION (OT_EG_SOC_DEV_DM , 3 ),
1078
+ OT_EG_SOC_GPIO_ALERT (0 , 40 )
1004
1079
),
1005
1080
},
1006
1081
[OT_EG_SOC_DEV_PLIC ] = {
@@ -1032,7 +1107,8 @@ static const IbexDeviceDef ot_eg_soc_devices[] = {
1032
1107
{ .base = 0x2c000000u }
1033
1108
),
1034
1109
.gpio = IBEXGPIOCONNDEFS (
1035
- OT_EG_SOC_GPIO (0 , HART , IRQ_M_SOFT )
1110
+ OT_EG_SOC_GPIO (0 , HART , IRQ_M_SOFT ),
1111
+ OT_EG_SOC_GPIO_ALERT (0 , 41 )
1036
1112
),
1037
1113
},
1038
1114
/* clang-format on */
0 commit comments