#!/bin/bash
####################################################################
#
#      File: S42klmkbp
#      Name: Edward Conger
#
#      Description:
#      broadcom klm for kbp on LC
#
# Copyright (c) 2016-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
    27021)
        # NCS-5501-A2-SE (Winterfell)
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:07:00.0,0|0000:09:00.0,1)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:07:00.0,0|0000:09:00.0,1"
        ;;
    27025)
        # NCS-5501-A1-SE (Old Castle)
        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"
        ;;
    27030)
        # NCS-5502-MOD-SE-S (Peyto with TCAM)
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:0b:00.0,0)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:0b:00.0,0"
        ;;
    60001)
        # NC55A2-MOD-SE-H-S (Peyto ITEMP CC with TCAM)
        boot_debug "Starting klm_kbp (pcie_bus_mapping=0000:0b:00.0,0)"
        modprobe -q kbp_driver        pcie_bus_mapping="0000:0b:00.0,0"
        ;;
    *)
        boot_debug  "card_index $card_index was neither 27021 nor 27025"
        # No BCM52311 (OP) KBP chip needing the kbp_driver KLM
        ;;
    esac
    ;;

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

