53 uint32_t config = ti_lib_ioc_port_configure_get(pin);
56 bool enabling_interrupts =
57 (config & IOC_INT_ENABLE) == 0 && (cfg & GPIO_HAL_PIN_CFG_INT_ENABLE);
60 config &= ~CONFIG_MASK;
64 if(tmp == GPIO_HAL_PIN_CFG_HYSTERESIS) {
65 config |= IOC_HYST_ENABLE;
67 config |= IOC_HYST_DISABLE;
71 tmp = cfg & GPIO_HAL_PIN_CFG_EDGE_BOTH;
72 if(tmp == GPIO_HAL_PIN_CFG_EDGE_NONE) {
73 config |= IOC_NO_EDGE;
74 }
else if(tmp == GPIO_HAL_PIN_CFG_EDGE_RISING) {
75 config |= IOC_RISING_EDGE;
76 }
else if(tmp == GPIO_HAL_PIN_CFG_EDGE_FALLING) {
77 config |= IOC_FALLING_EDGE;
78 }
else if(tmp == GPIO_HAL_PIN_CFG_EDGE_BOTH) {
79 config |= IOC_BOTH_EDGES;
83 tmp = cfg & GPIO_HAL_PIN_CFG_PULL_MASK;
84 if(tmp == GPIO_HAL_PIN_CFG_PULL_NONE) {
85 config |= IOC_NO_IOPULL;
86 }
else if(tmp == GPIO_HAL_PIN_CFG_PULL_DOWN) {
87 config |= IOC_IOPULL_DOWN;
88 }
else if(tmp == GPIO_HAL_PIN_CFG_PULL_UP) {
89 config |= IOC_IOPULL_UP;
93 tmp = cfg & GPIO_HAL_PIN_CFG_INT_MASK;
94 if(tmp == GPIO_HAL_PIN_CFG_INT_DISABLE) {
95 config |= IOC_INT_DISABLE;
96 }
else if(tmp == GPIO_HAL_PIN_CFG_INT_ENABLE) {
97 config |= IOC_INT_ENABLE;
100 if(enabling_interrupts) {
101 ti_lib_gpio_clear_event_dio(pin);
103 ti_lib_ioc_port_configure_set(pin, IOC_PORT_GPIO, config);
114 config = ti_lib_ioc_port_configure_get(pin);
117 tmp = config & IOC_HYST_ENABLE;
118 if(tmp == IOC_HYST_ENABLE) {
119 cfg |= GPIO_HAL_PIN_CFG_HYSTERESIS;
123 tmp = config & IOC_IOPULL_M;
124 if(tmp == IOC_IOPULL_UP) {
125 cfg |= GPIO_HAL_PIN_CFG_PULL_UP;
126 }
else if(tmp == IOC_IOPULL_DOWN) {
127 cfg |= GPIO_HAL_PIN_CFG_PULL_DOWN;
128 }
else if(tmp == IOC_NO_IOPULL) {
129 cfg |= GPIO_HAL_PIN_CFG_PULL_NONE;
133 tmp = config & IOC_INT_ENABLE;
134 if(tmp == IOC_INT_DISABLE) {
135 cfg |= GPIO_HAL_PIN_CFG_INT_DISABLE;
136 }
else if(tmp == IOC_INT_ENABLE) {
137 cfg |= GPIO_HAL_PIN_CFG_INT_ENABLE;
141 tmp = config & IOC_BOTH_EDGES;
142 if(tmp == IOC_NO_EDGE) {
143 cfg |= GPIO_HAL_PIN_CFG_EDGE_NONE;
144 }
else if(tmp == IOC_FALLING_EDGE) {
145 cfg |= GPIO_HAL_PIN_CFG_EDGE_FALLING;
146 }
else if(tmp == IOC_RISING_EDGE) {
147 cfg |= GPIO_HAL_PIN_CFG_EDGE_RISING;
148 }
else if(tmp == IOC_BOTH_EDGES) {
149 cfg |= GPIO_HAL_PIN_CFG_EDGE_BOTH;