mbed library sources(for async_print)
Fork of mbed-src by
Revision 283:bf0f62a62bf4, committed 2014-08-13
- Comitter:
- mbed_official
- Date:
- Wed Aug 13 09:00:06 2014 +0100
- Parent:
- 282:4abd2456cfa5
- Child:
- 284:859ffaa7c331
- Commit message:
- Synchronized with git revision 1409f2a090b8a657fa91fa2e734cbeb643cd56cb
Full URL: https://github.com/mbedmicro/mbed/commit/1409f2a090b8a657fa91fa2e734cbeb643cd56cb/
[HAL] LP4330_M4 i2c/spi update
Changed in this revision
--- a/targets/hal/TARGET_NXP/TARGET_LPC43XX/i2c_api.c Tue Aug 12 10:30:08 2014 +0100 +++ b/targets/hal/TARGET_NXP/TARGET_LPC43XX/i2c_api.c Wed Aug 13 09:00:06 2014 +0100 @@ -20,17 +20,20 @@ #include "pinmap.h" #include "error.h" +// SCU mode for I2C SCL/SDA pins +#define SCU_PINIO_I2C SCU_PINIO_PULLNONE + static const PinMap PinMap_I2C_SDA[] = { {P_DED, I2C_0, 0}, - {P2_3, I2C_1, 1}, - {PE_13, I2C_1, 2}, + {P2_3, I2C_1, (SCU_PINIO_I2C | 1)}, + {PE_13, I2C_1, (SCU_PINIO_I2C | 2)}, {NC, NC, 0} }; static const PinMap PinMap_I2C_SCL[] = { {P_DED, I2C_0, 0}, - {P2_4, I2C_1, 1}, - {PE_14, I2C_1, 2}, + {P2_4, I2C_1, (SCU_PINIO_I2C | 1)}, + {PE_14, I2C_1, (SCU_PINIO_I2C | 2)}, {NC, NC, 0} };
--- a/targets/hal/TARGET_NXP/TARGET_LPC43XX/serial_api.c Tue Aug 12 10:30:08 2014 +0100 +++ b/targets/hal/TARGET_NXP/TARGET_LPC43XX/serial_api.c Wed Aug 13 09:00:06 2014 +0100 @@ -31,45 +31,49 @@ ******************************************************************************/ #define UART_NUM 4 +// SCU mode for UART pins +#define SCU_PINIO_UART_TX SCU_MODE_PULLDOWN +#define SCU_PINIO_UART_RX SCU_PINIO_PULLNONE + static const PinMap PinMap_UART_TX[] = { - {P1_13, UART_1, (SCU_MODE_PULLDOWN | 1)}, - {P1_15, UART_2, (SCU_MODE_PULLDOWN | 1)}, - {P2_0, UART_0, (SCU_MODE_PULLDOWN | 1)}, - {P2_3, UART_3, (SCU_MODE_PULLDOWN | 2)}, - {P2_10, UART_2, (SCU_MODE_PULLDOWN | 2)}, - {P3_4, UART_1, (SCU_MODE_PULLDOWN | 4)}, - {P4_1, UART_3, (SCU_MODE_PULLDOWN | 6)}, - {P5_6, UART_1, (SCU_MODE_PULLDOWN | 4)}, - {P6_4, UART_0, (SCU_MODE_PULLDOWN | 2)}, - {P7_1, UART_2, (SCU_MODE_PULLDOWN | 6)}, - {P9_3, UART_3, (SCU_MODE_PULLDOWN | 7)}, - {P9_5, UART_0, (SCU_MODE_PULLDOWN | 7)}, - {PA_1, UART_2, (SCU_MODE_PULLDOWN | 3)}, - {PC_13, UART_1, (SCU_MODE_PULLDOWN | 2)}, - {PE_11, UART_1, (SCU_MODE_PULLDOWN | 2)}, - {PF_2, UART_3, (SCU_MODE_PULLDOWN | 1)}, - {PF_10, UART_0, (SCU_MODE_PULLDOWN | 1)}, + {P1_13, UART_1, (SCU_PINIO_UART_TX | 1)}, + {P1_15, UART_2, (SCU_PINIO_UART_TX | 1)}, + {P2_0, UART_0, (SCU_PINIO_UART_TX | 1)}, + {P2_3, UART_3, (SCU_PINIO_UART_TX | 2)}, + {P2_10, UART_2, (SCU_PINIO_UART_TX | 2)}, + {P3_4, UART_1, (SCU_PINIO_UART_TX | 4)}, + {P4_1, UART_3, (SCU_PINIO_UART_TX | 6)}, + {P5_6, UART_1, (SCU_PINIO_UART_TX | 4)}, + {P6_4, UART_0, (SCU_PINIO_UART_TX | 2)}, + {P7_1, UART_2, (SCU_PINIO_UART_TX | 6)}, + {P9_3, UART_3, (SCU_PINIO_UART_TX | 7)}, + {P9_5, UART_0, (SCU_PINIO_UART_TX | 7)}, + {PA_1, UART_2, (SCU_PINIO_UART_TX | 3)}, + {PC_13, UART_1, (SCU_PINIO_UART_TX | 2)}, + {PE_11, UART_1, (SCU_PINIO_UART_TX | 2)}, + {PF_2, UART_3, (SCU_PINIO_UART_TX | 1)}, + {PF_10, UART_0, (SCU_PINIO_UART_TX | 1)}, {NC, NC, 0} }; static const PinMap PinMap_UART_RX[] = { - {P1_14, UART_1, (SCU_PINIO_PULLNONE | 1)}, - {P1_16, UART_2, (SCU_PINIO_PULLNONE | 1)}, - {P2_1, UART_0, (SCU_PINIO_PULLNONE | 1)}, - {P2_4, UART_3, (SCU_PINIO_PULLNONE | 2)}, - {P2_11, UART_2, (SCU_PINIO_PULLNONE | 2)}, - {P3_5, UART_1, (SCU_PINIO_PULLNONE | 4)}, - {P4_2, UART_3, (SCU_PINIO_PULLNONE | 6)}, - {P5_7, UART_1, (SCU_PINIO_PULLNONE | 4)}, - {P6_5, UART_0, (SCU_PINIO_PULLNONE | 2)}, - {P7_2, UART_2, (SCU_PINIO_PULLNONE | 6)}, - {P9_4, UART_3, (SCU_PINIO_PULLNONE | 7)}, - {P9_6, UART_0, (SCU_PINIO_PULLNONE | 7)}, - {PA_2, UART_2, (SCU_PINIO_PULLNONE | 3)}, - {PC_14, UART_1, (SCU_PINIO_PULLNONE | 2)}, - {PE_12, UART_1, (SCU_PINIO_PULLNONE | 2)}, - {PF_3, UART_3, (SCU_PINIO_PULLNONE | 1)}, - {PF_11, UART_0, (SCU_PINIO_PULLNONE | 1)}, + {P1_14, UART_1, (SCU_PINIO_UART_RX | 1)}, + {P1_16, UART_2, (SCU_PINIO_UART_RX | 1)}, + {P2_1, UART_0, (SCU_PINIO_UART_RX | 1)}, + {P2_4, UART_3, (SCU_PINIO_UART_RX | 2)}, + {P2_11, UART_2, (SCU_PINIO_UART_RX | 2)}, + {P3_5, UART_1, (SCU_PINIO_UART_RX | 4)}, + {P4_2, UART_3, (SCU_PINIO_UART_RX | 6)}, + {P5_7, UART_1, (SCU_PINIO_UART_RX | 4)}, + {P6_5, UART_0, (SCU_PINIO_UART_RX | 2)}, + {P7_2, UART_2, (SCU_PINIO_UART_RX | 6)}, + {P9_4, UART_3, (SCU_PINIO_UART_RX | 7)}, + {P9_6, UART_0, (SCU_PINIO_UART_RX | 7)}, + {PA_2, UART_2, (SCU_PINIO_UART_RX | 3)}, + {PC_14, UART_1, (SCU_PINIO_UART_RX | 2)}, + {PE_12, UART_1, (SCU_PINIO_UART_RX | 2)}, + {PF_3, UART_3, (SCU_PINIO_UART_RX | 1)}, + {PF_11, UART_0, (SCU_PINIO_UART_RX | 1)}, {NC, NC, 0} };
--- a/targets/hal/TARGET_NXP/TARGET_LPC43XX/spi_api.c Tue Aug 12 10:30:08 2014 +0100 +++ b/targets/hal/TARGET_NXP/TARGET_LPC43XX/spi_api.c Wed Aug 13 09:00:06 2014 +0100 @@ -23,48 +23,51 @@ #include "pinmap.h" #include "error.h" +// SCU mode for SPI pins +#define SCU_PINIO_SPI SCU_PINIO_FAST + static const PinMap PinMap_SPI_SCLK[] = { - {P1_19, SPI_1, (SCU_PINIO_FAST | 1)}, - {P3_0, SPI_0, (SCU_PINIO_FAST | 4)}, - {P3_3, SPI_0, (SCU_PINIO_FAST | 2)}, - {PF_0, SPI_0, (SCU_PINIO_FAST | 0)}, - {PF_4, SPI_1, (SCU_PINIO_FAST | 0)}, + {P1_19, SPI_1, (SCU_PINIO_SPI | 1)}, + {P3_0, SPI_0, (SCU_PINIO_SPI | 4)}, + {P3_3, SPI_0, (SCU_PINIO_SPI | 2)}, + {PF_0, SPI_0, (SCU_PINIO_SPI | 0)}, + {PF_4, SPI_1, (SCU_PINIO_SPI | 0)}, {NC, NC, 0} }; static const PinMap PinMap_SPI_MOSI[] = { - {P0_1, SPI_1, (SCU_PINIO_FAST | 1)}, - {P1_2, SPI_0, (SCU_PINIO_FAST | 5)}, - {P1_4, SPI_1, (SCU_PINIO_FAST | 5)}, - {P3_7, SPI_0, (SCU_PINIO_FAST | 5)}, - {P3_8, SPI_0, (SCU_PINIO_FAST | 2)}, - {P9_2, SPI_0, (SCU_PINIO_FAST | 7)}, - {PF_3, SPI_0, (SCU_PINIO_FAST | 2)}, - {PF_7, SPI_1, (SCU_PINIO_FAST | 2)}, + {P0_1, SPI_1, (SCU_PINIO_SPI | 1)}, + {P1_2, SPI_0, (SCU_PINIO_SPI | 5)}, + {P1_4, SPI_1, (SCU_PINIO_SPI | 5)}, + {P3_7, SPI_0, (SCU_PINIO_SPI | 5)}, + {P3_8, SPI_0, (SCU_PINIO_SPI | 2)}, + {P9_2, SPI_0, (SCU_PINIO_SPI | 7)}, + {PF_3, SPI_0, (SCU_PINIO_SPI | 2)}, + {PF_7, SPI_1, (SCU_PINIO_SPI | 2)}, {NC, NC, 0} }; static const PinMap PinMap_SPI_MISO[] = { - {P0_0, SPI_1, (SCU_PINIO_FAST | 1)}, - {P1_1, SPI_0, (SCU_PINIO_FAST | 5)}, - {P1_3, SPI_1, (SCU_PINIO_FAST | 5)}, - {P3_6, SPI_0, (SCU_PINIO_FAST | 5)}, - {P3_7, SPI_0, (SCU_PINIO_FAST | 2)}, - {P9_1, SPI_0, (SCU_PINIO_FAST | 7)}, - {PF_2, SPI_0, (SCU_PINIO_FAST | 2)}, - {PF_6, SPI_1, (SCU_PINIO_FAST | 2)}, + {P0_0, SPI_1, (SCU_PINIO_SPI | 1)}, + {P1_1, SPI_0, (SCU_PINIO_SPI | 5)}, + {P1_3, SPI_1, (SCU_PINIO_SPI | 5)}, + {P3_6, SPI_0, (SCU_PINIO_SPI | 5)}, + {P3_7, SPI_0, (SCU_PINIO_SPI | 2)}, + {P9_1, SPI_0, (SCU_PINIO_SPI | 7)}, + {PF_2, SPI_0, (SCU_PINIO_SPI | 2)}, + {PF_6, SPI_1, (SCU_PINIO_SPI | 2)}, {NC, NC, 0} }; static const PinMap PinMap_SPI_SSEL[] = { - {P1_0, SPI_0, (SCU_PINIO_FAST | 5)}, - {P1_5, SPI_1, (SCU_PINIO_FAST | 5)}, - {P1_20, SPI_1, (SCU_PINIO_FAST | 2)}, - {P3_6, SPI_0, (SCU_PINIO_FAST | 2)}, - {P3_8, SPI_0, (SCU_PINIO_FAST | 5)}, - {P9_0, SPI_0, (SCU_PINIO_FAST | 7)}, - {PF_1, SPI_0, (SCU_PINIO_FAST | 2)}, - {PF_5, SPI_1, (SCU_PINIO_FAST | 2)}, + {P1_0, SPI_0, (SCU_PINIO_SPI | 5)}, + {P1_5, SPI_1, (SCU_PINIO_SPI | 5)}, + {P1_20, SPI_1, (SCU_PINIO_SPI | 2)}, + {P3_6, SPI_0, (SCU_PINIO_SPI | 2)}, + {P3_8, SPI_0, (SCU_PINIO_SPI | 5)}, + {P9_0, SPI_0, (SCU_PINIO_SPI | 7)}, + {PF_1, SPI_0, (SCU_PINIO_SPI | 2)}, + {PF_5, SPI_1, (SCU_PINIO_SPI | 2)}, {NC, NC, 0} }; @@ -82,6 +85,12 @@ obj->spi = (LPC_SSP_T*)pinmap_merge(spi_data, spi_cntl); MBED_ASSERT((int)obj->spi != NC); + + // enable clocking + switch ((int)obj->spi) { + case SPI_0: LPC_CGU->BASE_CLK[CLK_BASE_SSP0] = (1 << 11) | (CLKIN_MAINPLL << 24); break; + case SPI_1: LPC_CGU->BASE_CLK[CLK_BASE_SSP1] = (1 << 11) | (CLKIN_MAINPLL << 24); break; + } // set default format and frequency if (ssel == NC) {