1 /***************************************************************************/
4 * linux/arch/m68knommu/platform/523x/config.c
6 * Sub-architcture dependent initialization code for the Freescale
9 * Copyright (C) 1999-2005, Greg Ungerer (gerg@snapgear.com)
10 * Copyright (C) 2001-2003, SnapGear Inc. (www.snapgear.com)
13 /***************************************************************************/
15 #include <linux/kernel.h>
16 #include <linux/param.h>
17 #include <linux/init.h>
19 #include <asm/machdep.h>
20 #include <asm/coldfire.h>
21 #include <asm/mcfsim.h>
22 #include <asm/mcfgpio.h>
24 /***************************************************************************/
26 struct mcf_gpio_chip mcf_gpio_chips
[] = {
27 MCFGPS(PIRQ
, 1, 7, MCFEPORT_EPDDR
, MCFEPORT_EPDR
, MCFEPORT_EPPDR
),
31 MCFGPF(BUSCTL
, 32, 8),
35 MCFGPF(FECI2C
, 64, 4),
43 unsigned int mcf_gpio_chips_size
= ARRAY_SIZE(mcf_gpio_chips
);
45 /***************************************************************************/
47 #if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)
49 static void __init
m523x_qspi_init(void)
53 /* setup QSPS pins for QSPI with gpio CS control */
54 writeb(0x1f, MCFGPIO_PAR_QSPI
);
55 /* and CS2 & CS3 as gpio */
56 par
= readw(MCFGPIO_PAR_TIMER
);
58 writew(par
, MCFGPIO_PAR_TIMER
);
61 #endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */
63 /***************************************************************************/
65 static void __init
m523x_fec_init(void)
70 /* Set multi-function pins to ethernet use */
71 par
= readw(MCF_IPSBAR
+ 0x100082);
72 writew(par
| 0xf00, MCF_IPSBAR
+ 0x100082);
73 v
= readb(MCF_IPSBAR
+ 0x100078);
74 writeb(v
| 0xc0, MCF_IPSBAR
+ 0x100078);
77 /***************************************************************************/
79 void __init
config_BSP(char *commandp
, int size
)
81 mach_sched_init
= hw_timer_init
;
83 #if IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI)
88 /***************************************************************************/