Line data Source code
1 1 : /* 2 : * Copyright (c) 2016 Linaro Limited. 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : #ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ARM_CLOCK_CONTROL_H_ 8 : #define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ARM_CLOCK_CONTROL_H_ 9 : 10 : #include <zephyr/drivers/clock_control.h> 11 : 12 : /** 13 : * @file 14 : * 15 : * @brief Clock subsystem IDs for ARM family SoCs 16 : */ 17 : 18 : /* CMSDK BUS Mapping */ 19 0 : enum arm_bus_type_t { 20 : CMSDK_AHB = 0, 21 : CMSDK_APB, 22 : }; 23 : 24 : /* CPU States */ 25 0 : enum arm_soc_state_t { 26 : SOC_ACTIVE = 0, 27 : SOC_SLEEP, 28 : SOC_DEEPSLEEP, 29 : }; 30 : 31 0 : struct arm_clock_control_t { 32 : /* ARM family SoCs supported Bus types */ 33 0 : enum arm_bus_type_t bus; 34 : /* Clock can be configured for 3 states: Active, Sleep, Deep Sleep */ 35 0 : enum arm_soc_state_t state; 36 : /* Identifies the device on the bus */ 37 0 : uint32_t device; 38 : }; 39 : 40 : #endif /* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ARM_CLOCK_CONTROL_H_ */