<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" DBVersion="V4.0" Name="SPI" Version="STM32Cube_FW_G0_V1.4.0RC1" IncludeFile="stm32g0xx_ll_spi.h"
            xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../../doc/V4/Development/Specifications/db/IP_Configs.xsd">
    
    <RefConfig Name="Spi_Init">
        <CallLibMethod Name="LL_SPI_Init">
        	<MethodArg Name="SPIx" ParameterName="Instance"/>
          	<MethodArg Name="TransferDirection" ParameterName="Direction"/>
           	<MethodArg Name="Mode" ParameterName="Mode"/>
           	<MethodArg Name="DataWidth" ParameterName="DataSize"/>
           	<MethodArg Name="ClockPolarity" ParameterName="CLKPolarity"/>
           	<MethodArg Name="ClockPhase" ParameterName="CLKPhase"/>
           	<MethodArg Name="NSS" ParameterName="NSS"/>
           	<MethodArg Name="BaudRate" ParameterName="BaudRatePrescaler"/>
           	<MethodArg Name="BitOrder" ParameterName="FirstBit"/>
           	<MethodArg Name="CRCCalculation" ParameterName="CRCCalculation"/>
           	<MethodArg Name="CRCPoly" ParameterName="CRCPolynomial"/>
        </CallLibMethod>
         <IFCondition Expression="!(CRCCalculation = SPI_CRCCALCULATION_DISABLE)">
            <CallLibMethod Name="LL_SPI_SetCRCWidth">
        	<MethodArg Name="SPIx" ParameterName="Instance"/>    
                <MethodArg Name="CRCLength" ParameterName="CRCLength"/>
            </CallLibMethod>
        </IFCondition>
        
        <IFCondition Expression="NSSPMode = SPI_NSS_PULSE_ENABLE">
            <CallLibMethod Name="LL_SPI_EnableNSSPulseMgt">
                <MethodArg  Name="SPIx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        
        <IFCondition Expression="NSSPMode = SPI_NSS_PULSE_DISABLE">
            <CallLibMethod Name="LL_SPI_DisableNSSPulseMgt">
                <MethodArg  Name="SPIx" ParameterName="Instance"/>
            </CallLibMethod>
        </IFCondition>
        
        <CallLibMethod Name="LL_SPI_SetStandard">
        	<MethodArg Name="SPIx" ParameterName="Instance"/>
          	<MethodArg Name="Standard" ParameterName="TIMode"/>
        </CallLibMethod>
    </RefConfig>

    <RefConfig Name="Spi_DeInit">
        <CallLibMethod Name="LL_SPI_DeInit"/>
    </RefConfig>
    
	<LibMethod Comment="" Name="LL_SPI_SetCRCWidth">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
		<Argument AddressOf="false" GenericType="simple" Name="CRCLength" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_Enable">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_Disable">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabled">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetStandard">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Standard" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetStandard">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetClockPhase">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="ClockPhase" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetClockPhase">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetClockPolarity">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="ClockPolarity" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetClockPolarity">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetBaudRatePrescaler">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="BaudRate" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetBaudRatePrescaler">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetTransferBitOrder">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="BitOrder" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetTransferBitOrder">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetTransferDirection">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TransferDirection" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetTransferDirection">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetDataWidth">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="DataWidth" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetDataWidth">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetRxFIFOThreshold">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Threshold" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetRxFIFOThreshold">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableCRC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableCRC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledCRC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetCRCWidth">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="CRCLength" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetCRCWidth">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetCRCNext">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetCRCPolynomial">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="CRCPoly" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetCRCPolynomial">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetRxCRC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetTxCRC">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_ReceiveData8">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_ReceiveData16">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_TransmitData8">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TxData" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_TransmitData16">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="TxData" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableDMAReq_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableDMAReq_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledDMAReq_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableDMAReq_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableDMAReq_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledDMAReq_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetDMAParity_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Parity" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetDMAParity_RX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetDMAParity_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="Parity" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetDMAParity_TX">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DMA_GetRegAddr">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_RXNE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_TXE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_CRCERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_MODF">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_OVR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_BSY">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsActiveFlag_FRE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetRxFIFOLevel">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetTxFIFOLevel">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_ClearFlag_CRCERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_ClearFlag_MODF">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_ClearFlag_OVR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_ClearFlag_FRE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DeInit">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_Init">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="true" GenericType="struct" Name="SPI_InitStruct" TypeName="LL_SPI_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="TransferDirection" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="DataWidth" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ClockPolarity" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ClockPhase" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="NSS" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="BaudRate" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="BitOrder" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="CRCCalculation" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="CRCPoly" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_StructInit">
        <Argument AddressOf="true" GenericType="struct" Name="SPI_InitStruct" TypeName="LL_SPI_InitTypeDef">
            <Argument AddressOf="false" GenericType="simple" Name="TransferDirection" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="Mode" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="DataWidth" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ClockPolarity" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="ClockPhase" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="NSS" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="BaudRate" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="BitOrder" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="CRCCalculation" OptimizationCondition="equal"/>
            <Argument AddressOf="false" GenericType="simple" Name="CRCPoly" OptimizationCondition="equal"/>
        </Argument>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableIT_ERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableIT_RXNE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableIT_TXE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableIT_ERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableIT_RXNE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableIT_TXE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledIT_ERR">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledIT_RXNE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledIT_TXE">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_SetNSSMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
        <Argument AddressOf="false" GenericType="simple" Name="NSS" OptimizationCondition="equal"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_GetNSSMode">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_EnableNSSPulseMgt">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_DisableNSSPulseMgt">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <LibMethod Comment="" Name="LL_SPI_IsEnabledNSSPulse">
        <Argument AddressOf="false" GenericType="baseaddress" Name="SPIx" TypeName="SPI_TypeDef"/>
    </LibMethod>
    <RefComponent Cclass="LL" Cgroup="SPI" Cversion="1.6.0RC1">
        <File Category="header" Name="Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_spi.h"/>
        <File Category="source" Name="Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_ll_spi.c"/>
    </RefComponent>
</IP>
