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