#!/bin/sh
###
#
#       Enable GPIO's for Telem-iGW6 on VMX53
#
##

revision=1

boardname="$(/usr/local/bin/telem/boardname.sh)"

GPIO=/usr/local/bin/telem/gpio.sh

rm -r /usr/local/etc/telem/gpio.2 2> /dev/null

[ "$boardname" = "TX6DL" ] && revision=14
[ "$boardname" = "TX6QP" ] && revision=14

! rm /usr/local/etc/telem/gpio
ln -sf "/usr/local/etc/telem/$boardname.$revision" /usr/local/etc/telem/gpio

start() {
    echo "Init GPIO"
    
    if [ "$(cat /sys/class/gpio/gpiochip248/label 2>/dev/null)" == "pca9554" ]; then
        revision=14 # rev 14 is first revision with i2c gpio

        rm /usr/local/etc/telem/gpio 2>/dev/null
        ln -sf "/usr/local/etc/telem/$boardname.$revision" /usr/local/etc/telem/gpio

        $GPIO -e REV_BIT0
        $GPIO -e REV_BIT1
        $GPIO -e REV_BIT2
        $GPIO -e REV_BIT3
    else
        revision=8
        $GPIO -e REV_BIT0
        $GPIO -e REV_BIT1
        rev_bit0="$($GPIO -v REV_BIT0)"
        rev_bit1="$($GPIO -v REV_BIT1)"
        if [ "$rev_bit1" = "1" ]; then
            revision=11
        fi
    fi

    ! rm /usr/local/etc/telem/hw > /dev/null
    ln -sf "/usr/local/etc/telem/rev/$boardname.$revision" /usr/local/etc/telem/hw
    
    mkdir -p /tmp/telem/board
    
    echo "$boardname" > /tmp/telem/board/board
    echo "$revision"  > /tmp/telem/board/rev
    
    if [ "$revision" -le "10" ]; then
        logg "Enabling mxc 1-wire"
        modprobe mxc_w1
    fi
    
#     if [ $revision -gt 10 ]; then
#         logg "Enabling I2C to 1-wire bridge"
#         echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-2/new_device
#     else
#         logg "Enabling mxc 1-wire"
#         modprobe mxc_w1
#     fi

    # enable gpio's
    $GPIO -e LAN_OPT_PWR
    $GPIO -e EN_PERIF_PWR

#     /usr/local/bin/telem/check-usb.sh &

}


case "$1" in
    start)
        /etc/init.d/init-smsc
        start
        ;;
    stop)
        ;;
    restart|reload)
        stop
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1

esac

exit $?
