From 4a7d6b6becf3df0a78af7a45f1e36065f6674006 Mon Sep 17 00:00:00 2001 From: Missing Date: Tue, 15 Oct 2024 15:05:56 +0800 Subject: [PATCH] add( script : kunpeng_clock.sh) --- 06.project/kunpeng_clock.sh | 146 ++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 06.project/kunpeng_clock.sh diff --git a/06.project/kunpeng_clock.sh b/06.project/kunpeng_clock.sh new file mode 100644 index 0000000..3132ccb --- /dev/null +++ b/06.project/kunpeng_clock.sh @@ -0,0 +1,146 @@ +#!/bin/sh + +#---------------------------------------------------- +# EEPROM Content +#---------------------------------------------------- +DATA_00="0x26 0x4b 0x6e 0x53 0x00 0xf0 0xff 0xe7 0x26 0x4b 0x6e 0x53 0x41 0xf0 0xff 0x0a" +DATA_01="0x00 0x00 0x00 0xc0 0x01 0x04 0x64 0x00 0x00 0xe0 0xc6 0x01 0x02 0x00 0x10 0xc8" +DATA_02="0x01 0x04 0x64 0x00 0x00 0xe0 0xce 0x01 0x02 0x00 0x10 0xd0 0x01 0x04 0x64 0x00" +DATA_03="0x00 0xe0 0xd6 0x01 0x02 0x00 0x10 0xd8 0x01 0x04 0x64 0x00 0x00 0xe0 0xde 0x01" +DATA_04="0x02 0x00 0x10 0x00 0x00 0xa5 0x02 0x00 0x02 0x08 0x21 0x08 0x00 0x04 0x00 0xf0" +DATA_05="0x12 0x01 0x16 0x00 0x02 0x05 0x83 0x18 0x00 0x04 0x80 0x00 0x8c 0x03 0x21 0x00" +DATA_06="0x01 0x03 0x28 0x00 0x02 0xb2 0x00 0x2c 0x00 0x04 0x45 0x0f 0x4f 0x20 0x30 0x00" +DATA_07="0x02 0x08 0x80 0x34 0x00 0x02 0x08 0x80 0x38 0x00 0x04 0x04 0x00 0x40 0x00 0x3c" +DATA_08="0x00 0x04 0x02 0x00 0x50 0x00 0x40 0x00 0x04 0x04 0x00 0x40 0x00 0x44 0x00 0x04" +DATA_09="0x02 0x00 0x50 0x00 0x48 0x00 0x01 0x0b 0x49 0x00 0x01 0x38 0x50 0x00 0x02 0x20" +DATA_10="0x00 0x60 0x00 0x02 0x20 0x00 0x70 0x00 0x02 0x04 0x00 0x72 0x00 0x02 0x09 0x00" +DATA_11="0x74 0x00 0x04 0x04 0x00 0x02 0x00 0x80 0x00 0x02 0x20 0x00 0x90 0x00 0x02 0x20" +DATA_12="0x00 0xa0 0x00 0x04 0x00 0x00 0x00 0x80 0xc0 0x00 0x04 0x00 0x00 0x00 0x80 0xe0" +DATA_13="0x00 0x04 0x00 0x5a 0x62 0x82 0xe8 0x00 0x08 0x34 0x2b 0x00 0x00 0xbf 0x21 0x00" +DATA_14="0x00 0x00 0x01 0x04 0x00 0x00 0x00 0x80 0x24 0x01 0x02 0x64 0x00 0x26 0x01 0x01" +DATA_15="0x00 0x28 0x01 0x02 0x55 0x00 0x2a 0x01 0x01 0x37 0x2b 0x01 0x01 0xb7 0x2c 0x01" +DATA_16="0x01 0x05 0x2d 0x01 0x01 0x1b 0x30 0x01 0x01 0x0f 0x31 0x01 0x01 0x87 0x34 0x01" +DATA_17="0x01 0x64 0x38 0x01 0x04 0x07 0xc4 0x07 0x60 0x62 0x01 0x02 0x5c 0x8f 0x64 0x01" +DATA_18="0x01 0x22 0x82 0x01 0x01 0x3b 0x86 0x01 0x02 0x42 0x5b 0x88 0x01 0x02 0x10 0x11" +DATA_19="0xe0 0x01 0x08 0x64 0x00 0x00 0x00 0x00 0x00 0x00 0xe0 0xf0 0x01 0x08 0x64 0x00" +DATA_20="0x00 0x00 0x00 0x00 0x00 0xe0 0x00 0x02 0x08 0x64 0x00 0x00 0x00 0x00 0x00 0x00" +DATA_21="0xe0 0x40 0x02 0x01 0x87 0x42 0x02 0x02 0x3c 0x00 0x44 0x02 0x01 0x87 0x46 0x02" +DATA_22="0x02 0x3c 0x00 0x48 0x02 0x01 0x87 0x4a 0x02 0x02 0x3c 0x00 0x4c 0x02 0x01 0x87" +DATA_23="0x4e 0x02 0x02 0x3c 0x00 0x50 0x02 0x01 0x07 0x52 0x02 0x02 0x3c 0x00 0x54 0x02" +DATA_24="0x01 0x07 0x56 0x02 0x02 0x3c 0x00 0x58 0x02 0x01 0x87 0x5a 0x02 0x02 0x3c 0x00" +DATA_25="0x5c 0x02 0x01 0x87 0x5e 0x02 0x02 0x3c 0x00 0x60 0x02 0x01 0x87 0x62 0x02 0x02" +DATA_26="0x3c 0x00 0x64 0x02 0x01 0x07 0x66 0x02 0x02 0x3c 0x00 0x68 0x02 0x01 0x06 0x6a" +DATA_27="0x02 0x02 0x2c 0x00 0x6c 0x02 0x01 0x06 0x6e 0x02 0x02 0x2c 0x00 0x80 0x02 0x01" +DATA_28="0x25 0x84 0x02 0x01 0x25 0x88 0x02 0x01 0x25 0x8c 0x02 0x01 0x25 0x90 0x02 0x01" +DATA_29="0x25 0x94 0x02 0x01 0x10 0x98 0x02 0x01 0x10 0xc4 0x02 0x01 0x0d 0x00 0x00 0xd2" +DATA_30="0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00" +DATA_31="0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00" +DATA_32="0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00" +DATA_33="0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xf3 0x05 0x26 0x06" + +#---------------------------------------------------- +# Function Define +#---------------------------------------------------- +# Function Name : +# Param Define : $1 - EEPROM slave address +# : $2 - write offset +# : $3 - write data +# : $4 - Data Index +write_and_check(){ + + # Print some Information + echo "-----------------------------------------------------------" + echo "Data Index : $4" + echo "Slave Addr : $1" + echo "Offset : $2" + echo "Data Info : $3" + + # Remove prefix '0x' of the Raw Data + cleaned_data=$(echo "$3" | awk ' + { + for (i=1; i<=NF; i++) + { + sub(/^0x/, "", $i); print $i + } + }') + + # echo "$cleaned_data" + + retry_cnt=0 + while true + do + # Write Data to EEPROM by I2C + i2c-test -b 6 -s $1 -w -d $2 $3 >> /dev/null + + # Get Data of the eeprom and check + eeprom_res=`i2c-test -b 6 -s "$1" -m 1 -rc 16 -d "$2" | awk 'NR==2{print}'` + cleaned_res=$(echo "$eeprom_res" | awk ' + { + for (i=1; i <=NF; i++) + { + print $i + } + }') + + if [ "$cleaned_data" == "$cleaned_res" ];then + echo "Write Index : $4 , Successfully!" + break + fi + + retry_cnt=$(($retry_cnt+1)) + + if [ $retry_cnt -eq 11 ];then + echo "Retry 10 times, Exit ... Please Manually confirm the I2C Status" + echo "Flash firmware Failed !!! " + exit 1 + fi + + echo "Check Data Failed, retry : $retry_cnt" + + sleep 1 + + done + +} + +#---------------------------------------------------- +# Start Execute Script +#---------------------------------------------------- + +# Function ----- slave-offset--data------Index +write_and_check "0x50" "0x00" "$DATA_00" "00" +write_and_check "0x55" "0xf0" "$DATA_01" "01" +write_and_check "0x56" "0x00" "$DATA_02" "02" +write_and_check "0x56" "0x10" "$DATA_03" "03" +write_and_check "0x56" "0x20" "$DATA_04" "04" +write_and_check "0x56" "0x30" "$DATA_05" "05" +write_and_check "0x56" "0x40" "$DATA_06" "06" +write_and_check "0x56" "0x50" "$DATA_07" "07" +write_and_check "0x56" "0x60" "$DATA_08" "08" +write_and_check "0x56" "0x70" "$DATA_09" "09" +write_and_check "0x56" "0x80" "$DATA_10" "10" +write_and_check "0x56" "0x90" "$DATA_11" "11" +write_and_check "0x56" "0xa0" "$DATA_12" "12" +write_and_check "0x56" "0xb0" "$DATA_13" "13" +write_and_check "0x56" "0xc0" "$DATA_14" "14" +write_and_check "0x56" "0xd0" "$DATA_15" "15" +write_and_check "0x56" "0xe0" "$DATA_16" "16" +write_and_check "0x56" "0xf0" "$DATA_17" "17" +write_and_check "0x57" "0x00" "$DATA_18" "18" +write_and_check "0x57" "0x10" "$DATA_19" "19" +write_and_check "0x57" "0x20" "$DATA_20" "20" +write_and_check "0x57" "0x30" "$DATA_21" "21" +write_and_check "0x57" "0x40" "$DATA_22" "22" +write_and_check "0x57" "0x50" "$DATA_23" "23" +write_and_check "0x57" "0x60" "$DATA_24" "24" +write_and_check "0x57" "0x70" "$DATA_25" "25" +write_and_check "0x57" "0x80" "$DATA_26" "26" +write_and_check "0x57" "0x90" "$DATA_27" "27" +write_and_check "0x57" "0xa0" "$DATA_28" "28" +write_and_check "0x57" "0xb0" "$DATA_29" "29" +write_and_check "0x57" "0xc0" "$DATA_30" "30" +write_and_check "0x57" "0xd0" "$DATA_31" "31" +write_and_check "0x57" "0xe0" "$DATA_32" "32" +write_and_check "0x57" "0xf0" "$DATA_33" "33" + +echo "Flash firmware successfully"