1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
2c0dcece7SHeiko Schocher /*
3c0dcece7SHeiko Schocher * pinmux setup for siemens rut board
4c0dcece7SHeiko Schocher *
5c0dcece7SHeiko Schocher * (C) Copyright 2013 Siemens Schweiz AG
6c0dcece7SHeiko Schocher * (C) Heiko Schocher, DENX Software Engineering, hs@denx.de.
7c0dcece7SHeiko Schocher *
8c0dcece7SHeiko Schocher * Based on:
9c0dcece7SHeiko Schocher * u-boot:/board/ti/am335x/mux.c
10c0dcece7SHeiko Schocher *
11c0dcece7SHeiko Schocher * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
12c0dcece7SHeiko Schocher */
13c0dcece7SHeiko Schocher
14c0dcece7SHeiko Schocher #include <common.h>
15c0dcece7SHeiko Schocher #include <asm/arch/sys_proto.h>
16c0dcece7SHeiko Schocher #include <asm/arch/hardware.h>
17c0dcece7SHeiko Schocher #include <asm/arch/mux.h>
18c0dcece7SHeiko Schocher #include <asm/io.h>
19c0dcece7SHeiko Schocher #include <i2c.h>
20c0dcece7SHeiko Schocher
21c0dcece7SHeiko Schocher static struct module_pin_mux uart0_pin_mux[] = {
22c0dcece7SHeiko Schocher {OFFSET(uart0_rxd), (MODE(0) | PULLUDDIS | RXACTIVE)}, /* UART0_RXD */
23c0dcece7SHeiko Schocher {OFFSET(uart0_txd), (MODE(0) | PULLUDDIS)}, /* UART0_TXD */
24c0dcece7SHeiko Schocher {-1},
25c0dcece7SHeiko Schocher };
26c0dcece7SHeiko Schocher
27c0dcece7SHeiko Schocher static struct module_pin_mux ddr_pin_mux[] = {
28c0dcece7SHeiko Schocher {OFFSET(ddr_resetn), (MODE(0))},
29c0dcece7SHeiko Schocher {OFFSET(ddr_csn0), (MODE(0) | PULLUP_EN)},
30c0dcece7SHeiko Schocher {OFFSET(ddr_ck), (MODE(0))},
31c0dcece7SHeiko Schocher {OFFSET(ddr_nck), (MODE(0))},
32c0dcece7SHeiko Schocher {OFFSET(ddr_casn), (MODE(0) | PULLUP_EN)},
33c0dcece7SHeiko Schocher {OFFSET(ddr_rasn), (MODE(0) | PULLUP_EN)},
34c0dcece7SHeiko Schocher {OFFSET(ddr_wen), (MODE(0) | PULLUP_EN)},
35c0dcece7SHeiko Schocher {OFFSET(ddr_ba0), (MODE(0) | PULLUP_EN)},
36c0dcece7SHeiko Schocher {OFFSET(ddr_ba1), (MODE(0) | PULLUP_EN)},
37c0dcece7SHeiko Schocher {OFFSET(ddr_ba2), (MODE(0) | PULLUP_EN)},
38c0dcece7SHeiko Schocher {OFFSET(ddr_a0), (MODE(0) | PULLUP_EN)},
39c0dcece7SHeiko Schocher {OFFSET(ddr_a1), (MODE(0) | PULLUP_EN)},
40c0dcece7SHeiko Schocher {OFFSET(ddr_a2), (MODE(0) | PULLUP_EN)},
41c0dcece7SHeiko Schocher {OFFSET(ddr_a3), (MODE(0) | PULLUP_EN)},
42c0dcece7SHeiko Schocher {OFFSET(ddr_a4), (MODE(0) | PULLUP_EN)},
43c0dcece7SHeiko Schocher {OFFSET(ddr_a5), (MODE(0) | PULLUP_EN)},
44c0dcece7SHeiko Schocher {OFFSET(ddr_a6), (MODE(0) | PULLUP_EN)},
45c0dcece7SHeiko Schocher {OFFSET(ddr_a7), (MODE(0) | PULLUP_EN)},
46c0dcece7SHeiko Schocher {OFFSET(ddr_a8), (MODE(0) | PULLUP_EN)},
47c0dcece7SHeiko Schocher {OFFSET(ddr_a9), (MODE(0) | PULLUP_EN)},
48c0dcece7SHeiko Schocher {OFFSET(ddr_a10), (MODE(0) | PULLUP_EN)},
49c0dcece7SHeiko Schocher {OFFSET(ddr_a11), (MODE(0) | PULLUP_EN)},
50c0dcece7SHeiko Schocher {OFFSET(ddr_a12), (MODE(0) | PULLUP_EN)},
51c0dcece7SHeiko Schocher {OFFSET(ddr_a13), (MODE(0) | PULLUP_EN)},
52c0dcece7SHeiko Schocher {OFFSET(ddr_a14), (MODE(0) | PULLUP_EN)},
53c0dcece7SHeiko Schocher {OFFSET(ddr_a15), (MODE(0) | PULLUP_EN)},
54c0dcece7SHeiko Schocher {OFFSET(ddr_odt), (MODE(0))},
55c0dcece7SHeiko Schocher {OFFSET(ddr_d0), (MODE(0) | RXACTIVE)},
56c0dcece7SHeiko Schocher {OFFSET(ddr_d1), (MODE(0) | RXACTIVE)},
57c0dcece7SHeiko Schocher {OFFSET(ddr_d2), (MODE(0) | RXACTIVE)},
58c0dcece7SHeiko Schocher {OFFSET(ddr_d3), (MODE(0) | RXACTIVE)},
59c0dcece7SHeiko Schocher {OFFSET(ddr_d4), (MODE(0) | RXACTIVE)},
60c0dcece7SHeiko Schocher {OFFSET(ddr_d5), (MODE(0) | RXACTIVE)},
61c0dcece7SHeiko Schocher {OFFSET(ddr_d6), (MODE(0) | RXACTIVE)},
62c0dcece7SHeiko Schocher {OFFSET(ddr_d7), (MODE(0) | RXACTIVE)},
63c0dcece7SHeiko Schocher {OFFSET(ddr_d8), (MODE(0) | RXACTIVE)},
64c0dcece7SHeiko Schocher {OFFSET(ddr_d9), (MODE(0) | RXACTIVE)},
65c0dcece7SHeiko Schocher {OFFSET(ddr_d10), (MODE(0) | RXACTIVE)},
66c0dcece7SHeiko Schocher {OFFSET(ddr_d11), (MODE(0) | RXACTIVE)},
67c0dcece7SHeiko Schocher {OFFSET(ddr_d12), (MODE(0) | RXACTIVE)},
68c0dcece7SHeiko Schocher {OFFSET(ddr_d13), (MODE(0) | RXACTIVE)},
69c0dcece7SHeiko Schocher {OFFSET(ddr_d14), (MODE(0) | RXACTIVE)},
70c0dcece7SHeiko Schocher {OFFSET(ddr_d15), (MODE(0) | RXACTIVE)},
71c0dcece7SHeiko Schocher {OFFSET(ddr_dqm0), (MODE(0) | PULLUP_EN)},
72c0dcece7SHeiko Schocher {OFFSET(ddr_dqm1), (MODE(0) | PULLUP_EN)},
73c0dcece7SHeiko Schocher {OFFSET(ddr_dqs0), (MODE(0) | RXACTIVE)},
74c0dcece7SHeiko Schocher {OFFSET(ddr_dqsn0), (MODE(0) | RXACTIVE | PULLUP_EN)},
75c0dcece7SHeiko Schocher {OFFSET(ddr_dqs1), (MODE(0) | RXACTIVE)},
76c0dcece7SHeiko Schocher {OFFSET(ddr_dqsn1), (MODE(0) | RXACTIVE | PULLUP_EN)},
77c0dcece7SHeiko Schocher {OFFSET(ddr_vref), (MODE(0) | RXACTIVE | PULLUDDIS)},
78c0dcece7SHeiko Schocher {OFFSET(ddr_vtp), (MODE(0) | RXACTIVE | PULLUDDIS)},
79c0dcece7SHeiko Schocher {-1},
80c0dcece7SHeiko Schocher };
81c0dcece7SHeiko Schocher
82c0dcece7SHeiko Schocher static struct module_pin_mux lcd_pin_mux[] = {
83c0dcece7SHeiko Schocher {OFFSET(gpmc_ad8), (MODE(1))},
84c0dcece7SHeiko Schocher {OFFSET(gpmc_ad9), (MODE(1))},
85c0dcece7SHeiko Schocher {OFFSET(gpmc_ad10), (MODE(1))},
86c0dcece7SHeiko Schocher {OFFSET(gpmc_ad11), (MODE(1))},
87c0dcece7SHeiko Schocher {OFFSET(gpmc_ad12), (MODE(1))},
88c0dcece7SHeiko Schocher {OFFSET(gpmc_ad13), (MODE(1))},
89c0dcece7SHeiko Schocher {OFFSET(gpmc_ad14), (MODE(1))},
90c0dcece7SHeiko Schocher {OFFSET(gpmc_ad15), (MODE(1))},
91c0dcece7SHeiko Schocher {OFFSET(lcd_data0), (MODE(0) | PULLUDDIS)},
92c0dcece7SHeiko Schocher {OFFSET(lcd_data1), (MODE(0) | PULLUDDIS)},
93c0dcece7SHeiko Schocher {OFFSET(lcd_data2), (MODE(0) | PULLUDDIS)},
94c0dcece7SHeiko Schocher {OFFSET(lcd_data3), (MODE(0) | PULLUDDIS)},
95c0dcece7SHeiko Schocher {OFFSET(lcd_data4), (MODE(0) | PULLUDDIS)},
96c0dcece7SHeiko Schocher {OFFSET(lcd_data5), (MODE(0) | PULLUDDIS)},
97c0dcece7SHeiko Schocher {OFFSET(lcd_data6), (MODE(0) | PULLUDDIS)},
98c0dcece7SHeiko Schocher {OFFSET(lcd_data7), (MODE(0) | PULLUDDIS)},
99c0dcece7SHeiko Schocher {OFFSET(lcd_data8), (MODE(0) | PULLUDDIS)},
100c0dcece7SHeiko Schocher {OFFSET(lcd_data9), (MODE(0) | PULLUDDIS)},
101c0dcece7SHeiko Schocher {OFFSET(lcd_data10), (MODE(0) | PULLUDDIS)},
102c0dcece7SHeiko Schocher {OFFSET(lcd_data11), (MODE(0) | PULLUDDIS)},
103c0dcece7SHeiko Schocher {OFFSET(lcd_data12), (MODE(0) | PULLUDDIS)},
104c0dcece7SHeiko Schocher {OFFSET(lcd_data13), (MODE(0) | PULLUDDIS)},
105c0dcece7SHeiko Schocher {OFFSET(lcd_data14), (MODE(0) | PULLUDDIS)},
106c0dcece7SHeiko Schocher {OFFSET(lcd_data15), (MODE(0) | PULLUDDIS)},
107c0dcece7SHeiko Schocher {OFFSET(lcd_vsync), (MODE(0))},
108c0dcece7SHeiko Schocher {OFFSET(lcd_hsync), (MODE(0))},
109c0dcece7SHeiko Schocher {OFFSET(lcd_pclk), (MODE(0))},
110c0dcece7SHeiko Schocher {OFFSET(lcd_ac_bias_en), (MODE(0))},
111c0dcece7SHeiko Schocher {-1},
112c0dcece7SHeiko Schocher };
113c0dcece7SHeiko Schocher
114c0dcece7SHeiko Schocher static struct module_pin_mux mmc0_pin_mux[] = {
115c0dcece7SHeiko Schocher {OFFSET(mmc0_dat3), (MODE(0) | RXACTIVE | PULLUP_EN)},
116c0dcece7SHeiko Schocher {OFFSET(mmc0_dat2), (MODE(0) | RXACTIVE | PULLUP_EN)},
117c0dcece7SHeiko Schocher {OFFSET(mmc0_dat1), (MODE(0) | RXACTIVE | PULLUP_EN)},
118c0dcece7SHeiko Schocher {OFFSET(mmc0_dat0), (MODE(0) | RXACTIVE | PULLUP_EN)},
119c0dcece7SHeiko Schocher {OFFSET(mmc0_clk), (MODE(0) | RXACTIVE | PULLUP_EN)},
120c0dcece7SHeiko Schocher {OFFSET(mmc0_cmd), (MODE(0) | RXACTIVE | PULLUP_EN)},
121c0dcece7SHeiko Schocher {-1},
122c0dcece7SHeiko Schocher };
123c0dcece7SHeiko Schocher
124c0dcece7SHeiko Schocher static struct module_pin_mux mii_pin_mux[] = {
125c0dcece7SHeiko Schocher {OFFSET(mii1_crs), (MODE(1) | RXACTIVE)},
126c0dcece7SHeiko Schocher {OFFSET(mii1_rxerr), (MODE(1) | RXACTIVE)},
127c0dcece7SHeiko Schocher {OFFSET(mii1_txen), (MODE(1))},
128c0dcece7SHeiko Schocher {OFFSET(mii1_txd1), (MODE(1))},
129c0dcece7SHeiko Schocher {OFFSET(mii1_txd0), (MODE(1))},
130c0dcece7SHeiko Schocher {OFFSET(mii1_rxd1), (MODE(1) | RXACTIVE)},
131c0dcece7SHeiko Schocher {OFFSET(mii1_rxd0), (MODE(1) | RXACTIVE)},
132c0dcece7SHeiko Schocher {OFFSET(rmii1_refclk), (MODE(0) | RXACTIVE)},
133c0dcece7SHeiko Schocher {OFFSET(mdio_data), (MODE(0) | RXACTIVE | PULLUP_EN)},
134c0dcece7SHeiko Schocher {OFFSET(mdio_clk), (MODE(0) | PULLUP_EN)},
135c0dcece7SHeiko Schocher {-1},
136c0dcece7SHeiko Schocher };
137c0dcece7SHeiko Schocher
138c0dcece7SHeiko Schocher static struct module_pin_mux gpio_pin_mux[] = {
139c0dcece7SHeiko Schocher {OFFSET(mii1_col), (MODE(7) | RXACTIVE)},
140c0dcece7SHeiko Schocher {OFFSET(uart1_ctsn), (MODE(7) | RXACTIVE | PULLUDDIS)},
141c0dcece7SHeiko Schocher {OFFSET(uart1_rtsn), (MODE(7) | RXACTIVE | PULLUDDIS)},
142c0dcece7SHeiko Schocher {OFFSET(uart1_rxd), (MODE(7) | RXACTIVE | PULLUDDIS)},
143c0dcece7SHeiko Schocher {OFFSET(uart1_txd), (MODE(7) | RXACTIVE | PULLUDDIS)},
144c0dcece7SHeiko Schocher {OFFSET(mii1_rxdv), (MODE(7) | RXACTIVE)},
145c0dcece7SHeiko Schocher {OFFSET(mii1_txd3), (MODE(7) | RXACTIVE)},
146c0dcece7SHeiko Schocher {OFFSET(mii1_txd2), (MODE(7) | RXACTIVE)},
147c0dcece7SHeiko Schocher {OFFSET(mii1_txclk), (MODE(7) | RXACTIVE)},
148c0dcece7SHeiko Schocher {OFFSET(mii1_rxclk), (MODE(7) | RXACTIVE)},
149c0dcece7SHeiko Schocher {OFFSET(mii1_rxd3), (MODE(7) | RXACTIVE)},
150c0dcece7SHeiko Schocher {OFFSET(mii1_rxd2), (MODE(7) | RXACTIVE)},
151c0dcece7SHeiko Schocher {OFFSET(gpmc_a0), (MODE(7) | RXACTIVE)},
152c0dcece7SHeiko Schocher {OFFSET(gpmc_a1), (MODE(7) | RXACTIVE)},
153c0dcece7SHeiko Schocher {OFFSET(gpmc_a4), (MODE(7) | RXACTIVE)},
154c0dcece7SHeiko Schocher {OFFSET(gpmc_a5), (MODE(7) | RXACTIVE)},
155c0dcece7SHeiko Schocher {OFFSET(gpmc_a6), (MODE(7) | RXACTIVE)},
156c0dcece7SHeiko Schocher {OFFSET(gpmc_a7), (MODE(7) | RXACTIVE)},
157c0dcece7SHeiko Schocher {OFFSET(gpmc_a8), (MODE(7) | RXACTIVE)},
158c0dcece7SHeiko Schocher {OFFSET(gpmc_a9), (MODE(7) | RXACTIVE)},
159c0dcece7SHeiko Schocher {OFFSET(gpmc_a10), (MODE(7) | RXACTIVE)},
160c0dcece7SHeiko Schocher {OFFSET(gpmc_a11), (MODE(7) | RXACTIVE)},
161c0dcece7SHeiko Schocher {OFFSET(gpmc_wpn), (MODE(7) | RXACTIVE | PULLUP_EN)},
162c0dcece7SHeiko Schocher {OFFSET(gpmc_be1n), (MODE(7) | RXACTIVE | PULLUP_EN)},
163c0dcece7SHeiko Schocher {OFFSET(gpmc_csn1), (MODE(7) | RXACTIVE | PULLUP_EN)},
164c0dcece7SHeiko Schocher {OFFSET(gpmc_csn2), (MODE(7) | RXACTIVE | PULLUP_EN)},
165c0dcece7SHeiko Schocher {OFFSET(gpmc_csn3), (MODE(7) | RXACTIVE | PULLUP_EN)},
166c0dcece7SHeiko Schocher {OFFSET(mcasp0_aclkr), (MODE(7) | RXACTIVE)},
167c0dcece7SHeiko Schocher {OFFSET(mcasp0_fsr), (MODE(7))},
168c0dcece7SHeiko Schocher {OFFSET(mcasp0_axr1), (MODE(7) | RXACTIVE)},
169c0dcece7SHeiko Schocher {OFFSET(mcasp0_ahclkx), (MODE(7) | RXACTIVE)},
170c0dcece7SHeiko Schocher {OFFSET(xdma_event_intr0), (MODE(7) | RXACTIVE | PULLUDDIS)},
171c0dcece7SHeiko Schocher {OFFSET(xdma_event_intr1), (MODE(7) | RXACTIVE | PULLUDDIS)},
172c0dcece7SHeiko Schocher {-1},
173c0dcece7SHeiko Schocher };
174c0dcece7SHeiko Schocher
175c0dcece7SHeiko Schocher static struct module_pin_mux i2c0_pin_mux[] = {
176c0dcece7SHeiko Schocher {OFFSET(i2c0_sda), (MODE(0) | RXACTIVE | PULLUDDIS)},
177c0dcece7SHeiko Schocher {OFFSET(i2c0_scl), (MODE(0) | RXACTIVE | PULLUDDIS)},
178c0dcece7SHeiko Schocher {-1},
179c0dcece7SHeiko Schocher };
180c0dcece7SHeiko Schocher
181c0dcece7SHeiko Schocher static struct module_pin_mux i2c1_pin_mux[] = {
182c0dcece7SHeiko Schocher {OFFSET(uart0_ctsn), (MODE(3) | RXACTIVE | PULLUDDIS)},
183c0dcece7SHeiko Schocher {OFFSET(uart0_rtsn), (MODE(3) | RXACTIVE | PULLUDDIS)},
184c0dcece7SHeiko Schocher {-1},
185c0dcece7SHeiko Schocher };
186c0dcece7SHeiko Schocher
187c0dcece7SHeiko Schocher static struct module_pin_mux usb0_pin_mux[] = {
188c0dcece7SHeiko Schocher {OFFSET(usb0_dm), (MODE(0) | RXACTIVE | PULLUDDIS)},
189c0dcece7SHeiko Schocher {OFFSET(usb0_dp), (MODE(0) | RXACTIVE | PULLUDDIS)},
190c0dcece7SHeiko Schocher {OFFSET(usb0_ce), (MODE(0) | RXACTIVE | PULLUDDIS)},
191c0dcece7SHeiko Schocher {OFFSET(usb0_id), (MODE(0) | RXACTIVE | PULLUDDIS)},
192c0dcece7SHeiko Schocher {OFFSET(usb0_vbus), (MODE(0) | RXACTIVE | PULLUDDIS)},
193c0dcece7SHeiko Schocher {OFFSET(usb0_drvvbus), (MODE(0))},
194c0dcece7SHeiko Schocher {-1},
195c0dcece7SHeiko Schocher };
196c0dcece7SHeiko Schocher
197c0dcece7SHeiko Schocher static struct module_pin_mux usb1_pin_mux[] = {
198c0dcece7SHeiko Schocher {OFFSET(usb1_dm), (MODE(0) | RXACTIVE | PULLUDDIS)},
199c0dcece7SHeiko Schocher {OFFSET(usb1_dp), (MODE(0) | RXACTIVE | PULLUDDIS)},
200c0dcece7SHeiko Schocher {OFFSET(usb1_ce), (MODE(0) | RXACTIVE | PULLUDDIS)},
201c0dcece7SHeiko Schocher {OFFSET(usb1_id), (MODE(0) | RXACTIVE | PULLUDDIS)},
202c0dcece7SHeiko Schocher {OFFSET(usb1_vbus), (MODE(0) | RXACTIVE | PULLUDDIS)},
203c0dcece7SHeiko Schocher {OFFSET(usb1_drvvbus), (MODE(0))},
204c0dcece7SHeiko Schocher {-1},
205c0dcece7SHeiko Schocher };
206c0dcece7SHeiko Schocher
207c0dcece7SHeiko Schocher static struct module_pin_mux spi0_pin_mux[] = {
208c0dcece7SHeiko Schocher {OFFSET(spi0_sclk), (MODE(0) | RXACTIVE | PULLUDDIS)},
209c0dcece7SHeiko Schocher {OFFSET(spi0_d0), (MODE(0) | RXACTIVE | PULLUDDIS)},
210c0dcece7SHeiko Schocher {OFFSET(spi0_d1), (MODE(0) | RXACTIVE | PULLUDDIS)},
211c0dcece7SHeiko Schocher {OFFSET(spi0_cs0), (MODE(0) | RXACTIVE | PULLUDDIS)},
212c0dcece7SHeiko Schocher {OFFSET(spi0_cs1), (MODE(0) | RXACTIVE | PULLUDDIS)},
213c0dcece7SHeiko Schocher {-1},
214c0dcece7SHeiko Schocher };
215c0dcece7SHeiko Schocher
216c0dcece7SHeiko Schocher static struct module_pin_mux spi1_pin_mux[] = {
217c0dcece7SHeiko Schocher {OFFSET(mcasp0_aclkx), (MODE(3) | RXACTIVE | PULLUP_EN)},
218c0dcece7SHeiko Schocher {OFFSET(mcasp0_fsx), (MODE(3) | RXACTIVE | PULLUP_EN)},
219c0dcece7SHeiko Schocher {OFFSET(mcasp0_axr0), (MODE(3) | RXACTIVE | PULLUP_EN)},
220c0dcece7SHeiko Schocher {OFFSET(mcasp0_ahclkr), (MODE(3) | RXACTIVE | PULLUP_EN)},
221c0dcece7SHeiko Schocher {-1},
222c0dcece7SHeiko Schocher };
223c0dcece7SHeiko Schocher
224c0dcece7SHeiko Schocher static struct module_pin_mux jtag_pin_mux[] = {
225c0dcece7SHeiko Schocher {OFFSET(tms), (MODE(0) | RXACTIVE | PULLUP_EN)},
226c0dcece7SHeiko Schocher {OFFSET(tdi), (MODE(0) | RXACTIVE | PULLUP_EN)},
227c0dcece7SHeiko Schocher {OFFSET(tdo), (MODE(0) | PULLUP_EN)},
228c0dcece7SHeiko Schocher {OFFSET(tck), (MODE(0) | RXACTIVE | PULLUP_EN)},
229c0dcece7SHeiko Schocher {OFFSET(ntrst), (MODE(0) | RXACTIVE)},
230c0dcece7SHeiko Schocher {-1},
231c0dcece7SHeiko Schocher };
232c0dcece7SHeiko Schocher
233c0dcece7SHeiko Schocher static struct module_pin_mux nand_pin_mux[] = {
234c0dcece7SHeiko Schocher {OFFSET(gpmc_ad0), (MODE(0) | RXACTIVE)},
235c0dcece7SHeiko Schocher {OFFSET(gpmc_ad1), (MODE(0) | RXACTIVE)},
236c0dcece7SHeiko Schocher {OFFSET(gpmc_ad2), (MODE(0) | RXACTIVE)},
237c0dcece7SHeiko Schocher {OFFSET(gpmc_ad3), (MODE(0) | RXACTIVE)},
238c0dcece7SHeiko Schocher {OFFSET(gpmc_ad4), (MODE(0) | RXACTIVE)},
239c0dcece7SHeiko Schocher {OFFSET(gpmc_ad5), (MODE(0) | RXACTIVE)},
240c0dcece7SHeiko Schocher {OFFSET(gpmc_ad6), (MODE(0) | RXACTIVE)},
241c0dcece7SHeiko Schocher {OFFSET(gpmc_ad7), (MODE(0) | RXACTIVE)},
242c0dcece7SHeiko Schocher {OFFSET(gpmc_advn_ale), (MODE(0) | PULLUP_EN)},
243c0dcece7SHeiko Schocher {OFFSET(gpmc_be0n_cle), (MODE(0) | PULLUP_EN)},
244c0dcece7SHeiko Schocher {OFFSET(gpmc_csn0), (MODE(0) | PULLUP_EN)},
245c0dcece7SHeiko Schocher {OFFSET(gpmc_oen_ren), (MODE(0) | PULLUP_EN)},
246c0dcece7SHeiko Schocher {OFFSET(gpmc_wen), (MODE(0) | PULLUP_EN)},
247c0dcece7SHeiko Schocher {-1},
248c0dcece7SHeiko Schocher };
249c0dcece7SHeiko Schocher
250c0dcece7SHeiko Schocher static struct module_pin_mux ainx_pin_mux[] = {
251c0dcece7SHeiko Schocher {OFFSET(ain7), (MODE(0) | RXACTIVE | PULLUDDIS)},
252c0dcece7SHeiko Schocher {OFFSET(ain6), (MODE(0) | RXACTIVE | PULLUDDIS)},
253c0dcece7SHeiko Schocher {OFFSET(ain5), (MODE(0) | RXACTIVE | PULLUDDIS)},
254c0dcece7SHeiko Schocher {OFFSET(ain4), (MODE(0) | RXACTIVE | PULLUDDIS)},
255c0dcece7SHeiko Schocher {OFFSET(ain3), (MODE(0) | RXACTIVE | PULLUDDIS)},
256c0dcece7SHeiko Schocher {OFFSET(ain2), (MODE(0) | RXACTIVE | PULLUDDIS)},
257c0dcece7SHeiko Schocher {OFFSET(ain1), (MODE(0) | RXACTIVE | PULLUDDIS)},
258c0dcece7SHeiko Schocher {OFFSET(ain0), (MODE(0) | RXACTIVE | PULLUDDIS)},
259c0dcece7SHeiko Schocher {-1},
260c0dcece7SHeiko Schocher };
261c0dcece7SHeiko Schocher
262c0dcece7SHeiko Schocher static struct module_pin_mux rtc_pin_mux[] = {
263c0dcece7SHeiko Schocher {OFFSET(osc1_in), (MODE(0) | RXACTIVE | PULLUDDIS)},
264c0dcece7SHeiko Schocher {OFFSET(osc1_out), (MODE(0) | RXACTIVE | PULLUDDIS)},
265c0dcece7SHeiko Schocher {OFFSET(rtc_porz), (MODE(0) | RXACTIVE | PULLUDDIS)},
266c0dcece7SHeiko Schocher {OFFSET(enz_kaldo_1p8v), (MODE(0) | RXACTIVE | PULLUDDIS)},
267c0dcece7SHeiko Schocher {-1},
268c0dcece7SHeiko Schocher };
269c0dcece7SHeiko Schocher
270c0dcece7SHeiko Schocher static struct module_pin_mux gpmc_pin_mux[] = {
271c0dcece7SHeiko Schocher {OFFSET(gpmc_wait0), (MODE(0) | RXACTIVE | PULLUP_EN)},
272c0dcece7SHeiko Schocher {OFFSET(gpmc_clk), (MODE(0) | RXACTIVE)},
273c0dcece7SHeiko Schocher {-1},
274c0dcece7SHeiko Schocher };
275c0dcece7SHeiko Schocher
276c0dcece7SHeiko Schocher static struct module_pin_mux pmic_pin_mux[] = {
277c0dcece7SHeiko Schocher {OFFSET(pmic_power_en), (MODE(0) | PULLUP_EN)},
278c0dcece7SHeiko Schocher {-1},
279c0dcece7SHeiko Schocher };
280c0dcece7SHeiko Schocher
281c0dcece7SHeiko Schocher static struct module_pin_mux osc_pin_mux[] = {
282c0dcece7SHeiko Schocher {OFFSET(osc0_in), (MODE(0) | RXACTIVE | PULLUP_EN)},
283c0dcece7SHeiko Schocher {OFFSET(osc0_out), (MODE(0) | PULLUP_EN)},
284c0dcece7SHeiko Schocher {-1},
285c0dcece7SHeiko Schocher };
286c0dcece7SHeiko Schocher
287c0dcece7SHeiko Schocher static struct module_pin_mux pwm_pin_mux[] = {
288c0dcece7SHeiko Schocher {OFFSET(ecap0_in_pwm0_out), (MODE(0) | RXACTIVE | PULLUDDIS)},
289c0dcece7SHeiko Schocher {OFFSET(gpmc_a2), (MODE(6))},
290c0dcece7SHeiko Schocher {OFFSET(gpmc_a3), (MODE(6))},
291c0dcece7SHeiko Schocher {-1},
292c0dcece7SHeiko Schocher };
293c0dcece7SHeiko Schocher
294c0dcece7SHeiko Schocher static struct module_pin_mux emu_pin_mux[] = {
295c0dcece7SHeiko Schocher {OFFSET(emu0), (MODE(0) | RXACTIVE | PULLUP_EN)},
296c0dcece7SHeiko Schocher {OFFSET(emu1), (MODE(0) | RXACTIVE | PULLUP_EN)},
297c0dcece7SHeiko Schocher {-1},
298c0dcece7SHeiko Schocher };
299c0dcece7SHeiko Schocher
300c0dcece7SHeiko Schocher static struct module_pin_mux vref_pin_mux[] = {
301c0dcece7SHeiko Schocher {OFFSET(vrefp), (MODE(0) | RXACTIVE | PULLUDDIS)},
302c0dcece7SHeiko Schocher {OFFSET(vrefn), (MODE(0) | RXACTIVE | PULLUDDIS)},
303c0dcece7SHeiko Schocher {-1},
304c0dcece7SHeiko Schocher };
305c0dcece7SHeiko Schocher
306c0dcece7SHeiko Schocher static struct module_pin_mux misc_pin_mux[] = {
307c0dcece7SHeiko Schocher {OFFSET(porz), (MODE(0) | RXACTIVE | PULLUDDIS)},
308c0dcece7SHeiko Schocher {OFFSET(nnmi), (MODE(0) | RXACTIVE | PULLUDDIS)},
309c0dcece7SHeiko Schocher {OFFSET(ext_wakeup), (MODE(0) | RXACTIVE)},
310c0dcece7SHeiko Schocher {-1},
311c0dcece7SHeiko Schocher };
312c0dcece7SHeiko Schocher
enable_uart0_pin_mux(void)313c0dcece7SHeiko Schocher void enable_uart0_pin_mux(void)
314c0dcece7SHeiko Schocher {
315c0dcece7SHeiko Schocher configure_module_pin_mux(uart0_pin_mux);
316c0dcece7SHeiko Schocher }
317c0dcece7SHeiko Schocher
enable_i2c0_pin_mux(void)318c0dcece7SHeiko Schocher void enable_i2c0_pin_mux(void)
319c0dcece7SHeiko Schocher {
320c0dcece7SHeiko Schocher configure_module_pin_mux(i2c0_pin_mux);
321c0dcece7SHeiko Schocher }
322c0dcece7SHeiko Schocher
enable_board_pin_mux(void)323c0dcece7SHeiko Schocher void enable_board_pin_mux(void)
324c0dcece7SHeiko Schocher {
325c0dcece7SHeiko Schocher configure_module_pin_mux(ddr_pin_mux);
326c0dcece7SHeiko Schocher configure_module_pin_mux(lcd_pin_mux);
327c0dcece7SHeiko Schocher configure_module_pin_mux(mmc0_pin_mux);
328c0dcece7SHeiko Schocher configure_module_pin_mux(mii_pin_mux);
329c0dcece7SHeiko Schocher configure_module_pin_mux(gpio_pin_mux);
330c0dcece7SHeiko Schocher configure_module_pin_mux(i2c1_pin_mux);
331c0dcece7SHeiko Schocher configure_module_pin_mux(usb0_pin_mux);
332c0dcece7SHeiko Schocher configure_module_pin_mux(usb1_pin_mux);
333c0dcece7SHeiko Schocher configure_module_pin_mux(spi0_pin_mux);
334c0dcece7SHeiko Schocher configure_module_pin_mux(spi1_pin_mux);
335c0dcece7SHeiko Schocher configure_module_pin_mux(jtag_pin_mux);
336c0dcece7SHeiko Schocher configure_module_pin_mux(nand_pin_mux);
337c0dcece7SHeiko Schocher configure_module_pin_mux(ainx_pin_mux);
338c0dcece7SHeiko Schocher configure_module_pin_mux(rtc_pin_mux);
339c0dcece7SHeiko Schocher configure_module_pin_mux(gpmc_pin_mux);
340c0dcece7SHeiko Schocher configure_module_pin_mux(pmic_pin_mux);
341c0dcece7SHeiko Schocher configure_module_pin_mux(osc_pin_mux);
342c0dcece7SHeiko Schocher configure_module_pin_mux(pwm_pin_mux);
343c0dcece7SHeiko Schocher configure_module_pin_mux(emu_pin_mux);
344c0dcece7SHeiko Schocher configure_module_pin_mux(vref_pin_mux);
345c0dcece7SHeiko Schocher configure_module_pin_mux(misc_pin_mux);
346c0dcece7SHeiko Schocher }
347