| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * (C) Copyright 2015 Freescale Semiconductor |
| * |
| * Extracted from gic_64.S |
| */ |
| |
| #include <config.h> |
| #include <linux/linkage.h> |
| #include <asm/macro.h> |
| |
| /************************************************************************* |
| * |
| * void ccn504_add_masters_to_dvm(CCI_MN_BASE, CCI_MN_RNF_NODEID_LIST, |
| * CCI_MN_DVM_DOMAIN_CTL_SET); |
| * |
| * Add fully-coherent masters to DVM domain |
| * |
| *************************************************************************/ |
| ENTRY(ccn504_add_masters_to_dvm) |
| /* |
| * x0: CCI_MN_BASE |
| * x1: CCI_MN_RNF_NODEID_LIST |
| * x2: CCI_MN_DVM_DOMAIN_CTL_SET |
| */ |
| |
| /* Add fully-coherent masters to DVM domain */ |
| ldr x9, [x0, x1] |
| str x9, [x0, x2] |
| 1: ldr x10, [x0, x2] |
| mvn x11, x10 |
| tst x11, x10 /* Wait for domain addition to complete */ |
| b.ne 1b |
| |
| ret |
| ENDPROC(ccn504_add_masters_to_dvm) |
| |
| /************************************************************************* |
| * |
| * void ccn504_set_qos(CCI_Sx_QOS_CONTROL_BASE, QoS Value); |
| * |
| * Initialize QoS settings for AR/AW override. |
| * Right now, this function sets the same QoS value for all RN-I ports |
| * |
| *************************************************************************/ |
| ENTRY(ccn504_set_qos) |
| /* |
| * x0: CCI_Sx_QOS_CONTROL_BASE |
| * x1: QoS Value |
| */ |
| |
| /* Set all RN-I ports to QoS value denoted by x1 */ |
| ldr x9, [x0] |
| mov x10, x1 |
| orr x9, x9, x10 |
| str x9, [x0] |
| |
| ret |
| ENDPROC(ccn504_set_qos) |
| |
| /************************************************************************* |
| * |
| * void ccn504_set_aux(CCI_AUX_CONTROL_BASE, Value); |
| * |
| * Initialize AUX control settings |
| * |
| *************************************************************************/ |
| ENTRY(ccn504_set_aux) |
| /* |
| * x0: CCI_AUX_CONTROL_BASE |
| * x1: Value |
| */ |
| |
| ldr x9, [x0] |
| mov x10, x1 |
| orr x9, x9, x10 |
| str x9, [x0] |
| |
| ret |
| ENDPROC(ccn504_set_aux) |
| |