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 "sgm776_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 }, 24 { 25 /* DPU */ 26 .element_id = 27 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_DPU), 28 }, 29 { 30 /* PIXEL_0 */ 31 .element_id = 32 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_PIXEL_0), 33 }, 34 { 35 /* PIXEL_1 */ 36 .element_id = 37 FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_CLOCK, CLOCK_DEV_IDX_PIXEL_1), 38 }, 39 }; 40 41 static const struct mod_scmi_clock_agent agent_table[SCMI_AGENT_ID_COUNT] = { 42 [SCMI_AGENT_ID_PSCI] = { 0 /* No access */ }, 43 [SCMI_AGENT_ID_OSPM] = { 44 .device_table = agent_device_table_ospm, 45 .device_count = FWK_ARRAY_SIZE(agent_device_table_ospm), 46 }, 47 }; 48 49 const struct fwk_module_config config_scmi_clock = { 50 .data = &((struct mod_scmi_clock_config) { 51 .max_pending_transactions = 0, 52 .agent_table = agent_table, 53 .agent_count = FWK_ARRAY_SIZE(agent_table), 54 }), 55 }; 56