#!/bin/bash

# CXL need about 30 seconds to boot up. Wait 30 seconds then start polling CXLs status.
sleep 40

wf_eid=$(($1 * 10 + 2))
count=0
while [ $count -lt 3 ]; do

    output=$(pldmtool raw -m "$wf_eid" -d 0x80 0x02 0x3A 0x04 0x01)

    rx_line=$(echo "$output" | grep "Rx:")
    rx_data=$(echo "$rx_line" | awk '{print $4,$5,$6,$7,$8,$9,$10,$11,$12,$13}')

    cxl1_ready=$(echo "$rx_data" | awk '{print substr($7,1,2)}')
    cxl2_ready=$(echo "$rx_data" | awk '{print substr($10,1,2)}')

    if [ "$cxl1_ready" == "01" ]; then
        busctl call xyz.openbmc_project.MCTP /xyz/openbmc_project/mctp au.com.CodeConstruct.MCTP SetupEndpointByConfigPath s /xyz/openbmc_project/inventory/system/board/Yosemite_4_Wailua_Falls_Slot_"$1"/CXL1
    fi

    if [ "$cxl2_ready" == "01" ]; then
        busctl call xyz.openbmc_project.MCTP /xyz/openbmc_project/mctp au.com.CodeConstruct.MCTP SetupEndpointByConfigPath s /xyz/openbmc_project/inventory/system/board/Yosemite_4_Wailua_Falls_Slot_"$1"/CXL2
    fi

    if [ "$cxl1_ready" == "01" ] && [ "$cxl2_ready" == "01" ]; then
        break
    fi

    count=$((count + 1))
    sleep 2

done
