#!/bin/bash
####################################################################
#
#      File: S42klmkbp
#      Name: Edward Conger
#
#      Description:
#      broadcom klm for kbp on LC card
#
# Copyright (c) 2016-2018, 2020 by cisco Systems, Inc.
# All rights reserved.
#
#####################################################################

. /etc/init.d/mod_ins/module-load-functions

boot_debug "Executing $0 [S42klmkbp]"

card_index=$(get_cmdline_card_index)


case $1 in
    start)
    case "$card_index" in

    27023)
        # Potenza+ LC(s) with TCAM
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:08:00.0,0|0000:0a:00.0,1|0000:0d:00.0,2|0000:0f:00.0,3)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:08:00.0,0|0000:0a:00.0,1|0000:0d:00.0,2|0000:0f:00.0,3"
        ;;
    27035)
        # Potenza+ LC(s) with MPA and TCAM
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:08:00.0,0)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:08:00.0,0"
        ;;
    27046)
        # Vigor-SE LC with two OP2 TCAM
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:08:00.0,0|0000:0a:00.0,1)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:08:00.0,0|0000:0a:00.0,1"
        ;;
    27062)
        # Vigor-100-SE LC with one OP2 TCAM
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:0a:00.0,0)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:0a:00.0,0"
        ;;  
    27055)
        # Vigor-SE LC Proto with one OP2 TCAM
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:08:00.0,0)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:08:00.0,0"
        ;;
    27067)
        # NCS-57C3-MODS-SYS (Eyrie SE with TCAM) TODO: EYRIE_BRINGUP
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:01:00.0,0)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:01:00.0,0"
        ;;
    *)
        boot_debug  "This card($card_index) does not have BCM52311 (OP) KBP Chip"
        # No BCM52311 (OP) KBP chip needing the kbp_driver KLM
        ;;
    esac
    ;;

    stop)
        boot_debug "Stopping klm_kbp"
        modprobe -q -r kbp_driver
    ;;
esac

