162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * This header provides constants for Renesas RZ/V2M pinctrl bindings. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2022 Renesas Electronics Corp. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __DT_BINDINGS_RZV2M_PINCTRL_H 1062306a36Sopenharmony_ci#define __DT_BINDINGS_RZV2M_PINCTRL_H 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define RZV2M_PINS_PER_PORT 16 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* 1562306a36Sopenharmony_ci * Create the pin index from its bank and position numbers and store in 1662306a36Sopenharmony_ci * the upper 16 bits the alternate function identifier 1762306a36Sopenharmony_ci */ 1862306a36Sopenharmony_ci#define RZV2M_PORT_PINMUX(b, p, f) ((b) * RZV2M_PINS_PER_PORT + (p) | ((f) << 16)) 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* Convert a port and pin label to its global pin index */ 2162306a36Sopenharmony_ci#define RZV2M_GPIO(port, pin) ((port) * RZV2M_PINS_PER_PORT + (pin)) 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#endif /* __DT_BINDINGS_RZV2M_PINCTRL_H */ 24