1*1cd7523fSDaniel Machon // SPDX-License-Identifier: GPL-2.0+ 2*1cd7523fSDaniel Machon 3*1cd7523fSDaniel Machon #include "vcap_api.h" 4*1cd7523fSDaniel Machon #include "lan969x.h" 5*1cd7523fSDaniel Machon 6*1cd7523fSDaniel Machon const struct sparx5_vcap_inst lan969x_vcap_inst_cfg[] = { 7*1cd7523fSDaniel Machon { 8*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_IS0, /* CLM-0 */ 9*1cd7523fSDaniel Machon .vinst = 0, 10*1cd7523fSDaniel Machon .map_id = 1, 11*1cd7523fSDaniel Machon .lookups = SPARX5_IS0_LOOKUPS, 12*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_IS0_LOOKUPS / 3, 13*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_IS0_L0, 14*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_IS0_L2 - 1, 15*1cd7523fSDaniel Machon .blockno = 2, 16*1cd7523fSDaniel Machon .blocks = 1, 17*1cd7523fSDaniel Machon .ingress = true, 18*1cd7523fSDaniel Machon }, 19*1cd7523fSDaniel Machon { 20*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_IS0, /* CLM-1 */ 21*1cd7523fSDaniel Machon .vinst = 1, 22*1cd7523fSDaniel Machon .map_id = 2, 23*1cd7523fSDaniel Machon .lookups = SPARX5_IS0_LOOKUPS, 24*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_IS0_LOOKUPS / 3, 25*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_IS0_L2, 26*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_IS0_L4 - 1, 27*1cd7523fSDaniel Machon .blockno = 3, 28*1cd7523fSDaniel Machon .blocks = 1, 29*1cd7523fSDaniel Machon .ingress = true, 30*1cd7523fSDaniel Machon }, 31*1cd7523fSDaniel Machon { 32*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_IS0, /* CLM-2 */ 33*1cd7523fSDaniel Machon .vinst = 2, 34*1cd7523fSDaniel Machon .map_id = 3, 35*1cd7523fSDaniel Machon .lookups = SPARX5_IS0_LOOKUPS, 36*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_IS0_LOOKUPS / 3, 37*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_IS0_L4, 38*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_IS0_MAX, 39*1cd7523fSDaniel Machon .blockno = 4, 40*1cd7523fSDaniel Machon .blocks = 1, 41*1cd7523fSDaniel Machon .ingress = true, 42*1cd7523fSDaniel Machon }, 43*1cd7523fSDaniel Machon { 44*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_IS2, /* IS2-0 */ 45*1cd7523fSDaniel Machon .vinst = 0, 46*1cd7523fSDaniel Machon .map_id = 4, 47*1cd7523fSDaniel Machon .lookups = SPARX5_IS2_LOOKUPS, 48*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_IS2_LOOKUPS / 2, 49*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_IS2_L0, 50*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_IS2_L2 - 1, 51*1cd7523fSDaniel Machon .blockno = 0, 52*1cd7523fSDaniel Machon .blocks = 1, 53*1cd7523fSDaniel Machon .ingress = true, 54*1cd7523fSDaniel Machon }, 55*1cd7523fSDaniel Machon { 56*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_IS2, /* IS2-1 */ 57*1cd7523fSDaniel Machon .vinst = 1, 58*1cd7523fSDaniel Machon .map_id = 5, 59*1cd7523fSDaniel Machon .lookups = SPARX5_IS2_LOOKUPS, 60*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_IS2_LOOKUPS / 2, 61*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_IS2_L2, 62*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_IS2_MAX, 63*1cd7523fSDaniel Machon .blockno = 1, 64*1cd7523fSDaniel Machon .blocks = 1, 65*1cd7523fSDaniel Machon .ingress = true, 66*1cd7523fSDaniel Machon }, 67*1cd7523fSDaniel Machon { 68*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_ES0, 69*1cd7523fSDaniel Machon .lookups = SPARX5_ES0_LOOKUPS, 70*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_ES0_LOOKUPS, 71*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_ES0_L0, 72*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_ES0_MAX, 73*1cd7523fSDaniel Machon .count = 1536, 74*1cd7523fSDaniel Machon .ingress = false, 75*1cd7523fSDaniel Machon }, 76*1cd7523fSDaniel Machon { 77*1cd7523fSDaniel Machon .vtype = VCAP_TYPE_ES2, 78*1cd7523fSDaniel Machon .lookups = SPARX5_ES2_LOOKUPS, 79*1cd7523fSDaniel Machon .lookups_per_instance = SPARX5_ES2_LOOKUPS, 80*1cd7523fSDaniel Machon .first_cid = SPARX5_VCAP_CID_ES2_L0, 81*1cd7523fSDaniel Machon .last_cid = SPARX5_VCAP_CID_ES2_MAX, 82*1cd7523fSDaniel Machon .count = 1024, 83*1cd7523fSDaniel Machon .ingress = false, 84*1cd7523fSDaniel Machon }, 85*1cd7523fSDaniel Machon }; 86