iLLD_TC29x  1.0
IfxHssl.h File Reference

HSSL basic functionality. More...

#include "_Impl/IfxHssl_cfg.h"
#include "Cpu/Std/IfxCpu_Intrinsics.h"
#include "IfxHssl_reg.h"
#include "IfxHsct_reg.h"
#include "Scu/Std/IfxScuWdt.h"
#include "IfxHssl_bf.h"
#include "IfxHsct_bf.h"
#include "Src/Std/IfxSrc.h"

Go to the source code of this file.

Data Structures

struct  IfxHssl_Hsct
 HSCT module handle. More...
 
struct  IfxHssl_Hsct_Config
 Configuration structure of the HSCT module. More...
 

Enumerations

enum  IfxHssl_ChannelId {
  IfxHssl_ChannelId_0,
  IfxHssl_ChannelId_1,
  IfxHssl_ChannelId_2,
  IfxHssl_ChannelId_3
}
 channel selection More...
 
enum  IfxHssl_ClockFrequencyRate {
  IfxHssl_ClockFrequencyRate_20Mhz = 0,
  IfxHssl_ClockFrequencyRate_10Mhz = 1
}
 SysClk / Reference Clock Frequency rate Definition in Ifx_HSCT.INIT.B.SRCF. More...
 
enum  IfxHssl_Command {
  IfxHssl_Command_noAction = 0,
  IfxHssl_Command_readFrame = 1,
  IfxHssl_Command_writeFrame = 2,
  IfxHssl_Command_triggerFrame = 3
}
 communication command selection Definition in Ifx_HSSL.I.ICON.B.RWT More...
 
enum  IfxHssl_ControlCommand {
  IfxHssl_ControlCommand_ping = 0,
  IfxHssl_ControlCommand_highSpeedClockStart = 2,
  IfxHssl_ControlCommand_highSpeedClockStop = 4,
  IfxHssl_ControlCommand_lowSpeedTransmission = 8,
  IfxHssl_ControlCommand_highSpeedTransmission = 16,
  IfxHssl_ControlCommand_lowSpeedReception = 32,
  IfxHssl_ControlCommand_mediumSpeedReception = 64,
  IfxHssl_ControlCommand_highSpeedReception = 128,
  IfxHssl_ControlCommand_enableReception = 49,
  IfxHssl_ControlCommand_disableReception = 50,
  IfxHssl_ControlCommand_turnOnClockTestMode = 52,
  IfxHssl_ControlCommand_turnOffClockTestMode = 56,
  IfxHssl_ControlCommand_turnOnPayloadLoopback = 255
}
 predefined control command payload values More...
 
enum  IfxHssl_DataLength {
  IfxHssl_DataLength_8bit = 0,
  IfxHssl_DataLength_16bit = 1,
  IfxHssl_DataLength_32bit = 2
}
 Defines the length of the data in bits of the write and read command. Definition in Ifx_HSSL.I.ICON.B.DATLEN. More...
 
enum  IfxHssl_Hsct_InterruptSource {
  IfxHssl_Hsct_InterruptSource_headerError = IFX_HSCT_IRQ_HER_OFF,
  IfxHssl_Hsct_InterruptSource_payloadError = IFX_HSCT_IRQ_PYER_OFF,
  IfxHssl_Hsct_InterruptSource_commandError = IFX_HSCT_IRQ_CER_OFF,
  IfxHssl_Hsct_InterruptSource_interfaceControlFrameSend = IFX_HSCT_IRQ_IFCFS_OFF,
  IfxHssl_Hsct_InterruptSource_speedModeSwitchError = IFX_HSCT_IRQ_SMER_OFF,
  IfxHssl_Hsct_InterruptSource_unsolicitedMessageSendFinished = IFX_HSCT_IRQ_USMSF_OFF,
  IfxHssl_Hsct_InterruptSource_pllLockLosterror = IFX_HSCT_IRQ_PLER_OFF,
  IfxHssl_Hsct_InterruptSource_UnsolicitedMessageReceived = IFX_HSCT_IRQ_USM_OFF,
  IfxHssl_Hsct_InterruptSource_pingAnswerReceived = IFX_HSCT_IRQ_PAR_OFF,
  IfxHssl_Hsct_InterruptSource_txTransferError = IFX_HSCT_IRQ_TXTE_OFF,
  IfxHssl_Hsct_InterruptSource_synchronizationFifoOverflow = IFX_HSCT_IRQ_SFO_OFF,
  IfxHssl_Hsct_InterruptSource_synchronizationFifoUnderflow = IFX_HSCT_IRQ_SFU_OFF
}
 HSCT interrupt source Definition in Ifx_HSCT.IRQ. More...
 
