1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2015-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #include "clock_devices.h" 9 #include "sgm775_scmi.h" 10 11 #include <mod_scmi_clock.h> 12 13 #include <fwk_id.h> 14 #include <fwk_macros.h> 15 #include <fwk_module.h> 16 #include <fwk_module_idx.h> 17 18 static const struct mod_scmi_clock_device agent_device_table_ospm[] = { 19 { 20 /* VPU */ 21 .element_id = 22 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_VPU), 23 .starts_enabled = true, 24 }, 25 { 26 /* DPU */ 27 .element_id = 28 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_DPU), 29 .starts_enabled = true, 30 }, 31 { 32 /* PIXEL_0 */ 33 .element_id = 34 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_PIXEL_0), 35 .starts_enabled = true, 36 }, 37 { 38 /* PIXEL_1 */ 39 .element_id = 40 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_PIXEL_1), 41 .starts_enabled = true, 42 }, 43 }; 44 45 static const struct mod_scmi_clock_agent agent_table[SCMI_AGENT_ID_COUNT] = { 46 [SCMI_AGENT_ID_PSCI] = { 0 /* No access */ }, 47 [SCMI_AGENT_ID_OSPM] = { 48 .device_table = agent_device_table_ospm, 49 .device_count = FWK_ARRAY_SIZE(agent_device_table_ospm), 50 }, 51 }; 52 53 struct fwk_module_config config_scmi_clock = { 54 .data = &((struct mod_scmi_clock_config) { 55 .max_pending_transactions = 0, 56 .agent_table = agent_table, 57 .agent_count = FWK_ARRAY_SIZE(agent_table), 58 }), 59 }; 60