1*34e3b69bSPhil Edworthy /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2*34e3b69bSPhil Edworthy /* 3*34e3b69bSPhil Edworthy * This header provides constants for Renesas RZ/V2M pinctrl bindings. 4*34e3b69bSPhil Edworthy * 5*34e3b69bSPhil Edworthy * Copyright (C) 2022 Renesas Electronics Corp. 6*34e3b69bSPhil Edworthy * 7*34e3b69bSPhil Edworthy */ 8*34e3b69bSPhil Edworthy 9*34e3b69bSPhil Edworthy #ifndef __DT_BINDINGS_RZV2M_PINCTRL_H 10*34e3b69bSPhil Edworthy #define __DT_BINDINGS_RZV2M_PINCTRL_H 11*34e3b69bSPhil Edworthy 12*34e3b69bSPhil Edworthy #define RZV2M_PINS_PER_PORT 16 13*34e3b69bSPhil Edworthy 14*34e3b69bSPhil Edworthy /* 15*34e3b69bSPhil Edworthy * Create the pin index from its bank and position numbers and store in 16*34e3b69bSPhil Edworthy * the upper 16 bits the alternate function identifier 17*34e3b69bSPhil Edworthy */ 18*34e3b69bSPhil Edworthy #define RZV2M_PORT_PINMUX(b, p, f) ((b) * RZV2M_PINS_PER_PORT + (p) | ((f) << 16)) 19*34e3b69bSPhil Edworthy 20*34e3b69bSPhil Edworthy /* Convert a port and pin label to its global pin index */ 21*34e3b69bSPhil Edworthy #define RZV2M_GPIO(port, pin) ((port) * RZV2M_PINS_PER_PORT + (pin)) 22*34e3b69bSPhil Edworthy 23*34e3b69bSPhil Edworthy #endif /* __DT_BINDINGS_RZV2M_PINCTRL_H */ 24