enum  IfxHssl_Hsct_SleepMode {
  IfxHssl_Hsct_SleepMode_enable = 0,
  IfxHssl_Hsct_SleepMode_disable = 1
}
 Enable/disable the sensitivity of the module to sleep signal
Definition in Ifx_HSCT.CLC.B.EDIS. More...
 
enum  IfxHssl_Hssl_SleepMode {
  IfxHssl_Hssl_SleepMode_enable = 0,
  IfxHssl_Hssl_SleepMode_disable = 1
}
 Enable/disable the sensitivity of the module to sleep signal
Definition in Ifx_HSSL.CLC.B.EDIS. More...
 
enum  IfxHssl_InterfaceMode {
  IfxHssl_InterfaceMode_master = 0,
  IfxHssl_InterfaceMode_slave = 1
}
 interface mode (master IF /slave IF) Definition in Ifx_HSCT.INIT.B.IFM More...
 
enum  IfxHssl_MasterModeRxSpeed {
  IfxHssl_MasterModeRxSpeed_lowSpeed = 0,
  IfxHssl_MasterModeRxSpeed_mediumSpeed = 1,
  IfxHssl_MasterModeRxSpeed_highSpeed = 2
}
 master mode receive speed Definition in Ifx_HSCT.IFCTRL.B.MRXSPEED More...
 
enum  IfxHssl_MasterModeTxSpeed {
  IfxHssl_MasterModeTxSpeed_lowSpeed = 0,
  IfxHssl_MasterModeTxSpeed_highSpeed = 2
}
 master mode transmit speed Definition in Ifx_HSCT.IFCTRL.B.MTXSPEED More...
 
enum  IfxHssl_PllReferenceClock {
  IfxHssl_PllReferenceClock_hsctSystemClockInput = 0,
  IfxHssl_PllReferenceClock_oscillatorInput = 1
}
 PLL reference clock Definition in Ifx_HSCT.CONFIGPHY.B.OSCCLKEN. More...
 
enum  IfxHssl_StreamingMode {
  IfxHssl_StreamingMode_continuous = 0,
  IfxHssl_StreamingMode_single = 1
}
 streaming mode ( single / continuous ) Definition in Ifx_HSSL.CFG.B.SMT/SMR More...
 
enum  IfxHssl_Hssl_ERRInterruptSource {
  IfxHssl_Hssl_ERRInterruptSource_notAcknowledgeError = IFX_HSSL_MFLAGS_NACK_OFF,
  IfxHssl_Hssl_ERRInterruptSource_transactionTagError = IFX_HSSL_MFLAGS_TTE_OFF,
  IfxHssl_Hssl_ERRInterruptSource_timeoutError = IFX_HSSL_MFLAGS_TIMEOUT_OFF,
  IfxHssl_Hssl_ERRInterruptSource_unexpectedError = IFX_HSSL_MFLAGS_UNEXPECTED_OFF
}
 HSSL channel error interrupt source, which triggers the ERR interrupt Definition in Ifx_HSSL.MFLAGS. More...
 
enum  IfxHssl_Hssl_EXIInterruptSource {
  IfxHssl_Hssl_EXIInterruptSource_memoryAccessViolation = IFX_HSSL_MFLAGS_MAV_OFF,
  IfxHssl_Hssl_EXIInterruptSource_busAccessError = IFX_HSSL_MFLAGS_SRIE_OFF,
  IfxHssl_Hssl_EXIInterruptSource_channelNumberCodeError = IFX_HSSL_MFLAGS_PIE1_OFF,
  IfxHssl_Hssl_EXIInterruptSource_dataLengthError = IFX_HSSL_MFLAGS_PIE2_OFF,
  IfxHssl_Hssl_EXIInterruptSource_crcError = IFX_HSSL_MFLAGS_CRCE_OFF
}
 HSSL global error interrupt source, which triggers the EXI interrupt Definition in Ifx_HSSL.MFLAGS. More...
 

