TLx493D 3D Hall Sensor Generic Library  1.3
Generic library for the TLx493D 3D Hall sensor family
conf_i2c.h
Go to the documentation of this file.
1 /*
2 *****************************************************************************
3 * Copyright (C) 2019 Infineon Technologies AG. All rights reserved.
4 *
5 * Infineon Technologies AG (INFINEON) is supplying this file for use
6 * exclusively with Infineon's products. This file can be freely
7 * distributed within development tools and software supporting such microcontroller
8 * products.
9 *
10 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
11 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
13 * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL,
14 * ASPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
15 *
16 ******************************************************************************
17 */
18 
25 #ifndef SRC_PERIPHERALS_I2C_CONF_I2C_H_
26 #define SRC_PERIPHERALS_I2C_CONF_I2C_H_
27 
28 #include <xmc_i2c.h>
29 #include <xmc_gpio.h>
30 
31 
32 
34 #define CONF_I2C_SDA_PIN P2_10
35 
37 #define CONF_I2C_SCL_PIN P2_11
38 
40 #define CONF_I2C_CH XMC_I2C0_CH1
41 
42 
43 // SDA as INPUT PULL UP
44 static const XMC_GPIO_CONFIG_t CONF_I2C_SDA_PIN_INPUT = {
45  .mode = XMC_GPIO_MODE_INPUT_PULL_UP,
46  .input_hysteresis = XMC_GPIO_INPUT_HYSTERESIS_STANDARD,
47 };
48 
49 // SDA as INPUT TRISTATE (disabled)
50 static const XMC_GPIO_CONFIG_t CONF_I2C_SDA_PIN_DISABLED = {
51  .mode = XMC_GPIO_MODE_INPUT_TRISTATE,
52  .input_hysteresis = XMC_GPIO_INPUT_HYSTERESIS_STANDARD,
53 };
54 
55 // SDA as OPEN-DRAIN OUTPUT I2C
56 static const XMC_GPIO_CONFIG_t CONF_I2C_SDA_PIN_OUTPUT = {
57  .mode = XMC_GPIO_MODE_OUTPUT_OPEN_DRAIN_ALT7 ,
58  .output_level = XMC_GPIO_OUTPUT_LEVEL_HIGH,
59 };
60 
61 
62 // SCL as /INT input
63 static const XMC_GPIO_CONFIG_t CONF_I2C_SCL_PIN_INPUT =
64 {
65  .mode = XMC_GPIO_MODE_INPUT_SAMPLING,
66  .input_hysteresis = XMC_GPIO_INPUT_HYSTERESIS_STANDARD
67 };
68 
69 // SCL as INPUT TRISTATE (disabled)
70 static const XMC_GPIO_CONFIG_t CONF_I2C_SCL_PIN_DISABLED =
71 {
72  .mode = XMC_GPIO_MODE_INPUT_TRISTATE,
73  .input_hysteresis = XMC_GPIO_INPUT_HYSTERESIS_STANDARD
74 };
75 
76 // SCL as OPEN DRAIN OUTPUT
77 static const XMC_GPIO_CONFIG_t CONF_I2C_SCL_PIN_OUTPUT = {
78  .mode = XMC_GPIO_MODE_OUTPUT_OPEN_DRAIN_ALT6,
79  .output_level = XMC_GPIO_OUTPUT_LEVEL_HIGH,
80 };
81 
82 
83 
84 
85 /* USIC configuration */
86 static const XMC_I2C_CH_CONFIG_t I2C_master_conf = {
87  .baudrate = 400000U,
88 };
89 
90 #endif /* SRC_PERIPHERALS_I2C_CONF_I2C_H_ */