162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * This header provides constants for Renesas RZ/G2L family pinctrl bindings. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2021 Renesas Electronics Corp. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __DT_BINDINGS_RZG2L_PINCTRL_H 1062306a36Sopenharmony_ci#define __DT_BINDINGS_RZG2L_PINCTRL_H 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define RZG2L_PINS_PER_PORT 8 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 RZG2L_PORT_PINMUX(b, p, f) ((b) * RZG2L_PINS_PER_PORT + (p) | ((f) << 16)) 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* Convert a port and pin label to its global pin index */ 2162306a36Sopenharmony_ci#define RZG2L_GPIO(port, pin) ((port) * RZG2L_PINS_PER_PORT + (pin)) 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#endif /* __DT_BINDINGS_RZG2L_PINCTRL_H */ 24