aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/m68k/include/asm/m532xsim.h52
-rw-r--r--arch/m68k/platform/coldfire/m532x.c38
2 files changed, 48 insertions, 42 deletions
diff --git a/arch/m68k/include/asm/m532xsim.h b/arch/m68k/include/asm/m532xsim.h
index 38333703a563..d4092fa7e5f4 100644
--- a/arch/m68k/include/asm/m532xsim.h
+++ b/arch/m68k/include/asm/m532xsim.h
@@ -393,32 +393,32 @@
393#define MCFGPIO_PCLRR_LCDDATAL (0xFC0A404B) 393#define MCFGPIO_PCLRR_LCDDATAL (0xFC0A404B)
394#define MCFGPIO_PCLRR_LCDCTLH (0xFC0A404C) 394#define MCFGPIO_PCLRR_LCDCTLH (0xFC0A404C)
395#define MCFGPIO_PCLRR_LCDCTLL (0xFC0A404D) 395#define MCFGPIO_PCLRR_LCDCTLL (0xFC0A404D)
396#define MCF_GPIO_PAR_FEC MCF_REG08(0xFC0A4050) 396#define MCFGPIO_PAR_FEC (0xFC0A4050)
397#define MCF_GPIO_PAR_PWM MCF_REG08(0xFC0A4051) 397#define MCFGPIO_PAR_PWM (0xFC0A4051)
398#define MCF_GPIO_PAR_BUSCTL MCF_REG08(0xFC0A4052) 398#define MCFGPIO_PAR_BUSCTL (0xFC0A4052)
399#define MCF_GPIO_PAR_FECI2C MCF_REG08(0xFC0A4053) 399#define MCFGPIO_PAR_FECI2C (0xFC0A4053)
400#define MCF_GPIO_PAR_BE MCF_REG08(0xFC0A4054) 400#define MCFGPIO_PAR_BE (0xFC0A4054)
401#define MCF_GPIO_PAR_CS MCF_REG08(0xFC0A4055) 401#define MCFGPIO_PAR_CS (0xFC0A4055)
402#define MCF_GPIO_PAR_SSI MCF_REG16(0xFC0A4056) 402#define MCFGPIO_PAR_SSI (0xFC0A4056)
403#define MCF_GPIO_PAR_UART MCF_REG16(0xFC0A4058) 403#define MCFGPIO_PAR_UART (0xFC0A4058)
404#define MCF_GPIO_PAR_QSPI MCF_REG16(0xFC0A405A) 404#define MCFGPIO_PAR_QSPI (0xFC0A405A)
405#define MCF_GPIO_PAR_TIMER MCF_REG08(0xFC0A405C) 405#define MCFGPIO_PAR_TIMER (0xFC0A405C)
406#define MCF_GPIO_PAR_LCDDATA MCF_REG08(0xFC0A405D) 406#define MCFGPIO_PAR_LCDDATA (0xFC0A405D)
407#define MCF_GPIO_PAR_LCDCTL MCF_REG16(0xFC0A405E) 407#define MCFGPIO_PAR_LCDCTL (0xFC0A405E)
408#define MCF_GPIO_PAR_IRQ MCF_REG16(0xFC0A4060) 408#define MCFGPIO_PAR_IRQ (0xFC0A4060)
409#define MCF_GPIO_MSCR_FLEXBUS MCF_REG08(0xFC0A4064) 409#define MCFGPIO_MSCR_FLEXBUS (0xFC0A4064)
410#define MCF_GPIO_MSCR_SDRAM MCF_REG08(0xFC0A4065) 410#define MCFGPIO_MSCR_SDRAM (0xFC0A4065)
411#define MCF_GPIO_DSCR_I2C MCF_REG08(0xFC0A4068) 411#define MCFGPIO_DSCR_I2C (0xFC0A4068)
412#define MCF_GPIO_DSCR_PWM MCF_REG08(0xFC0A4069) 412#define MCFGPIO_DSCR_PWM (0xFC0A4069)
413#define MCF_GPIO_DSCR_FEC MCF_REG08(0xFC0A406A) 413#define MCFGPIO_DSCR_FEC (0xFC0A406A)
414#define MCF_GPIO_DSCR_UART MCF_REG08(0xFC0A406B) 414#define MCFGPIO_DSCR_UART (0xFC0A406B)
415#define MCF_GPIO_DSCR_QSPI MCF_REG08(0xFC0A406C) 415#define MCFGPIO_DSCR_QSPI (0xFC0A406C)
416#define MCF_GPIO_DSCR_TIMER MCF_REG08(0xFC0A406D) 416#define MCFGPIO_DSCR_TIMER (0xFC0A406D)
417#define MCF_GPIO_DSCR_SSI MCF_REG08(0xFC0A406E) 417#define MCFGPIO_DSCR_SSI (0xFC0A406E)
418#define MCF_GPIO_DSCR_LCD MCF_REG08(0xFC0A406F) 418#define MCFGPIO_DSCR_LCD (0xFC0A406F)
419#define MCF_GPIO_DSCR_DEBUG MCF_REG08(0xFC0A4070) 419#define MCFGPIO_DSCR_DEBUG (0xFC0A4070)
420#define MCF_GPIO_DSCR_CLKRST MCF_REG08(0xFC0A4071) 420#define MCFGPIO_DSCR_CLKRST (0xFC0A4071)
421#define MCF_GPIO_DSCR_IRQ MCF_REG08(0xFC0A4072) 421#define MCFGPIO_DSCR_IRQ (0xFC0A4072)
422 422
423/* Bit definitions and macros for MCF_GPIO_PODR_FECH */ 423/* Bit definitions and macros for MCF_GPIO_PODR_FECH */
424#define MCF_GPIO_PODR_FECH_PODR_FECH0 (0x01) 424#define MCF_GPIO_PODR_FECH_PODR_FECH0 (0x01)
diff --git a/arch/m68k/platform/coldfire/m532x.c b/arch/m68k/platform/coldfire/m532x.c
index 4819a44991ed..0adeef17fd41 100644
--- a/arch/m68k/platform/coldfire/m532x.c
+++ b/arch/m68k/platform/coldfire/m532x.c
@@ -172,7 +172,7 @@ static void __init m532x_clk_init(void)
172static void __init m532x_qspi_init(void) 172static void __init m532x_qspi_init(void)
173{ 173{
174 /* setup QSPS pins for QSPI with gpio CS control */ 174 /* setup QSPS pins for QSPI with gpio CS control */
175 writew(0x01f0, MCF_GPIO_PAR_QSPI); 175 writew(0x01f0, MCFGPIO_PAR_QSPI);
176} 176}
177 177
178#endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */ 178#endif /* IS_ENABLED(CONFIG_SPI_COLDFIRE_QSPI) */
@@ -182,18 +182,24 @@ static void __init m532x_qspi_init(void)
182static void __init m532x_uarts_init(void) 182static void __init m532x_uarts_init(void)
183{ 183{
184 /* UART GPIO initialization */ 184 /* UART GPIO initialization */
185 MCF_GPIO_PAR_UART |= 0x0FFF; 185 writew(readw(MCFGPIO_PAR_UART) | 0x0FFF, MCFGPIO_PAR_UART);
186} 186}
187 187
188/***************************************************************************/ 188/***************************************************************************/
189 189
190static void __init m532x_fec_init(void) 190static void __init m532x_fec_init(void)
191{ 191{
192 u8 v;
193
192 /* Set multi-function pins to ethernet mode for fec0 */ 194 /* Set multi-function pins to ethernet mode for fec0 */
193 MCF_GPIO_PAR_FECI2C |= (MCF_GPIO_PAR_FECI2C_PAR_MDC_EMDC | 195 v = readb(MCFGPIO_PAR_FECI2C);
194 MCF_GPIO_PAR_FECI2C_PAR_MDIO_EMDIO); 196 v |= MCF_GPIO_PAR_FECI2C_PAR_MDC_EMDC |
195 MCF_GPIO_PAR_FEC = (MCF_GPIO_PAR_FEC_PAR_FEC_7W_FEC | 197 MCF_GPIO_PAR_FECI2C_PAR_MDIO_EMDIO;
196 MCF_GPIO_PAR_FEC_PAR_FEC_MII_FEC); 198 writeb(v, MCFGPIO_PAR_FECI2C);
199
200 v = readb(MCFGPIO_PAR_FEC);
201 v = MCF_GPIO_PAR_FEC_PAR_FEC_7W_FEC | MCF_GPIO_PAR_FEC_PAR_FEC_MII_FEC;
202 writeb(v, MCFGPIO_PAR_FEC);
197} 203}
198 204
199/***************************************************************************/ 205/***************************************************************************/
@@ -325,7 +331,7 @@ void scm_init(void)
325 331
326void fbcs_init(void) 332void fbcs_init(void)
327{ 333{
328 MCF_GPIO_PAR_CS = 0x0000003E; 334 writeb(0x3E, MCFGPIO_PAR_CS);
329 335
330 /* Latch chip select */ 336 /* Latch chip select */
331 MCF_FBCS1_CSAR = 0x10080000; 337 MCF_FBCS1_CSAR = 0x10080000;
@@ -448,16 +454,16 @@ void sdramc_init(void)
448void gpio_init(void) 454void gpio_init(void)
449{ 455{
450 /* Enable UART0 pins */ 456 /* Enable UART0 pins */
451 MCF_GPIO_PAR_UART = ( 0 457 writew(MCF_GPIO_PAR_UART_PAR_URXD0 | MCF_GPIO_PAR_UART_PAR_UTXD0,
452 | MCF_GPIO_PAR_UART_PAR_URXD0 458 MCFGPIO_PAR_UART);
453 | MCF_GPIO_PAR_UART_PAR_UTXD0);
454
455 /* Initialize TIN3 as a GPIO output to enable the write
456 half of the latch */
457 MCF_GPIO_PAR_TIMER = 0x00;
458 __raw_writeb(0x08, MCFGPIO_PDDR_TIMER);
459 __raw_writeb(0x00, MCFGPIO_PCLRR_TIMER);
460 459
460 /*
461 * Initialize TIN3 as a GPIO output to enable the write
462 * half of the latch.
463 */
464 writeb(0x00, MCFGPIO_PAR_TIMER);
465 writeb(0x08, MCFGPIO_PDDR_TIMER);
466 writeb(0x00, MCFGPIO_PCLRR_TIMER);
461} 467}
462 468
463int clock_pll(int fsys, int flags) 469int clock_pll(int fsys, int flags)