11df28ab76
Pins are numbered in the R-Car family documentation using a bank number and a pin number in the bank. As the Linux pin number space is linear, we need to flatten this by multiplying the bank number by 32 and adding the pin number. The resulting number bear no directly visible relationship to the documentation, making it error-prone. Add a RCAR_GP_PIN macro to convert from the documentation pin number space to the linear Linux space. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> [horms+renesas@verge.net.au: non-trivial rebase on top of "sh-pfc: r8a7779: Don't group USB OVC and PENC pins"] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
29 lines
831 B
C
29 lines
831 B
C
/*
|
|
* Renesas R-Car GPIO Support
|
|
*
|
|
* Copyright (C) 2013 Magnus Damm
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef __GPIO_RCAR_H__
|
|
#define __GPIO_RCAR_H__
|
|
|
|
struct gpio_rcar_config {
|
|
int gpio_base;
|
|
unsigned int irq_base;
|
|
unsigned int number_of_pins;
|
|
const char *pctl_name;
|
|
unsigned has_both_edge_trigger:1;
|
|
};
|
|
|
|
#define RCAR_GP_PIN(bank, pin) (((bank) * 32) + (pin))
|
|
|
|
#endif /* __GPIO_RCAR_H__ */
|