1c411396eSAntonio Nino Diaz /* 2*f8931606SAditya Angadi * Copyright (c) 2014-2020, ARM Limited and Contributors. All rights reserved. 3c411396eSAntonio Nino Diaz * 4c411396eSAntonio Nino Diaz * SPDX-License-Identifier: BSD-3-Clause 5c411396eSAntonio Nino Diaz */ 6c411396eSAntonio Nino Diaz 7c411396eSAntonio Nino Diaz #include <platform_def.h> 8c411396eSAntonio Nino Diaz 9c411396eSAntonio Nino Diaz #include <arch_helpers.h> 10c411396eSAntonio Nino Diaz #include <drivers/arm/css/css_mhu_doorbell.h> 11c411396eSAntonio Nino Diaz #include <drivers/arm/css/scmi.h> 12c411396eSAntonio Nino Diaz mhu_ring_doorbell(struct scmi_channel_plat_info * plat_info)13c411396eSAntonio Nino Diazvoid mhu_ring_doorbell(struct scmi_channel_plat_info *plat_info) 14c411396eSAntonio Nino Diaz { 15c411396eSAntonio Nino Diaz MHU_RING_DOORBELL(plat_info->db_reg_addr, 16c411396eSAntonio Nino Diaz plat_info->db_modify_mask, 17c411396eSAntonio Nino Diaz plat_info->db_preserve_mask); 18c411396eSAntonio Nino Diaz } 19c411396eSAntonio Nino Diaz mhuv2_ring_doorbell(struct scmi_channel_plat_info * plat_info)20c411396eSAntonio Nino Diazvoid mhuv2_ring_doorbell(struct scmi_channel_plat_info *plat_info) 21c411396eSAntonio Nino Diaz { 22*f8931606SAditya Angadi uintptr_t mhuv2_base = plat_info->db_reg_addr & MHU_V2_FRAME_BASE_MASK; 23*f8931606SAditya Angadi 24c411396eSAntonio Nino Diaz /* wake receiver */ 25*f8931606SAditya Angadi MHU_V2_ACCESS_REQUEST(mhuv2_base); 26c411396eSAntonio Nino Diaz 27c411396eSAntonio Nino Diaz /* wait for receiver to acknowledge its ready */ 28*f8931606SAditya Angadi while (MHU_V2_IS_ACCESS_READY(mhuv2_base) == 0) 29c411396eSAntonio Nino Diaz ; 30c411396eSAntonio Nino Diaz 31c411396eSAntonio Nino Diaz MHU_RING_DOORBELL(plat_info->db_reg_addr, 32c411396eSAntonio Nino Diaz plat_info->db_modify_mask, 33c411396eSAntonio Nino Diaz plat_info->db_preserve_mask); 34c411396eSAntonio Nino Diaz 35c411396eSAntonio Nino Diaz /* clear the access request for the receiver */ 36*f8931606SAditya Angadi MHU_V2_CLEAR_REQUEST(mhuv2_base); 37c411396eSAntonio Nino Diaz } 38