#ifndef __CDDSBC_TLE9741_H_2023_11_10__ #define __CDDSBC_TLE9741_H_2023_11_10__ /* ***************************************************************************** // (C) Automotive Lighting Reutlingen GmbH // Tuebinger Strasse 123, 72762 Reutlingen, Germany // // Automotive Lighting Reutlingen GmbH owns all the rights to this work. // This work shall not be copied, reproduced, used, modified, transferred // or its information shall not be disclosed without the prior written // authorization of Automotive Lighting Reutlingen GmbH. ***************************************************************************** */ /*----------------------------------------------------------------------------- /// \file CddSbc_TLE9471.h /// /// \brief /// /// \descr /// /// \author /// -----------------------------------------------------------------------------*/ #include /*============================================================================ // typedefinitions //============================================================================*/ /* General Control Registers */ #define CDD_SBC_TLE9471_REG_M_S_CTRL 0x01U #define CDD_SBC_TLE9471_REG_HW_CTRL_0 0x02U #define CDD_SBC_TLE9471_REG_WD_CTRL 0x03U #define CDD_SBC_TLE9471_REG_BUS_CTRL_0 0x04U #define CDD_SBC_TLE9471_REG_WK_CTRL_0 0x06U #define CDD_SBC_TLE9471_REG_WK_CTRL_1 0x07U #define CDD_SBC_TLE9471_REG_WK_PUPD_CTRL 0x08U #define CDD_SBC_TLE9471_REG_BUS_CTRL_3 0x0BU #define CDD_SBC_TLE9471_REG_TIMER_CTRL 0x0CU #define CDD_SBC_TLE9471_REG_HW_CTRL_1 0x0EU #define CDD_SBC_TLE9471_REG_HW_CTRL_2 0x0FU #define CDD_SBC_TLE9471_REG_GPIO_CTRL 0x17U #define CDD_SBC_TLE9471_REG_PWM_CTRL 0x18U #define CDD_SBC_TLE9471_REG_PWM_FREQ_CTRL 0x1CU #define CDD_SBC_TLE9471_REG_HW_CTRL_3 0x1DU #define CDD_SBC_TLE9471_REG_SYS_STATUS_CTRL_0 0x1EU #define CDD_SBC_TLE9471_REG_SYS_STATUS_CTRL_1 0x1FU /* General Status Registers */ #define CDD_SBC_TLE9471_REG_SUP_STAT_1 0x40U #define CDD_SBC_TLE9471_REG_SUP_STAT_0 0x41U #define CDD_SBC_TLE9471_REG_THERM_STAT 0x42U #define CDD_SBC_TLE9471_REG_DEV_STAT 0x43U #define CDD_SBC_TLE9471_REG_BUS_STAT 0x44U #define CDD_SBC_TLE9471_REG_WK_STAT_0 0x46U #define CDD_SBC_TLE9471_REG_WK_STAT_1 0x47U #define CDD_SBC_TLE9471_REG_WK_LVL_STAT 0x48U #define CDD_SBC_TLE9471_REG_GPIO_OC_STAT 0x54U #define CDD_SBC_TLE9471_REG_GPIO_OL_STAT 0x55U /* Family and Product Information Register */ #define CDD_SBC_TLE9471_REG_FAM_PROD_STAT 0x7EU #define TLE9471_INIT_REG 3 #define TLE9471_TEST_REG 27 typedef struct { uint8_t reg_addr; uint8_t reg_data; }t_sbc_reg_info; typedef enum { eCddSbc_ReadReg, eCddSbc_WriteReg }teCddSbcSpiReqType; typedef enum { eCddSbc_Addr, eCddSbc_Val }teCddSbcShiftType; void sbcinit(void); uint8_t sbc_read_write_reg(teCddSbcSpiReqType SpiRequest, uint8_t *pucAddr, uint8_t *pucTxData, uint16_t *punRxData); void sbc_test(void); uint8_t BitReversal(uint8_t u8Reversedata,teCddSbcShiftType ShiftRequest); void SCB_Watch_Dog_Trigger_Function(void); #endif /* __CDDSBC_Registers_H_2023_11_10__*/