mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Add testing pinmaps to LPC15XX and LPC8XX devices
Add pinmap tables to the LPC15XX and LPC8XX families to allow testing.pull/9449/head
							parent
							
								
									c7a19461b4
								
							
						
					
					
						commit
						800708569d
					
				| 
						 | 
				
			
			@ -18,6 +18,12 @@
 | 
			
		|||
#include "cmsis.h"
 | 
			
		||||
#include "pinmap.h"
 | 
			
		||||
 | 
			
		||||
static const PinMap PinMap_DAC[] = {
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void analogout_init(dac_t *obj, PinName pin) {
 | 
			
		||||
    MBED_ASSERT(pin == P0_12);
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,6 +91,89 @@ static can_irq_handler irq_handler;
 | 
			
		|||
#define IRQ_ENABLE_ANY (IRQ_ENABLE_STATUS | IRQ_ENABLE_ERROR)
 | 
			
		||||
static uint32_t enabled_irqs = 0;
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_CAN_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
    {P0_18, 0, 0},
 | 
			
		||||
    {P0_19, 0, 0},
 | 
			
		||||
    {P0_20, 0, 0},
 | 
			
		||||
    {P0_21, 0, 0},
 | 
			
		||||
    {P0_22, 0, 0},
 | 
			
		||||
    {P0_23, 0, 0},
 | 
			
		||||
    {P0_24, 0, 0},
 | 
			
		||||
    {P0_25, 0, 0},
 | 
			
		||||
    {P0_26, 0, 0},
 | 
			
		||||
    {P0_27, 0, 0},
 | 
			
		||||
    {P0_28, 0, 0},
 | 
			
		||||
    {P0_29, 0, 0},
 | 
			
		||||
    {P0_30, 0, 0},
 | 
			
		||||
    {P0_31, 0, 0},
 | 
			
		||||
    {P1_0,  0, 0},
 | 
			
		||||
    {P1_1,  0, 0},
 | 
			
		||||
    {P1_2,  0, 0},
 | 
			
		||||
    {P1_3,  0, 0},
 | 
			
		||||
    {P1_4,  0, 0},
 | 
			
		||||
    {P1_5,  0, 0},
 | 
			
		||||
    {P1_6,  0, 0},
 | 
			
		||||
    {P1_7,  0, 0},
 | 
			
		||||
    {P1_8,  0, 0},
 | 
			
		||||
    {P1_9,  0, 0},
 | 
			
		||||
    {P1_10, 0, 0},
 | 
			
		||||
    {P1_11, 0, 0},
 | 
			
		||||
    {P1_12, 0, 0},
 | 
			
		||||
    {P1_13, 0, 0},
 | 
			
		||||
    {P1_14, 0, 0},
 | 
			
		||||
    {P1_15, 0, 0},
 | 
			
		||||
    {P1_16, 0, 0},
 | 
			
		||||
    {P1_17, 0, 0},
 | 
			
		||||
    {P1_18, 0, 0},
 | 
			
		||||
    {P1_19, 0, 0},
 | 
			
		||||
    {P1_20, 0, 0},
 | 
			
		||||
    {P1_21, 0, 0},
 | 
			
		||||
    {P1_22, 0, 0},
 | 
			
		||||
    {P1_23, 0, 0},
 | 
			
		||||
    {P1_24, 0, 0},
 | 
			
		||||
    {P1_25, 0, 0},
 | 
			
		||||
    {P1_26, 0, 0},
 | 
			
		||||
    {P1_27, 0, 0},
 | 
			
		||||
    {P1_28, 0, 0},
 | 
			
		||||
    {P1_29, 0, 0},
 | 
			
		||||
    {P1_30, 0, 0},
 | 
			
		||||
    {P1_31, 0, 0},
 | 
			
		||||
    {P2_0,  0, 0},
 | 
			
		||||
    {P2_1,  0, 0},
 | 
			
		||||
    {P2_2,  0, 0},
 | 
			
		||||
    {P2_3,  0, 0},
 | 
			
		||||
    {P2_4,  0, 0},
 | 
			
		||||
    {P2_5,  0, 0},
 | 
			
		||||
    {P2_6,  0, 0},
 | 
			
		||||
    {P2_7,  0, 0},
 | 
			
		||||
    {P2_8,  0, 0},
 | 
			
		||||
    {P2_9,  0, 0},
 | 
			
		||||
    {P2_10, 0, 0},
 | 
			
		||||
    {P2_11, 0, 0},
 | 
			
		||||
    {P2_12, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static inline void can_disable(can_t *obj) {
 | 
			
		||||
    LPC_C_CAN0->CANCNTL |= 0x1;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -629,10 +712,10 @@ void can_monitor(can_t *obj, int silent) {
 | 
			
		|||
 | 
			
		||||
const PinMap *can_rd_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_CAN_TD;
 | 
			
		||||
    return PinMap_CAN_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *can_td_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_CAN_RD;
 | 
			
		||||
    return PinMap_CAN_testing;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,18 @@ static uint8_t repeated_start = 0;
 | 
			
		|||
 | 
			
		||||
#define I2C_STAT(x)         ((LPC_I2C0->STAT >> 1) & (0x07))
 | 
			
		||||
 | 
			
		||||
static const PinMap PinMap_I2C_SDA[] = {
 | 
			
		||||
    {P0_23, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const PinMap PinMap_I2C_SCL[] = {
 | 
			
		||||
    {P0_22, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static inline int i2c_status(i2c_t *obj) {
 | 
			
		||||
    return I2C_STAT(obj);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,89 @@ static LPC_SCT0_Type *SCTs[4] = {
 | 
			
		|||
    (LPC_SCT0_Type*)LPC_SCT3,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_PWM_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
    {P0_18, 0, 0},
 | 
			
		||||
    {P0_19, 0, 0},
 | 
			
		||||
    {P0_20, 0, 0},
 | 
			
		||||
    {P0_21, 0, 0},
 | 
			
		||||
    {P0_22, 0, 0},
 | 
			
		||||
    {P0_23, 0, 0},
 | 
			
		||||
    {P0_24, 0, 0},
 | 
			
		||||
    {P0_25, 0, 0},
 | 
			
		||||
    {P0_26, 0, 0},
 | 
			
		||||
    {P0_27, 0, 0},
 | 
			
		||||
    {P0_28, 0, 0},
 | 
			
		||||
    {P0_29, 0, 0},
 | 
			
		||||
    {P0_30, 0, 0},
 | 
			
		||||
    {P0_31, 0, 0},
 | 
			
		||||
    {P1_0,  0, 0},
 | 
			
		||||
    {P1_1,  0, 0},
 | 
			
		||||
    {P1_2,  0, 0},
 | 
			
		||||
    {P1_3,  0, 0},
 | 
			
		||||
    {P1_4,  0, 0},
 | 
			
		||||
    {P1_5,  0, 0},
 | 
			
		||||
    {P1_6,  0, 0},
 | 
			
		||||
    {P1_7,  0, 0},
 | 
			
		||||
    {P1_8,  0, 0},
 | 
			
		||||
    {P1_9,  0, 0},
 | 
			
		||||
    {P1_10, 0, 0},
 | 
			
		||||
    {P1_11, 0, 0},
 | 
			
		||||
    {P1_12, 0, 0},
 | 
			
		||||
    {P1_13, 0, 0},
 | 
			
		||||
    {P1_14, 0, 0},
 | 
			
		||||
    {P1_15, 0, 0},
 | 
			
		||||
    {P1_16, 0, 0},
 | 
			
		||||
    {P1_17, 0, 0},
 | 
			
		||||
    {P1_18, 0, 0},
 | 
			
		||||
    {P1_19, 0, 0},
 | 
			
		||||
    {P1_20, 0, 0},
 | 
			
		||||
    {P1_21, 0, 0},
 | 
			
		||||
    {P1_22, 0, 0},
 | 
			
		||||
    {P1_23, 0, 0},
 | 
			
		||||
    {P1_24, 0, 0},
 | 
			
		||||
    {P1_25, 0, 0},
 | 
			
		||||
    {P1_26, 0, 0},
 | 
			
		||||
    {P1_27, 0, 0},
 | 
			
		||||
    {P1_28, 0, 0},
 | 
			
		||||
    {P1_29, 0, 0},
 | 
			
		||||
    {P1_30, 0, 0},
 | 
			
		||||
    {P1_31, 0, 0},
 | 
			
		||||
    {P2_0,  0, 0},
 | 
			
		||||
    {P2_1,  0, 0},
 | 
			
		||||
    {P2_2,  0, 0},
 | 
			
		||||
    {P2_3,  0, 0},
 | 
			
		||||
    {P2_4,  0, 0},
 | 
			
		||||
    {P2_5,  0, 0},
 | 
			
		||||
    {P2_6,  0, 0},
 | 
			
		||||
    {P2_7,  0, 0},
 | 
			
		||||
    {P2_8,  0, 0},
 | 
			
		||||
    {P2_9,  0, 0},
 | 
			
		||||
    {P2_10, 0, 0},
 | 
			
		||||
    {P2_11, 0, 0},
 | 
			
		||||
    {P2_12, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used SCTs
 | 
			
		||||
static unsigned char sct_used = (1 << 3);
 | 
			
		||||
static int get_available_sct(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -205,6 +288,6 @@ void pwmout_pulsewidth_us(pwmout_t* obj, int us) {
 | 
			
		|||
 | 
			
		||||
const PinMap *pwmout_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_PWM;
 | 
			
		||||
    return PinMap_PWM_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,6 +52,89 @@ static const SWM_Map SWM_UART_CTS[] = {
 | 
			
		|||
    {3, 8} // not available
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_UART_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
    {P0_18, 0, 0},
 | 
			
		||||
    {P0_19, 0, 0},
 | 
			
		||||
    {P0_20, 0, 0},
 | 
			
		||||
    {P0_21, 0, 0},
 | 
			
		||||
    {P0_22, 0, 0},
 | 
			
		||||
    {P0_23, 0, 0},
 | 
			
		||||
    {P0_24, 0, 0},
 | 
			
		||||
    {P0_25, 0, 0},
 | 
			
		||||
    {P0_26, 0, 0},
 | 
			
		||||
    {P0_27, 0, 0},
 | 
			
		||||
    {P0_28, 0, 0},
 | 
			
		||||
    {P0_29, 0, 0},
 | 
			
		||||
    {P0_30, 0, 0},
 | 
			
		||||
    {P0_31, 0, 0},
 | 
			
		||||
    {P1_0,  0, 0},
 | 
			
		||||
    {P1_1,  0, 0},
 | 
			
		||||
    {P1_2,  0, 0},
 | 
			
		||||
    {P1_3,  0, 0},
 | 
			
		||||
    {P1_4,  0, 0},
 | 
			
		||||
    {P1_5,  0, 0},
 | 
			
		||||
    {P1_6,  0, 0},
 | 
			
		||||
    {P1_7,  0, 0},
 | 
			
		||||
    {P1_8,  0, 0},
 | 
			
		||||
    {P1_9,  0, 0},
 | 
			
		||||
    {P1_10, 0, 0},
 | 
			
		||||
    {P1_11, 0, 0},
 | 
			
		||||
    {P1_12, 0, 0},
 | 
			
		||||
    {P1_13, 0, 0},
 | 
			
		||||
    {P1_14, 0, 0},
 | 
			
		||||
    {P1_15, 0, 0},
 | 
			
		||||
    {P1_16, 0, 0},
 | 
			
		||||
    {P1_17, 0, 0},
 | 
			
		||||
    {P1_18, 0, 0},
 | 
			
		||||
    {P1_19, 0, 0},
 | 
			
		||||
    {P1_20, 0, 0},
 | 
			
		||||
    {P1_21, 0, 0},
 | 
			
		||||
    {P1_22, 0, 0},
 | 
			
		||||
    {P1_23, 0, 0},
 | 
			
		||||
    {P1_24, 0, 0},
 | 
			
		||||
    {P1_25, 0, 0},
 | 
			
		||||
    {P1_26, 0, 0},
 | 
			
		||||
    {P1_27, 0, 0},
 | 
			
		||||
    {P1_28, 0, 0},
 | 
			
		||||
    {P1_29, 0, 0},
 | 
			
		||||
    {P1_30, 0, 0},
 | 
			
		||||
    {P1_31, 0, 0},
 | 
			
		||||
    {P2_0,  0, 0},
 | 
			
		||||
    {P2_1,  0, 0},
 | 
			
		||||
    {P2_2,  0, 0},
 | 
			
		||||
    {P2_3,  0, 0},
 | 
			
		||||
    {P2_4,  0, 0},
 | 
			
		||||
    {P2_5,  0, 0},
 | 
			
		||||
    {P2_6,  0, 0},
 | 
			
		||||
    {P2_7,  0, 0},
 | 
			
		||||
    {P2_8,  0, 0},
 | 
			
		||||
    {P2_9,  0, 0},
 | 
			
		||||
    {P2_10, 0, 0},
 | 
			
		||||
    {P2_11, 0, 0},
 | 
			
		||||
    {P2_12, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used UARTs
 | 
			
		||||
static unsigned char uart_used = 0;
 | 
			
		||||
static int get_available_uart(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -316,21 +399,21 @@ void serial_set_flow_control(serial_t *obj, FlowControl type, PinName rxflow, Pi
 | 
			
		|||
 | 
			
		||||
const PinMap *serial_tx_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_TX;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_rx_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_RX;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_cts_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_CTS;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_rts_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_RTS;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,89 @@ static const SWM_Map SWM_SPI_MISO[] = {
 | 
			
		|||
    {5, 16},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_SPI_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
    {P0_18, 0, 0},
 | 
			
		||||
    {P0_19, 0, 0},
 | 
			
		||||
    {P0_20, 0, 0},
 | 
			
		||||
    {P0_21, 0, 0},
 | 
			
		||||
    {P0_22, 0, 0},
 | 
			
		||||
    {P0_23, 0, 0},
 | 
			
		||||
    {P0_24, 0, 0},
 | 
			
		||||
    {P0_25, 0, 0},
 | 
			
		||||
    {P0_26, 0, 0},
 | 
			
		||||
    {P0_27, 0, 0},
 | 
			
		||||
    {P0_28, 0, 0},
 | 
			
		||||
    {P0_29, 0, 0},
 | 
			
		||||
    {P0_30, 0, 0},
 | 
			
		||||
    {P0_31, 0, 0},
 | 
			
		||||
    {P1_0,  0, 0},
 | 
			
		||||
    {P1_1,  0, 0},
 | 
			
		||||
    {P1_2,  0, 0},
 | 
			
		||||
    {P1_3,  0, 0},
 | 
			
		||||
    {P1_4,  0, 0},
 | 
			
		||||
    {P1_5,  0, 0},
 | 
			
		||||
    {P1_6,  0, 0},
 | 
			
		||||
    {P1_7,  0, 0},
 | 
			
		||||
    {P1_8,  0, 0},
 | 
			
		||||
    {P1_9,  0, 0},
 | 
			
		||||
    {P1_10, 0, 0},
 | 
			
		||||
    {P1_11, 0, 0},
 | 
			
		||||
    {P1_12, 0, 0},
 | 
			
		||||
    {P1_13, 0, 0},
 | 
			
		||||
    {P1_14, 0, 0},
 | 
			
		||||
    {P1_15, 0, 0},
 | 
			
		||||
    {P1_16, 0, 0},
 | 
			
		||||
    {P1_17, 0, 0},
 | 
			
		||||
    {P1_18, 0, 0},
 | 
			
		||||
    {P1_19, 0, 0},
 | 
			
		||||
    {P1_20, 0, 0},
 | 
			
		||||
    {P1_21, 0, 0},
 | 
			
		||||
    {P1_22, 0, 0},
 | 
			
		||||
    {P1_23, 0, 0},
 | 
			
		||||
    {P1_24, 0, 0},
 | 
			
		||||
    {P1_25, 0, 0},
 | 
			
		||||
    {P1_26, 0, 0},
 | 
			
		||||
    {P1_27, 0, 0},
 | 
			
		||||
    {P1_28, 0, 0},
 | 
			
		||||
    {P1_29, 0, 0},
 | 
			
		||||
    {P1_30, 0, 0},
 | 
			
		||||
    {P1_31, 0, 0},
 | 
			
		||||
    {P2_0,  0, 0},
 | 
			
		||||
    {P2_1,  0, 0},
 | 
			
		||||
    {P2_2,  0, 0},
 | 
			
		||||
    {P2_3,  0, 0},
 | 
			
		||||
    {P2_4,  0, 0},
 | 
			
		||||
    {P2_5,  0, 0},
 | 
			
		||||
    {P2_6,  0, 0},
 | 
			
		||||
    {P2_7,  0, 0},
 | 
			
		||||
    {P2_8,  0, 0},
 | 
			
		||||
    {P2_9,  0, 0},
 | 
			
		||||
    {P2_10, 0, 0},
 | 
			
		||||
    {P2_11, 0, 0},
 | 
			
		||||
    {P2_12, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used SPIs
 | 
			
		||||
static unsigned char spi_used = 0;
 | 
			
		||||
static int get_available_spi(PinName mosi, PinName miso, PinName sclk, PinName ssel)
 | 
			
		||||
| 
						 | 
				
			
			@ -281,40 +364,40 @@ void spi_slave_write(spi_t *obj, int value)
 | 
			
		|||
 | 
			
		||||
const PinMap *spi_master_mosi_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MOSI;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_miso_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MISO;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_clk_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SCLK;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_cs_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SSEL;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_mosi_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MOSI;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_miso_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MISO;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_clk_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SCLK;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_cs_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SSEL;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,30 @@ static const SWM_Map SWM_I2C_SCL[] = {
 | 
			
		|||
    {8, 0},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_I2C_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static uint8_t repeated_start = 0;
 | 
			
		||||
 | 
			
		||||
#define I2C_DAT(x)          (x->i2c->MSTDAT)
 | 
			
		||||
| 
						 | 
				
			
			@ -273,22 +297,22 @@ int i2c_byte_write(i2c_t *obj, int data) {
 | 
			
		|||
 | 
			
		||||
const PinMap *i2c_master_sda_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SDA;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *i2c_master_scl_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SCL;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *i2c_slave_sda_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SDA;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *i2c_slave_scl_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SCL;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if DEVICE_I2CSLAVE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,30 @@
 | 
			
		|||
static unsigned char sct_used = 0;
 | 
			
		||||
static int sct_inited = 0;
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_PWM_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Find available output channel
 | 
			
		||||
// Max number of PWM outputs is 4 on LPC812
 | 
			
		||||
static int get_available_sct() {
 | 
			
		||||
| 
						 | 
				
			
			@ -248,7 +272,7 @@ void pwmout_pulsewidth_us(pwmout_t* obj, int us) {
 | 
			
		|||
 | 
			
		||||
const PinMap *pwmout_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_PWM;
 | 
			
		||||
    return PinMap_PWM_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,6 +52,30 @@ static const SWM_Map SWM_UART_CTS[] = {
 | 
			
		|||
    {3, 8}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_UART_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used UARTs
 | 
			
		||||
static unsigned char uart_used = 0;
 | 
			
		||||
static int get_available_uart(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -330,21 +354,21 @@ void serial_set_flow_control(serial_t *obj, FlowControl type, PinName rxflow, Pi
 | 
			
		|||
 | 
			
		||||
const PinMap *serial_tx_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_TX;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_rx_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_RX;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_cts_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_CTS;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_rts_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_RTS;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,30 @@ static const SWM_Map SWM_SPI_MISO[] = {
 | 
			
		|||
    {5, 16},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_SPI_testing[] = {
 | 
			
		||||
    {P0_0,  0, 0},
 | 
			
		||||
    {P0_1,  0, 0},
 | 
			
		||||
    {P0_2,  0, 0},
 | 
			
		||||
    {P0_3,  0, 0},
 | 
			
		||||
    {P0_4,  0, 0},
 | 
			
		||||
    {P0_5,  0, 0},
 | 
			
		||||
    {P0_6,  0, 0},
 | 
			
		||||
    {P0_7,  0, 0},
 | 
			
		||||
    {P0_8,  0, 0},
 | 
			
		||||
    {P0_9,  0, 0},
 | 
			
		||||
    {P0_10, 0, 0},
 | 
			
		||||
    {P0_11, 0, 0},
 | 
			
		||||
    {P0_12, 0, 0},
 | 
			
		||||
    {P0_13, 0, 0},
 | 
			
		||||
    {P0_14, 0, 0},
 | 
			
		||||
    {P0_15, 0, 0},
 | 
			
		||||
    {P0_16, 0, 0},
 | 
			
		||||
    {P0_17, 0, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used SPIs
 | 
			
		||||
static unsigned char spi_used = 0;
 | 
			
		||||
static int get_available_spi(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -212,40 +236,40 @@ int spi_busy(spi_t *obj) {
 | 
			
		|||
 | 
			
		||||
const PinMap *spi_master_mosi_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MOSI;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_miso_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MISO;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_clk_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SCLK;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_cs_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SSEL;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_mosi_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MOSI;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_miso_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MISO;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_clk_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SCLK;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_cs_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SSEL;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,40 @@ static const SWM_Map SWM_I2C_SCL[] = {
 | 
			
		|||
    {10, 16},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_I2C_testing[] = {
 | 
			
		||||
    {P0_0,  1, 0},
 | 
			
		||||
    {P0_1,  1, 0},
 | 
			
		||||
    {P0_2,  1, 0},
 | 
			
		||||
    {P0_3,  1, 0},
 | 
			
		||||
    {P0_4,  1, 0},
 | 
			
		||||
    {P0_5,  1, 0},
 | 
			
		||||
    {P0_6,  1, 0},
 | 
			
		||||
    {P0_7,  1, 0},
 | 
			
		||||
    {P0_8,  1, 0},
 | 
			
		||||
    {P0_9,  1, 0},
 | 
			
		||||
    {P0_10, 1, 0},
 | 
			
		||||
    {P0_11, 1, 0},
 | 
			
		||||
    {P0_12, 1, 0},
 | 
			
		||||
    {P0_13, 1, 0},
 | 
			
		||||
    {P0_14, 1, 0},
 | 
			
		||||
    {P0_15, 1, 0},
 | 
			
		||||
    {P0_16, 1, 0},
 | 
			
		||||
    {P0_17, 1, 0},
 | 
			
		||||
    {P0_18, 1, 0},
 | 
			
		||||
    {P0_19, 1, 0},
 | 
			
		||||
    {P0_20, 1, 0},
 | 
			
		||||
    {P0_21, 1, 0},
 | 
			
		||||
    {P0_22, 1, 0},
 | 
			
		||||
    {P0_23, 1, 0},
 | 
			
		||||
    {P0_24, 1, 0},
 | 
			
		||||
    {P0_25, 1, 0},
 | 
			
		||||
    {P0_26, 1, 0},
 | 
			
		||||
    {P0_27, 1, 0},
 | 
			
		||||
    {P0_28, 1, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int i2c_used = 0;
 | 
			
		||||
static uint8_t repeated_start = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -357,22 +391,22 @@ int i2c_byte_write(i2c_t *obj, int data) {
 | 
			
		|||
 | 
			
		||||
const PinMap *i2c_master_sda_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SDA;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *i2c_master_scl_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SCL;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *i2c_slave_sda_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SDA;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *i2c_slave_scl_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_I2C_SCL;
 | 
			
		||||
    return PinMap_I2C_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,41 @@
 | 
			
		|||
// bit flags for used SCTs
 | 
			
		||||
static unsigned char sct_used = 0;
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_PWM_testing[] = {
 | 
			
		||||
    {P0_0,  1, 0},
 | 
			
		||||
    {P0_1,  1, 0},
 | 
			
		||||
    {P0_2,  1, 0},
 | 
			
		||||
    {P0_3,  1, 0},
 | 
			
		||||
    {P0_4,  1, 0},
 | 
			
		||||
    {P0_5,  1, 0},
 | 
			
		||||
    {P0_6,  1, 0},
 | 
			
		||||
    {P0_7,  1, 0},
 | 
			
		||||
    {P0_8,  1, 0},
 | 
			
		||||
    {P0_9,  1, 0},
 | 
			
		||||
    {P0_10, 1, 0},
 | 
			
		||||
    {P0_11, 1, 0},
 | 
			
		||||
    {P0_12, 1, 0},
 | 
			
		||||
    {P0_13, 1, 0},
 | 
			
		||||
    {P0_14, 1, 0},
 | 
			
		||||
    {P0_15, 1, 0},
 | 
			
		||||
    {P0_16, 1, 0},
 | 
			
		||||
    {P0_17, 1, 0},
 | 
			
		||||
    {P0_18, 1, 0},
 | 
			
		||||
    {P0_19, 1, 0},
 | 
			
		||||
    {P0_20, 1, 0},
 | 
			
		||||
    {P0_21, 1, 0},
 | 
			
		||||
    {P0_22, 1, 0},
 | 
			
		||||
    {P0_23, 1, 0},
 | 
			
		||||
    {P0_24, 1, 0},
 | 
			
		||||
    {P0_25, 1, 0},
 | 
			
		||||
    {P0_26, 1, 0},
 | 
			
		||||
    {P0_27, 1, 0},
 | 
			
		||||
    {P0_28, 1, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static int get_available_sct()
 | 
			
		||||
{
 | 
			
		||||
    int i;
 | 
			
		||||
| 
						 | 
				
			
			@ -202,7 +237,7 @@ void pwmout_pulsewidth_us(pwmout_t* obj, int us)
 | 
			
		|||
 | 
			
		||||
const PinMap *pwmout_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_PWM;
 | 
			
		||||
    return PinMap_PWM_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,41 @@ static const SWM_Map SWM_UART_CTS[] = {
 | 
			
		|||
    {3, 8}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_UART_testing[] = {
 | 
			
		||||
    {P0_0,  1, 0},
 | 
			
		||||
    {P0_1,  1, 0},
 | 
			
		||||
    {P0_2,  1, 0},
 | 
			
		||||
    {P0_3,  1, 0},
 | 
			
		||||
    {P0_4,  1, 0},
 | 
			
		||||
    {P0_5,  1, 0},
 | 
			
		||||
    {P0_6,  1, 0},
 | 
			
		||||
    {P0_7,  1, 0},
 | 
			
		||||
    {P0_8,  1, 0},
 | 
			
		||||
    {P0_9,  1, 0},
 | 
			
		||||
    {P0_10, 1, 0},
 | 
			
		||||
    {P0_11, 1, 0},
 | 
			
		||||
    {P0_12, 1, 0},
 | 
			
		||||
    {P0_13, 1, 0},
 | 
			
		||||
    {P0_14, 1, 0},
 | 
			
		||||
    {P0_15, 1, 0},
 | 
			
		||||
    {P0_16, 1, 0},
 | 
			
		||||
    {P0_17, 1, 0},
 | 
			
		||||
    {P0_18, 1, 0},
 | 
			
		||||
    {P0_19, 1, 0},
 | 
			
		||||
    {P0_20, 1, 0},
 | 
			
		||||
    {P0_21, 1, 0},
 | 
			
		||||
    {P0_22, 1, 0},
 | 
			
		||||
    {P0_23, 1, 0},
 | 
			
		||||
    {P0_24, 1, 0},
 | 
			
		||||
    {P0_25, 1, 0},
 | 
			
		||||
    {P0_26, 1, 0},
 | 
			
		||||
    {P0_27, 1, 0},
 | 
			
		||||
    {P0_28, 1, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used UARTs
 | 
			
		||||
static unsigned char uart_used = 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -366,22 +401,22 @@ void serial_set_flow_control(serial_t *obj, FlowControl type, PinName rxflow, Pi
 | 
			
		|||
 | 
			
		||||
const PinMap *serial_tx_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_TX;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_rx_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_RX;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_cts_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_CTS;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *serial_rts_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_UART_RTS;
 | 
			
		||||
    return PinMap_UART_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,41 @@ static const SWM_Map SWM_SPI_MISO[] = {
 | 
			
		|||
    {6, 0},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Pinmap used for testing only
 | 
			
		||||
static const PinMap PinMap_SPI_testing[] = {
 | 
			
		||||
    {P0_0,  1, 0},
 | 
			
		||||
    {P0_1,  1, 0},
 | 
			
		||||
    {P0_2,  1, 0},
 | 
			
		||||
    {P0_3,  1, 0},
 | 
			
		||||
    {P0_4,  1, 0},
 | 
			
		||||
    {P0_5,  1, 0},
 | 
			
		||||
    {P0_6,  1, 0},
 | 
			
		||||
    {P0_7,  1, 0},
 | 
			
		||||
    {P0_8,  1, 0},
 | 
			
		||||
    {P0_9,  1, 0},
 | 
			
		||||
    {P0_10, 1, 0},
 | 
			
		||||
    {P0_11, 1, 0},
 | 
			
		||||
    {P0_12, 1, 0},
 | 
			
		||||
    {P0_13, 1, 0},
 | 
			
		||||
    {P0_14, 1, 0},
 | 
			
		||||
    {P0_15, 1, 0},
 | 
			
		||||
    {P0_16, 1, 0},
 | 
			
		||||
    {P0_17, 1, 0},
 | 
			
		||||
    {P0_18, 1, 0},
 | 
			
		||||
    {P0_19, 1, 0},
 | 
			
		||||
    {P0_20, 1, 0},
 | 
			
		||||
    {P0_21, 1, 0},
 | 
			
		||||
    {P0_22, 1, 0},
 | 
			
		||||
    {P0_23, 1, 0},
 | 
			
		||||
    {P0_24, 1, 0},
 | 
			
		||||
    {P0_25, 1, 0},
 | 
			
		||||
    {P0_26, 1, 0},
 | 
			
		||||
    {P0_27, 1, 0},
 | 
			
		||||
    {P0_28, 1, 0},
 | 
			
		||||
 | 
			
		||||
    {NC, NC, 0}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// bit flags for used SPIs
 | 
			
		||||
static unsigned char spi_used = 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -213,42 +248,42 @@ void spi_slave_write(spi_t *obj, int value)
 | 
			
		|||
 | 
			
		||||
const PinMap *spi_master_mosi_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MOSI;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_miso_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MISO;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_clk_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SCLK;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_master_cs_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SSEL;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_mosi_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MOSI;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_miso_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_MISO;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_clk_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SCLK;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PinMap *spi_slave_cs_pinmap()
 | 
			
		||||
{
 | 
			
		||||
    return PinMap_SPI_SSEL;
 | 
			
		||||
    return PinMap_SPI_testing;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue