diff options
-rw-r--r-- | arch/m68k/include/asm/m532xsim.h | 52 | ||||
-rw-r--r-- | arch/m68k/platform/coldfire/m532x.c | 38 |
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) | |||
172 | static void __init m532x_qspi_init(void) | 172 | static 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) | |||
182 | static void __init m532x_uarts_init(void) | 182 | static 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 | ||
190 | static void __init m532x_fec_init(void) | 190 | static 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 | ||
326 | void fbcs_init(void) | 332 | void 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) | |||
448 | void gpio_init(void) | 454 | void 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 | ||
463 | int clock_pll(int fsys, int flags) | 469 | int clock_pll(int fsys, int flags) |