#!/bin/sh

if [ "$1" = "start" ]
then
   DEVICE=`cat /proc/device-tree/model`

   TYPE="3911"
   if [ -e /sys/devices/platform/nbs_rfid_as3911/ic_type ]
   then 
      TYPE=`cat /sys/devices/platform/nbs_rfid_as3911/ic_type`
   fi

   LCDTYPE="unknown"
   if [ -e /sys/kernel/secure/lcdtype ]
   then 
      LCDTYPE=`cat /sys/kernel/secure/lcdtype`
   fi


   if [ "$TYPE" == "3911" ]
   then
      logger "AS3911 Chip detected"
      if [ "$DEVICE" == "phoenix" ]
      then
         # LUXE8500i RFID init
         logger "Luxe: Configuring AS3911 Chip "
         echo 0  >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_R02_0
         echo 00 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX1_0
         echo 12 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX2_0
         echo 40 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_0
         echo 00 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_0
  
         echo 00 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/B_RX1_0
         echo 12 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/B_RX2_0
         echo 1C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/B_RX3_0
         echo 00 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/B_RX4_0
  
         echo 170 >/sys/devices/platform/nbs_rfid_as3911/Mod_Table/Y0
         echo 170 >/sys/devices/platform/nbs_rfid_as3911/Mod_Table/Y1
         echo 170 >/sys/devices/platform/nbs_rfid_as3911/Mod_Table/Y2
         echo 170 >/sys/devices/platform/nbs_rfid_as3911/Mod_Table/Y3
         echo 170 >/sys/devices/platform/nbs_rfid_as3911/Mod_Table/Y4
         echo 170 >/sys/devices/platform/nbs_rfid_as3911/Mod_Table/Y5

         echo 1 >/sys/devices/platform/nbs_rfid_as3911/disable_ts

         if [ -s /sys/devices/platform/nbs_rfid_as3911/nak_cnt ]
         then 
            echo 5 >/sys/devices/platform/nbs_rfid_as3911/nak_cnt
         fi

      elif [ "$DEVICE" == "griffin" ] 
      then
         # GRIFFIN RFID init
         logger "Griffin: Configuring AS3911 Chip "
      fi

   elif [ "$TYPE" == "3916" ]
   then
      logger "ST25R3916 Chip detected"
      if [ "$DEVICE" == "phoenix" ]
      then
         logger "Luxe: Configuring ST25R3916 Chip "
         if [ -s /sys/devices/platform/nbs_rfid_as3911/fsdi ]
         then 
            echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsdi
         fi
         if [ -s /sys/devices/platform/nbs_rfid_as3911/fsci ]
         then 
            echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsci
         fi
         echo 1C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_0
         echo 10  >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_0
      elif [ "$DEVICE" == "griffin" ] 
      then
        # GRIFFIN RFID init
        logger "Griffin: Configuring ST25R3916 Chip "
        if [ -s /sys/devices/platform/nbs_rfid_as3911/coll_cnt ]
        then 
           echo 15 >/sys/devices/platform/nbs_rfid_as3911/coll_cnt
        fi 
        if [ "$LCDTYPE" == "ST7796S" ]
        then       
           # New LCD 
           logger "RFID Config for ST7796S selected "
           echo 10 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_0
           echo 0  >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_1
           echo 6C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_0
	       echo 5C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_1  

	       echo 75 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/AMP0
	       echo 255>/sys/devices/platform/nbs_rfid_as3911/RX_Config/AMP1

	       echo 182 > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/dec_threshold
	       echo 107 > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/inc_threshold
	       echo 2   > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/low_red
	       echo 0   > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/high_red

           echo D0  >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg6A_0
           echo 9A  >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg6A_1 

           # overshoot
           echo 40   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg70_0
           echo 40   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg70_1
           echo f   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg71_0
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg71_1

           # undershoot
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg72_0
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg72_1
           echo 1f  >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg73_0
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg73_1

	   #echo 1 >/sys/devices/platform/nbs_rfid_as3911/disable_ts
           if [ -s /sys/devices/platform/nbs_rfid_as3911/fsdi ]
           then 
              echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsdi
           fi
           if [ -s /sys/devices/platform/nbs_rfid_as3911/fsci ]
           then 
              echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsci
           fi
		 
           if [ -s /sys/devices/platform/nbs_rfid_as3911/overshoot_2_a ]
           then 
             echo f >/sys/devices/platform/nbs_rfid_as3911/overshoot_2_a
           fi
        elif [ "$LCDTYPE" == "ILI9488" ]
        then
           logger "RFID Config for ILI9488 selected "

           echo 11 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_0
           echo 0  >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_1
           echo 6C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_0
           echo 5C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_1  

           echo 85 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/AMP0
	   echo 255>/sys/devices/platform/nbs_rfid_as3911/RX_Config/AMP1

	   echo 182 > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/dec_threshold
	   echo 107 > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/inc_threshold
	   echo 2   > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/low_red
	   echo 0   > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/high_red

           echo D0  >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg6A_0
           echo 9A  >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg6A_1 

           # overshoot
           echo 40   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg70_0
           echo 40   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg70_1
           echo f   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg71_0
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg71_1

           # undershoot
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg72_0
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg72_1
           echo 1f  >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg73_0
           echo 0   >/sys/devices/platform/nbs_rfid_as3911/AWS_B/aws_reg73_1

	   #echo 1 >/sys/devices/platform/nbs_rfid_as3911/disable_ts
           if [ -s /sys/devices/platform/nbs_rfid_as3911/fsdi ]
           then 
              echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsdi
           fi
           if [ -s /sys/devices/platform/nbs_rfid_as3911/fsci ]
           then 
              echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsci
           fi
		 
           if [ -s /sys/devices/platform/nbs_rfid_as3911/overshoot_2_a ]
           then 
             echo f >/sys/devices/platform/nbs_rfid_as3911/overshoot_2_a
           fi

        else
         # Old LCD
           echo 10 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_0
           echo 0  >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX4_1
           echo 60 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_0
	       echo 5C >/sys/devices/platform/nbs_rfid_as3911/RX_Config/A_RX3_1

	       echo 50 >/sys/devices/platform/nbs_rfid_as3911/RX_Config/AMP0
	       echo 255>/sys/devices/platform/nbs_rfid_as3911/RX_Config/AMP1

	       echo 181 > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/dec_threshold
	       echo 120 > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/inc_threshold
	       echo 2   > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/low_red
	       echo 0   > /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/high_red

	   #echo 1 >/sys/devices/platform/nbs_rfid_as3911/disable_ts
           if [ -s /sys/devices/platform/nbs_rfid_as3911/fsdi ]
           then 
              echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsdi
           fi
           if [ -s /sys/devices/platform/nbs_rfid_as3911/fsci ]
           then 
              echo 8 >/sys/devices/platform/nbs_rfid_as3911/fsci
           fi
		 
           if [ -s /sys/devices/platform/nbs_rfid_as3911/overshoot_2_a ]
           then 
             echo f >/sys/devices/platform/nbs_rfid_as3911/overshoot_2_a
           fi
        fi
     fi
  fi

  # Copy some nodes to use by sredd as initial values for high RFID power mode
  if [ -e /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/dec_threshold ]
  then
      cp /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/dec_threshold /etc/platform/settings/dec_threshold
  fi
  if [ -e /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/inc_threshold ]
  then
      cp /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/inc_threshold /etc/platform/settings/inc_threshold
  fi
  if [ -e /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/low_red ]
  then
      cp /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/low_red /etc/platform/settings/low_red
  fi
  if [ -e /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/high_red ]
  then
      cp /sys/devices/platform/nbs_rfid_as3911/Rfo_Cfg/high_red /etc/platform/settings/high_red
  fi

fi





