mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-25 15:24:17 +08:00
77e18969da
To get the address that needs to be read/written for specific port functionalities, the P(), PM(), PMC(), PFC(), PIN(), IOLH() IEN(), ISEL() macros are used. Some of these macros receive as argument the hardware port identifier, some the hardware port offset address (e.g. ISEL() received port identifier, IOLH() received port offset address). This makes it hard to extend the current driver for SoCs where port identifiers are not contiguous in the memory map of the pin controller. This is the case for the RZ/G3S pin controller where ports are mapped as follows: port offset port identifier ----------- --------------- 0x20 P0 0x21 P5 0x22 P6 0x23 P11 0x24 P12 0x25 P13 0x26 P14 0x27 P15 0x28 P16 0x29 P17 0x2a P18 0x30 P1 0x31 P2 0x32 P3 0x33 P4 0x34 P7 0x35 P8 0x36 P8 0x37 P10 To make this achievable, change all the above macros used to get the address of a port register for a specific port functionality based on the port hardware address. Summarized, all the above macros will get as argument the port offset address listed in the above table. With this RZG2L_SINGLE_PIN_GET_PORT_OFFSET(), RZG2L_PIN_ID_TO_PORT_OFFSET() and RZG2L_GPIO_PORT_GET_INDEX() were replaced by RZG2L_PIN_CFG_TO_PORT_OFFSET(); RZG2L_SINGLE_PIN_GET_CFGS() and RZG2L_GPIO_PORT_GET_CFGS() were replaced by RZG2L_PIN_CFG_TO_CAPS(). Also rzg2l_pinctrl_set_pfc_mode() does not need the port argument anymore. Also rzg2l_gpio_direction_input() and rzg2l_gpio_direction_output() do not need to translate port and bit locally as this can be done by rzg2l_gpio_set_direction(). To use the same naming for port, bit/pin, and register offset, replace the port_offset variable names in different places by variables named off. There is no longer a need to initialize cfg and bit in different code places. Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Link: https://lore.kernel.org/r/20230929053915.1530607-15-claudiu.beznea@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
||
---|---|---|
.. | ||
core.c | ||
core.h | ||
gpio.c | ||
Kconfig | ||
Makefile | ||
pfc-emev2.c | ||
pfc-r8a73a4.c | ||
pfc-r8a779a0.c | ||
pfc-r8a779f0.c | ||
pfc-r8a779g0.c | ||
pfc-r8a7740.c | ||
pfc-r8a7778.c | ||
pfc-r8a7779.c | ||
pfc-r8a7790.c | ||
pfc-r8a7791.c | ||
pfc-r8a7792.c | ||
pfc-r8a7794.c | ||
pfc-r8a7796.c | ||
pfc-r8a77470.c | ||
pfc-r8a77951.c | ||
pfc-r8a77965.c | ||
pfc-r8a77970.c | ||
pfc-r8a77980.c | ||
pfc-r8a77990.c | ||
pfc-r8a77995.c | ||
pfc-sh73a0.c | ||
pfc-sh7203.c | ||
pfc-sh7264.c | ||
pfc-sh7269.c | ||
pfc-sh7720.c | ||
pfc-sh7722.c | ||
pfc-sh7723.c | ||
pfc-sh7724.c | ||
pfc-sh7734.c | ||
pfc-sh7757.c | ||
pfc-sh7785.c | ||
pfc-sh7786.c | ||
pfc-shx3.c | ||
pinctrl-rza1.c | ||
pinctrl-rza2.c | ||
pinctrl-rzg2l.c | ||
pinctrl-rzn1.c | ||
pinctrl-rzv2m.c | ||
pinctrl.c | ||
sh_pfc.h |