blob: f382ef48421a43dcdae4cc29832c67f0e1520c54 [file] [log] [blame]
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +09001/*
2 * Copyright (C) 2011-2014 Panasonic Corporation
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#include <common.h>
8#include <asm/io.h>
Masahiro Yamada95387e22015-02-27 02:26:44 +09009#include <mach/sg-regs.h>
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +090010
11void pin_init(void)
12{
13 /* Comment format: PAD Name -> Function Name */
14
15#ifdef CONFIG_UNIPHIER_SERIAL
16 sg_set_pinsel(127, 0); /* RXD0 -> RXD0 */
17 sg_set_pinsel(128, 0); /* TXD0 -> TXD0 */
18 sg_set_pinsel(129, 0); /* RXD1 -> RXD1 */
19 sg_set_pinsel(130, 0); /* TXD1 -> TXD1 */
20 sg_set_pinsel(131, 0); /* RXD2 -> RXD2 */
21 sg_set_pinsel(132, 0); /* TXD2 -> TXD2 */
22 sg_set_pinsel(88, 2); /* CH6CLK -> RXD3 */
23 sg_set_pinsel(89, 2); /* CH6VAL -> TXD3 */
24#endif
25
26#ifdef CONFIG_NAND_DENALI
27 sg_set_pinsel(40, 0); /* NFD0 -> NFD0 */
28 sg_set_pinsel(41, 0); /* NFD1 -> NFD1 */
29 sg_set_pinsel(42, 0); /* NFD2 -> NFD2 */
30 sg_set_pinsel(43, 0); /* NFD3 -> NFD3 */
31 sg_set_pinsel(44, 0); /* NFD4 -> NFD4 */
32 sg_set_pinsel(45, 0); /* NFD5 -> NFD5 */
33 sg_set_pinsel(46, 0); /* NFD6 -> NFD6 */
34 sg_set_pinsel(47, 0); /* NFD7 -> NFD7 */
35 sg_set_pinsel(48, 0); /* NFALE -> NFALE */
36 sg_set_pinsel(49, 0); /* NFCLE -> NFCLE */
37 sg_set_pinsel(50, 0); /* XNFRE -> XNFRE */
38 sg_set_pinsel(51, 0); /* XNFWE -> XNFWE */
39 sg_set_pinsel(52, 0); /* XNFWP -> XNFWP */
40 sg_set_pinsel(53, 0); /* XNFCE0 -> XNFCE0 */
41 sg_set_pinsel(54, 0); /* NRYBY0 -> NRYBY0 */
42#endif
43
Masahiro Yamadaf73264b2015-02-27 02:26:57 +090044#ifdef CONFIG_USB_XHCI_UNIPHIER
45 sg_set_pinsel(180, 0); /* USB0VBUS -> USB0VBUS */
46 sg_set_pinsel(181, 0); /* USB0OD -> USB0OD */
47 sg_set_pinsel(182, 0); /* USB1VBUS -> USB1VBUS */
48 sg_set_pinsel(183, 0); /* USB1OD -> USB1OD */
49#endif
50
Masahiro Yamadac5f67ba2014-11-07 18:33:52 +090051#ifdef CONFIG_USB_EHCI_UNIPHIER
52 sg_set_pinsel(184, 0); /* USB2VBUS -> USB2VBUS */
53 sg_set_pinsel(185, 0); /* USB2OD -> USB2OD */
54 sg_set_pinsel(187, 0); /* USB3VBUS -> USB3VBUS */
55 sg_set_pinsel(188, 0); /* USB3OD -> USB3OD */
56#endif
57
Masahiro Yamadabb2ff9d2014-10-03 19:21:06 +090058 writel(1, SG_LOADPINCTRL);
59}