Line data Source code
1 0 : /* 2 : * Copyright (c) 2022 Google Inc 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_RESET_STM32MP1_RESET_H_ 8 : #define ZEPHYR_INCLUDE_DT_BINDINGS_RESET_STM32MP1_RESET_H_ 9 : 10 : /** 11 : * Pack RCC register offset and bit in one 32-bit value. 12 : * 13 : * 5 LSBs are used to keep bit number in 32-bit RCC register. 14 : * Next 12 bits are used to keep reset set register offset. 15 : * Next 12 bits are used to keep reset clear register offset. 16 : * 17 : * @param bus STM32 bus name 18 : * @param bit Reset bit 19 : */ 20 1 : #define STM32_RESET(bus, bit) \ 21 : (((STM32_RESET_BUS_##bus##_CLR) << 17U) | ((STM32_RESET_BUS_##bus##_SET) << 5U) | (bit)) 22 : 23 : /* RCC bus reset register offset */ 24 0 : #define STM32_RESET_BUS_AHB2_SET 0x998 25 0 : #define STM32_RESET_BUS_AHB2_CLR 0x99C 26 0 : #define STM32_RESET_BUS_AHB3_SET 0x9A0 27 0 : #define STM32_RESET_BUS_AHB3_CLR 0x9A4 28 0 : #define STM32_RESET_BUS_AHB4_SET 0x9A8 29 0 : #define STM32_RESET_BUS_AHB4_CLR 0x9AC 30 0 : #define STM32_RESET_BUS_AHB5_SET 0x190 31 0 : #define STM32_RESET_BUS_AHB5_CLR 0x194 32 0 : #define STM32_RESET_BUS_AHB6_SET 0x198 33 0 : #define STM32_RESET_BUS_AHB6_CLR 0x19C 34 0 : #define STM32_RESET_BUS_TZAHB6_SET 0x1A0 35 0 : #define STM32_RESET_BUS_TZAHB6_CLR 0x1A4 36 0 : #define STM32_RESET_BUS_APB1_SET 0x980 37 0 : #define STM32_RESET_BUS_APB1_CLR 0x984 38 0 : #define STM32_RESET_BUS_APB2_SET 0x988 39 0 : #define STM32_RESET_BUS_APB2_CLR 0x98C 40 0 : #define STM32_RESET_BUS_APB3_SET 0x990 41 0 : #define STM32_RESET_BUS_APB3_CLR 0x994 42 0 : #define STM32_RESET_BUS_APB4_SET 0x180 43 0 : #define STM32_RESET_BUS_APB4_CLR 0x184 44 0 : #define STM32_RESET_BUS_APB5_SET 0x188 45 0 : #define STM32_RESET_BUS_APB5_CLR 0x18C 46 : 47 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_RESET_STM32MP1_RESET_H_ */