Functions

IFX_INLINE void IfxHssl_clearHsctInterruptFlag (Ifx_HSCT *hsct, IfxHssl_Hsct_InterruptSource source)
 Clears the HSCT interrupt flag. More...
 
IFX_INLINE void IfxHssl_disableHsctInterruptFlag (Ifx_HSCT *hsct, IfxHssl_Hsct_InterruptSource source)
 Enables HSCT interrupt flag. More...
 
IFX_INLINE void IfxHssl_enableHsctInterrupt (Ifx_HSCT *hsct, IfxSrc_Tos typeOfService, uint16 priority)
 Enables HSCT interrupt. More...
 
IFX_INLINE void IfxHssl_enableHsctInterruptFlag (Ifx_HSCT *hsct, IfxHssl_Hsct_InterruptSource source)
 Enables HSCT interrupt flag. More...
 
IFX_INLINE boolean IfxHssl_getHsctInterruptFlagStatus (Ifx_HSCT *hsct, IfxHssl_Hsct_InterruptSource source)
 Returns the HSCT interrupt flag status. More...
 
IFX_INLINE void IfxHssl_setHsctSleepMode (Ifx_HSCT *hsct, IfxHssl_Hsct_SleepMode mode)
 Sets the sensitivity of the module to sleep signal. More...
 
IFX_EXTERN void IfxHssl_enableHsctModule (Ifx_HSCT *hsct)
 Enables hsct module. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxHssl_getHsctSrcPointer (Ifx_HSCT *hsct)
 Returns the SRC pointer for HSCT. More...
 
IFX_INLINE void IfxHssl_clearHsslChannelErrorInterruptFlag (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source, IfxHssl_ChannelId channelId)
 Clears the HSSl channel error interrupt flag. More...
 
IFX_INLINE void IfxHssl_clearHsslGlobalErrorInterruptFlag (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source)
 Clears the HSSl global error interrupt flag. More...
 
IFX_INLINE void IfxHssl_disableHsslChannelErrorInterruptFlag (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source, IfxHssl_ChannelId channelId)
 Enables the HSSl channel error interrupt flag, which trggers the ERR interrupt. More...
 
IFX_INLINE void IfxHssl_disableHsslGlobalErrorInterruptFlag (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source)
 Disables the HSSl channel error interrupt flag, which trggers the EXI interrupt. More...
 
IFX_INLINE void IfxHssl_enableHsslCOKInterrupt (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId, IfxSrc_Tos typeOfService, uint16 priority)
 Enables HSSL COK interrupt of specified channel. More...
 
IFX_INLINE void IfxHssl_enableHsslChannelErrorInterruptFlag (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source, IfxHssl_ChannelId channelId)
 Enables the HSSl channel error interrupt flag, which trggers the ERR interrupt. More...
 
IFX_INLINE void IfxHssl_enableHsslERRInterrupt (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId, IfxSrc_Tos typeOfService, uint16 priority)
 Enables HSSL ERR interrupt of specified channel. More...
 
IFX_INLINE void IfxHssl_enableHsslEXIInterrupt (Ifx_HSSL *hssl, IfxSrc_Tos typeOfService, uint16 priority)
 Enables HSSL EXI interrupt of specified channel. More...
 
IFX_INLINE void IfxHssl_enableHsslGlobalErrorInterruptFlag (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source)
 Enables the HSSl global error interrupt flag, which trggers the EXI interrupt. More...
 
IFX_INLINE void IfxHssl_enableHsslRDIInterrupt (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId, IfxSrc_Tos typeOfService, uint16 priority)
 Enables HSSL RDI interrupt of specified channel. More...
 
IFX_INLINE void IfxHssl_enableHsslTRGInterrupt (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId, IfxSrc_Tos typeOfService, uint16 priority)
 Enables HSSL TRG interrupt of specified channel. More...
 
