// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2021 Marvell International Ltd. */ /* Common definitions used by Armada 7K/8K DTs */ #define PASTER(x, y) x ## _ ## y #define EVALUATOR(x, y) PASTER(x, y) /* This define used to create die label: * For example: * CP110 master: * CP110_LABEL(spi0) -> cp0_spi0 * CP110 slave: * CP110_LABEL(usb0) -> cp1_usb0 */ #define CP110_LABEL(name) EVALUATOR(CP110_NAME, name) #define APPEND_NX(A, B) A ##-## B #define APPEND(A, B) APPEND_NX(A, B) #define STRINGIZE_NX(x) #x #define STRINGIZE(x) STRINGIZE_NX(x) /* Same idea here, but this define convert the name to string: * For example: * master: CP110_STRING_LABEL(ppv2) -> "cp0-ppv2" * slave: CP110_STRING_LABEL(ppv2) -> "cp1-ppv2" */ #define CP110_STRING_LABEL(name) STRINGIZE(APPEND(CP110_NAME, name))