Skip to content

Commit a8b9bf6

Browse files
committed
baseboard/x1e80100-woa: make postinstall script smarter
1 parent db27151 commit a8b9bf6

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

baseboard/x1e80100-woa/postinstall

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,35 @@ function umount_windows() {
1515
}
1616
trap umount_windows EXIT
1717

18-
DMI="/sys/class/dmi/id"
19-
BOARD_VENDOR="$(cat $DMI/board_vendor)"
20-
PRODUCT_NAME="$(cat $DMI/product_name)"
18+
FW_PATH="$DESTDIR/lib/firmware/"
2119

22-
FIRMWARES='qcadsp8380.mbn qccdsp8380.mbn adsp_dtbs.elf cdsp_dtbs.elf qcdxkmsuc8380.mbn'
23-
BT_FIRMWARES='hmtbtfw20.tlv hmtnv20.b112'
24-
FIRMWARE_PATHS=""
25-
BT_FIRMWARE_PATHS=""
20+
GPU_PATH="$(cat /sys/firmware/devicetree/base/soc\@0/gpu\@3d00000/zap-shader/firmware-name)"
21+
GPU_NAME="$(basename $GPU_PATH)"
2622

27-
for FW in $FIRMWARES; do
28-
# push latest version of firmware file
29-
FIRMWARE_PATHS="$FIRMWARE_PATHS $(find /windows/Windows/System32/DriverStore/FileRepository/ -name $FW -exec ls -t {} + | head -n1)"
30-
done
23+
ADSP_PATH1="$(head -z -n1 < /sys/firmware/devicetree/base/soc\@0/remoteproc\@30000000/firmware-name)"
24+
ADSP_NAME1="$(basename $ADSP_PATH1)"
3125

32-
mkdir -p "$DESTDIR/lib/firmware/qcom/x1e80100/$BOARD_VENDOR/$PRODUCT_NAME/"
33-
for FILE in $FIRMWARE_PATHS; do
34-
cp "$FILE" "$DESTDIR/lib/firmware/qcom/x1e80100/$BOARD_VENDOR/$PRODUCT_NAME/"
35-
done
26+
ADSP_PATH2="$(tail -z -n1 < /sys/firmware/devicetree/base/soc\@0/remoteproc\@30000000/firmware-name)"
27+
ADSP_NAME2="$(basename $ADSP_PATH2)"
28+
29+
CDSP_PATH1="$(head -z -n1 < /sys/firmware/devicetree/base/soc\@0/remoteproc\@32300000/firmware-name)"
30+
CDSP_NAME1="$(basename $CDSP_PATH1)"
31+
32+
CDSP_PATH2="$(tail -z -n1 < /sys/firmware/devicetree/base/soc\@0/remoteproc\@32300000/firmware-name)"
33+
CDSP_NAME2="$(basename $CDSP_PATH2)"
34+
35+
function file_repo_path() {
36+
find /windows/Windows/System32/DriverStore/FileRepository/ -name "$1" -exec ls -t {} + | head -n1
37+
}
38+
39+
cp "$(file_repo_path $GPU_NAME)" "$FW_PATH/$GPU_PATH"
40+
cp "$(file_repo_path $ADSP_NAME1)" "$FW_PATH/$ADSP_PATH1"
41+
cp "$(file_repo_path $ADSP_NAME2)" "$FW_PATH/$ADSP_PATH2"
42+
cp "$(file_repo_path $CDSP_NAME1)" "$FW_PATH/$CDSP_PATH1"
43+
cp "$(file_repo_path $CDSP_NAME2)" "$FW_PATH/$CDSP_PATH2"
44+
45+
BT_FIRMWARES='hmtbtfw20.tlv hmtnv20.b112'
46+
BT_FIRMWARE_PATHS=""
3647

3748
for FW in $BT_FIRMWARES; do
3849
BT_FIRMWARE_PATHS="$BT_FIRMWARE_PATHS $(find /windows/Windows/System32/DriverStore/FileRepository/ -name $FW -exec ls -t {} + | head -n1)"

0 commit comments

Comments
 (0)