IFX_INLINE boolean IfxHssl_getHsslChannelErrorInterruptFlagStatus (Ifx_HSSL *hssl, IfxHssl_Hssl_ERRInterruptSource source, IfxHssl_ChannelId channelId)
 Clears the HSSl channel error interrupt flag. More...
 
IFX_INLINE boolean IfxHssl_getHsslGloabalErrorInterruptFlagStatus (Ifx_HSSL *hssl, IfxHssl_Hssl_EXIInterruptSource source)
 Clears the HSSl global error interrupt flag. More...
 
IFX_INLINE void IfxHssl_setHsslSleepMode (Ifx_HSSL *hssl, IfxHssl_Hssl_SleepMode mode)
 Sets the sensitivity of the module to sleep signal. More...
 
IFX_EXTERN void IfxHssl_enableHsslModule (Ifx_HSSL *hssl)
 Enables the hssl module. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxHssl_getHsslCOKSrcPointer (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId)
 Returns the SRC pointer for HSSL COK of specified channel. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxHssl_getHsslERRSrcPointer (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId)
 Returns the SRC pointer for HSSL ERR of specified channel. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxHssl_getHsslEXISrcPointer (Ifx_HSSL *hssl)
 Returns the SRC pointer for HSSL EXI interrupt. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxHssl_getHsslRDISrcPointer (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId)
 Returns the SRC pointer for HSSL COK of specified channel. More...
 
IFX_EXTERN volatile Ifx_SRC_SRCR * IfxHssl_getHsslTRGSrcPointer (Ifx_HSSL *hssl, IfxHssl_ChannelId channelId)
 Returns the SRC pointer for HSSL TRG of specified channel. More...
 
IFX_EXTERN void IfxHssl_resetHsslKernel (Ifx_HSSL *hssl)
 resets the HSSL kernel More...
 
IFX_EXTERN void IfxHssl_resetHsctKernel (Ifx_HSCT *hsct)
 resets HSCT kernel More...
 

Detailed Description

HSSL basic functionality.

Version
iLLD_1_0_0_11_0
                            IMPORTANT NOTICE

Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.

THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.

Definition in file IfxHssl.h.

Enumeration Type Documentation

HSSL channel error interrupt source, which triggers the ERR interrupt Definition in Ifx_HSSL.MFLAGS.

Enumerator
IfxHssl_Hssl_ERRInterruptSource_notAcknowledgeError 

NACK error (triggers ERR interrupt)

IfxHssl_Hssl_ERRInterruptSource_transactionTagError 

Transaction Tag Error (triggers ERR interrupt)

IfxHssl_Hssl_ERRInterruptSource_timeoutError 

Timeout error (triggers ERR interrupt)

IfxHssl_Hssl_ERRInterruptSource_unexpectedError 

Unexpected error (triggers ERR interrupt)

Definition at line 207 of file IfxHssl.h.

HSSL global error interrupt source, which triggers the EXI interrupt Definition in Ifx_HSSL.MFLAGS.

Enumerator
IfxHssl_Hssl_EXIInterruptSource_memoryAccessViolation 

Memory Access Violation error (triggers EXI interrupt)

IfxHssl_Hssl_EXIInterruptSource_busAccessError 

SRI/SPB Bus Access Error (triggers EXI interrupt)

IfxHssl_Hssl_EXIInterruptSource_channelNumberCodeError 

PHY Inconsistency Error 1 (Channel Number Code Error, triggers EXI interrupt)

IfxHssl_Hssl_EXIInterruptSource_dataLengthError 

PHY Inconsistency Error 2 (Data Length Error, triggers EXI interrupt)

IfxHssl_Hssl_EXIInterruptSource_crcError 

CRC error (triggers EXI interrupt)

Definition at line 218 of file IfxHssl.h.

Function Documentation

IFX_EXTERN void IfxHssl_resetHsctKernel ( Ifx_HSCT *  hsct)

resets HSCT kernel

Parameters
hsctpointer to HSCT registers
Returns
None

Definition at line 90 of file IfxHssl.c.