sh-pfc: r8a7790: Add ETH pin groups and functions
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
parent
bf9f0674e3
commit
1627769b5f
|
@ -20,7 +20,10 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/platform_data/gpio-rcar.h>
|
||||||
|
|
||||||
#include <mach/r8a7790.h>
|
#include <mach/r8a7790.h>
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
|
@ -1820,6 +1823,57 @@ static struct sh_pfc_pin pinmux_pins[] = {
|
||||||
PINMUX_GPIO_GP_ALL(),
|
PINMUX_GPIO_GP_ALL(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* - ETH -------------------------------------------------------------------- */
|
||||||
|
static const unsigned int eth_link_pins[] = {
|
||||||
|
/* LINK */
|
||||||
|
RCAR_GP_PIN(2, 22),
|
||||||
|
};
|
||||||
|
static const unsigned int eth_link_mux[] = {
|
||||||
|
ETH_LINK_MARK,
|
||||||
|
};
|
||||||
|
static const unsigned int eth_magic_pins[] = {
|
||||||
|
/* MAGIC */
|
||||||
|
RCAR_GP_PIN(2, 27),
|
||||||
|
};
|
||||||
|
static const unsigned int eth_magic_mux[] = {
|
||||||
|
ETH_MAGIC_MARK,
|
||||||
|
};
|
||||||
|
static const unsigned int eth_mdio_pins[] = {
|
||||||
|
/* MDC, MDIO */
|
||||||
|
RCAR_GP_PIN(2, 29), RCAR_GP_PIN(2, 24),
|
||||||
|
};
|
||||||
|
static const unsigned int eth_mdio_mux[] = {
|
||||||
|
ETH_MDC_MARK, ETH_MDIO_MARK,
|
||||||
|
};
|
||||||
|
static const unsigned int eth_rmii_pins[] = {
|
||||||
|
/* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK */
|
||||||
|
RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 19),
|
||||||
|
RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 25),
|
||||||
|
RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 23),
|
||||||
|
};
|
||||||
|
static const unsigned int eth_rmii_mux[] = {
|
||||||
|
ETH_RXD0_MARK, ETH_RXD1_MARK, ETH_RX_ER_MARK, ETH_CRS_DV_MARK,
|
||||||
|
ETH_TXD0_MARK, ETH_TXD1_MARK, ETH_TX_EN_MARK, ETH_REF_CLK_MARK,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct sh_pfc_pin_group pinmux_groups[] = {
|
||||||
|
SH_PFC_PIN_GROUP(eth_link),
|
||||||
|
SH_PFC_PIN_GROUP(eth_magic),
|
||||||
|
SH_PFC_PIN_GROUP(eth_mdio),
|
||||||
|
SH_PFC_PIN_GROUP(eth_rmii),
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char * const eth_groups[] = {
|
||||||
|
"eth_link",
|
||||||
|
"eth_magic",
|
||||||
|
"eth_mdio",
|
||||||
|
"eth_rmii",
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct sh_pfc_function pinmux_functions[] = {
|
||||||
|
SH_PFC_FUNCTION(eth),
|
||||||
|
};
|
||||||
|
|
||||||
#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
|
#define PINMUX_FN_BASE ARRAY_SIZE(pinmux_pins)
|
||||||
|
|
||||||
static const struct pinmux_func pinmux_func_gpios[] = {
|
static const struct pinmux_func pinmux_func_gpios[] = {
|
||||||
|
@ -3226,6 +3280,10 @@ const struct sh_pfc_soc_info r8a7790_pinmux_info = {
|
||||||
|
|
||||||
.pins = pinmux_pins,
|
.pins = pinmux_pins,
|
||||||
.nr_pins = ARRAY_SIZE(pinmux_pins),
|
.nr_pins = ARRAY_SIZE(pinmux_pins),
|
||||||
|
.groups = pinmux_groups,
|
||||||
|
.nr_groups = ARRAY_SIZE(pinmux_groups),
|
||||||
|
.functions = pinmux_functions,
|
||||||
|
.nr_functions = ARRAY_SIZE(pinmux_functions),
|
||||||
|
|
||||||
.func_gpios = pinmux_func_gpios,
|
.func_gpios = pinmux_func_gpios,
|
||||||
.nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
|
.nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
|
||||||
|
|
Loading…
Reference in New Issue