Skip to content

Commit ebc8ab3

Browse files
authored
Merge pull request #423 from kahnevan/iohs_sublink
Add new target relationship
2 parents 2f7ec49 + 729e22f commit ebc8ab3

3 files changed

Lines changed: 26 additions & 1 deletion

File tree

ecmd-core/ext/fapi2/capi/plat_target_rules.H

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,16 @@ constexpr void _check_valid_parent_of_iohs()
852852
"improper parent of fapi2::TARGET_TYPE_IOHS");
853853
}
854854

855+
template< fapi2::TargetType K, fapi2::TargetType T >
856+
constexpr void _check_valid_parent_of_iolink()
857+
{
858+
// valid parents for IOLINK
859+
// IOLINK -> IOHS
860+
static_assert(!((K == fapi2::TARGET_TYPE_IOLINK) &&
861+
(T != fapi2::TARGET_TYPE_IOHS)),
862+
"improper parent of fapi2::TARGET_TYPE_IOLINK");
863+
}
864+
855865
template< fapi2::TargetType K, fapi2::TargetType T >
856866
constexpr void _check_valid_parent_of_pau()
857867
{
@@ -905,6 +915,7 @@ constexpr void _check_valid_unicast_parent()
905915
fapi2plat::_check_valid_parent_of_capp<K, T>();
906916
fapi2plat::_check_valid_parent_of_nmmu<K, T>();
907917
fapi2plat::_check_valid_parent_of_iohs<K, T>();
918+
fapi2plat::_check_valid_parent_of_iolink<K, T>();
908919
fapi2plat::_check_valid_parent_of_pau<K, T>();
909920
}
910921

@@ -1203,6 +1214,16 @@ constexpr void _check_pauc_valid_children()
12031214
"improper child of fapi2::TARGET_TYPE_PAUC");
12041215
}
12051216

1217+
template< fapi2::TargetType K, fapi2::TargetType T >
1218+
constexpr void _check_iohs_valid_children()
1219+
{
1220+
// valid children for IOHS
1221+
// IOHS -> IOLINK
1222+
static_assert(!((K == fapi2::TARGET_TYPE_IOHS) &&
1223+
(T != fapi2::TARGET_TYPE_IOLINK)),
1224+
"improper child of fapi2::TARGET_TYPE_IOHS");
1225+
}
1226+
12061227

12071228
template< fapi2::TargetType K, fapi2::TargetType T >
12081229
constexpr void _check_valid_unicast_children()
@@ -1227,6 +1248,7 @@ constexpr void _check_valid_unicast_children()
12271248
fapi2plat::_check_mc_valid_children<K, T>();
12281249
fapi2plat::_check_obus_valid_children<K, T>();
12291250
fapi2plat::_check_pauc_valid_children<K, T>();
1251+
fapi2plat::_check_iohs_valid_children<K, T>();
12301252
}
12311253

12321254
#endif

ecmd-core/ext/fapi2/capi/target.H

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ Target<K, M, V>::getChildren(const TargetFilter i_filter,
269269
fapi2::TARGET_TYPE_NMMU |
270270
fapi2::TARGET_TYPE_PAU |
271271
fapi2::TARGET_TYPE_IOHS |
272+
fapi2::TARGET_TYPE_IOLINK |
272273
fapi2::TARGET_TYPE_PAUC;
273274

274275
static_assert( !((T & TARGET_TYPE_FILTER_CHIPLETS) == fapi2::TARGET_TYPE_NONE),

ecmd-core/ext/fapi2/capi/target_types.H

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ enum TargetType : uint64_t
8282
TARGET_TYPE_PMIC = 0x0000000800000000, ///< PMIC type
8383
TARGET_TYPE_PAUC = 0x0000001000000000, ///< PAUC type
8484
TARGET_TYPE_GENERICI2CSLAVE = 0x0000002000000000, ///< GENERICI2CSLAVE type
85+
TARGET_TYPE_IOLINK = 0x0000004000000000, ///< IOLINK type
8586
TARGET_TYPE_MULTICAST = 0x8000000000000000, ///< MULTICAST type
8687
TARGET_TYPE_ALL = 0x7FFFFFFFFFFFFFFF, ///< Any/All types
8788
TARGET_TYPE_ALL_MC = 0xFFFFFFFFFFFFFFFF, ///< Any/All types + Multicast
@@ -122,7 +123,8 @@ enum TargetType : uint64_t
122123
TARGET_TYPE_PAU |
123124
TARGET_TYPE_IOHS |
124125
TARGET_TYPE_FC |
125-
TARGET_TYPE_PAUC,
126+
TARGET_TYPE_PAUC |
127+
TARGET_TYPE_IOLINK,
126128

127129
TARGET_TYPE_MULTICASTABLE = TARGET_TYPE_CORE |
128130
TARGET_TYPE_EQ |

0 commit comments

Comments
 (0)