1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2023, STMicroelectronics 4 */ 5 6 #ifndef __DRIVERS_STM32MP1_SYSCFG_H 7 #define __DRIVERS_STM32MP1_SYSCFG_H 8 9 /* High Speed Low Voltage domains IDs for STM32MP13 variants */ 10 enum stm32mp13_hslv_id { 11 SYSCFG_HSLV_IDX_TPIU = 0, 12 SYSCFG_HSLV_IDX_QSPI, 13 SYSCFG_HSLV_IDX_ETH1, 14 SYSCFG_HSLV_IDX_ETH2, 15 SYSCFG_HSLV_IDX_SDMMC1, 16 SYSCFG_HSLV_IDX_SDMMC2, 17 SYSCFG_HSLV_IDX_SPI1, 18 SYSCFG_HSLV_IDX_SPI2, 19 SYSCFG_HSLV_IDX_SPI3, 20 SYSCFG_HSLV_IDX_SPI4, 21 SYSCFG_HSLV_IDX_SPI5, 22 SYSCFG_HSLV_IDX_LTDC, 23 SYSCFG_HSLV_COUNT 24 }; 25 26 /* IO compensation domains IDs for STM32MP13 variants */ 27 enum stm32mp13_vddsd_comp_id { 28 SYSCFG_IO_COMP_IDX_SD1, 29 SYSCFG_IO_COMP_IDX_SD2, 30 SYSCFG_IO_COMP_COUNT 31 }; 32 33 #ifdef CFG_STM32MP13 34 /* 35 * Enable or disable IO compensation for a VDDSD IO domains 36 * @id: VDDSD domain ID 37 * @enable: True to enable IO compensation, false to disable 38 */ 39 void stm32mp_set_vddsd_comp_state(enum stm32mp13_vddsd_comp_id id, bool enable); 40 41 /* 42 * Enable or disable High Speed Low Voltage mode of an IO domain 43 * @index: HSLV IO domain ID 44 * @enable: True to enable IO compensation, false to disable 45 */ 46 void stm32mp_set_hslv_state(enum stm32mp13_hslv_id id, bool enable); 47 #endif /*CFG_STM32MP13*/ 48 49 /* Enable High Speed Low Voltage mode for domains fixed supplied VDD */ 50 void stm32mp_enable_fixed_vdd_hslv(void); 51 #endif /*__DRIVERS_STM32MP1_SYSCFG_H*/ 52