ARM: UniPhier: add pin mux setting for NAND CS1 of PH1-Pro4
[platform/kernel/u-boot.git] / arch / arm / mach-uniphier / ph1-pro4 / pinctrl.c
1 /*
2  * Copyright (C) 2011-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #include <linux/io.h>
8 #include <mach/sg-regs.h>
9
10 void pin_init(void)
11 {
12         /* Comment format:    PAD Name -> Function Name */
13
14 #ifdef CONFIG_NAND_DENALI
15         sg_set_pinsel(40, 0);   /* NFD0   -> NFD0 */
16         sg_set_pinsel(41, 0);   /* NFD1   -> NFD1 */
17         sg_set_pinsel(42, 0);   /* NFD2   -> NFD2 */
18         sg_set_pinsel(43, 0);   /* NFD3   -> NFD3 */
19         sg_set_pinsel(44, 0);   /* NFD4   -> NFD4 */
20         sg_set_pinsel(45, 0);   /* NFD5   -> NFD5 */
21         sg_set_pinsel(46, 0);   /* NFD6   -> NFD6 */
22         sg_set_pinsel(47, 0);   /* NFD7   -> NFD7 */
23         sg_set_pinsel(48, 0);   /* NFALE  -> NFALE */
24         sg_set_pinsel(49, 0);   /* NFCLE  -> NFCLE */
25         sg_set_pinsel(50, 0);   /* XNFRE  -> XNFRE */
26         sg_set_pinsel(51, 0);   /* XNFWE  -> XNFWE */
27         sg_set_pinsel(52, 0);   /* XNFWP  -> XNFWP */
28         sg_set_pinsel(53, 0);   /* XNFCE0 -> XNFCE0 */
29         sg_set_pinsel(54, 0);   /* NRYBY0 -> NRYBY0 */
30         /* sg_set_pinsel(131, 1); */    /* RXD2   -> NRYBY1 */
31         /* sg_set_pinsel(132, 1); */    /* TXD2   -> XNFCE1 */
32 #endif
33
34 #ifdef CONFIG_USB_XHCI_UNIPHIER
35         sg_set_pinsel(180, 0);  /* USB0VBUS -> USB0VBUS */
36         sg_set_pinsel(181, 0);  /* USB0OD   -> USB0OD */
37         sg_set_pinsel(182, 0);  /* USB1VBUS -> USB1VBUS */
38         sg_set_pinsel(183, 0);  /* USB1OD   -> USB1OD */
39 #endif
40
41 #ifdef CONFIG_USB_EHCI_UNIPHIER
42         sg_set_pinsel(184, 0);  /* USB2VBUS -> USB2VBUS */
43         sg_set_pinsel(185, 0);  /* USB2OD   -> USB2OD */
44         sg_set_pinsel(187, 0);  /* USB3VBUS -> USB3VBUS */
45         sg_set_pinsel(188, 0);  /* USB3OD   -> USB3OD */
46 #endif
47
48         writel(1, SG_LOADPINCTRL);
49 }