From 371d336fcdadd3eba90db45c12b96d65d87ae556 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 16 Aug 2019 13:45:10 +0800 Subject: [PATCH 1/7] rtl8195am - enable USTICKER support Signed-off-by: Tony Wu --- targets/targets.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/targets/targets.json b/targets/targets.json index cb8b72f993..fdf58d2f0d 100644 --- a/targets/targets.json +++ b/targets/targets.json @@ -7826,7 +7826,8 @@ "SERIAL", "SPI", "TRNG", - "FLASH" + "FLASH", + "USTICKER" ], "public": false, "supported_toolchains": ["GCC_ARM", "ARM"], From 020cf85cf03e537857b7aa7e56aae99e302e49da Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 16 Aug 2019 13:48:10 +0800 Subject: [PATCH 2/7] rtl8195am - disable IAR support Disable IAR support until HAL library is upgraded to IAR8 Signed-off-by: Tony Wu --- targets/targets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/targets.json b/targets/targets.json index fdf58d2f0d..13b862c8b8 100644 --- a/targets/targets.json +++ b/targets/targets.json @@ -7833,7 +7833,7 @@ "supported_toolchains": ["GCC_ARM", "ARM"], "post_binary_hook": { "function": "RTL8195ACode.binary_hook", - "toolchains": ["ARM_STD", "GCC_ARM", "IAR"] + "toolchains": ["ARM_STD", "GCC_ARM"] }, "release_versions": [], "overrides": { From 885b4ccbef4f166c05784e01332a0d89f20c8130 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 23 Aug 2019 15:09:51 +0800 Subject: [PATCH 3/7] rtl8195am - cleanup gcc linker script Signed-off-by: Tony Wu --- .../device/TOOLCHAIN_GCC_ARM/rtl8195a.ld | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a.ld b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a.ld index 9b21748ec0..01d4ce1969 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a.ld +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/device/TOOLCHAIN_GCC_ARM/rtl8195a.ld @@ -107,20 +107,20 @@ SECTIONS } > SRAM2 __etext = .; - __data_start__ = .; - .data.sram1 : { - . = ALIGN(8); + . = ALIGN(4); + __data_start__ = .; __sram_data_start__ = .; *rtl8195a_crypto*.o (.data*) *mbedtls*.o (.data*) + __data_end__ = .; __sram_data_end__ = .; } > SRAM1 .data.sram2 : { - __sdram_data_start__ = .; + __dram_data_start__ = .; *(vtable) *(.data*) *(.sdram.data*) @@ -145,12 +145,8 @@ SECTIONS KEEP(*(.fini_array)) PROVIDE (__fini_array_end = .); - . = ALIGN(8); - - __sdram_data_end__ = .; - /* All data end */ + __dram_data_end__ = .; } > SRAM2 - __data_end__ = .; __image2_end__ = .; .ARM.extab : @@ -167,6 +163,7 @@ SECTIONS .bss.sram1 (NOLOAD) : { + __bss_start__ = .; __bss_sram_start__ = .; *rtl8195a_crypto*.o (.bss* COMMON) *mbedtls*.o (.bss* COMMON) @@ -174,17 +171,16 @@ SECTIONS *lib_peripheral_mbed_gcc.a: (.bss* COMMON) *mbed_boot*.o (.bss* COMMON) __bss_sram_end__ = .; + __bss_end__ = .; } > SRAM1 .bss.sram2 (NOLOAD) : { - __bss_start__ = .; __bss_dram_start__ = .; *(.bss*) *(COMMON) *(.bdsram.data*) __bss_dram_end__ = .; - __bss_end__ = .; } > SRAM2 .bf_data : @@ -199,7 +195,7 @@ SECTIONS __end__ = .; end = __end__; *(.heap*) - . = ORIGIN(SRAM1) + LENGTH(SRAM1) - StackSize; + . = ORIGIN(SRAM1) + LENGTH(SRAM1) - StackSize; __HeapLimit = .; } > SRAM1 @@ -219,7 +215,7 @@ SECTIONS { __StackLimit = .; *(.stack) - . += StackSize - (. - __StackLimit); + . += StackSize - (. - __StackLimit); } > SRAM1 /* Set stack top to end of RAM, and stack limit move down by @@ -228,6 +224,9 @@ SECTIONS __StackLimit = __StackTop - StackSize; PROVIDE(__stack = __StackTop); + /* Check if reserved stack size is too small */ + ASSERT(StackSize >= SIZEOF(.stack_dummy), "reserved stack size is too small") + /* Check if data + heap + stack exceeds RAM limit */ ASSERT(__StackLimit >= __HeapLimit, "region RAM exceeds ram limit") } From ec7a3dd0f32cd1a81b3b96c4a14eeda3fc332506 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 23 Aug 2019 15:39:49 +0800 Subject: [PATCH 4/7] rtl8195am - fix missing braces around empty body warning osdep_service.c@214,61: suggest braces around empty body in an 'else' statement [-Wempty-body] Signed-off-by: Tony Wu --- .../TARGET_AMEBA/sdk/os/os_dep/osdep_service.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/osdep_service.c b/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/osdep_service.c index 37bfc9821a..543b55524a 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/osdep_service.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/osdep_service.c @@ -208,10 +208,11 @@ void add_mem_usage(_list *pmem_table, void *ptr, int size, int *used_num, int fl return; } else{ - if(flag == MEM_MONITOR_FLAG_WPAS) + if(flag == MEM_MONITOR_FLAG_WPAS) { DBG_INFO("Alloc memory at %p with size of %d", ptr, size); - else + } else { DBG_INFO("Alloc memory at %p with size of %d", ptr, size); + } } #if CONFIG_MEM_MONITOR & MEM_MONITOR_LEAK mem_entry = (struct mem_entry *) _rtw_malloc(sizeof(struct mem_entry)); From d52dd1941e7f07a7baf8d6f038d968c6f3200056 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 23 Aug 2019 15:45:34 +0800 Subject: [PATCH 5/7] rtl8195am - fix argument format warning [Warning] tcm_heap.c@70,18: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'MemChunk * {aka struct _MemChunk *}' [-Wformat=] [Warning] tcm_heap.c@70,28: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'MemChunk * {aka struct _MemChunk *}' [-Wformat=] Signed-off-by: Tony Wu --- targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c b/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c index 203a83039b..db4ed91638 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/os_dep/tcm_heap.c @@ -67,7 +67,7 @@ void tcm_heap_dump(void) chunk; prev = chunk, chunk = chunk->next) { - printf(" prev %x, chunk %x, size %d \n\r", prev, chunk, chunk->size); + printf(" prev %p, chunk %p, size %d \n\r", prev, chunk, chunk->size); } printf("--------------\n\r"); } From b170a90acfe831e26c3c19942318761e4153b818 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Fri, 23 Aug 2019 16:38:31 +0800 Subject: [PATCH 6/7] rtl8195am - fix array assumed to have one element warning Signed-off-by: Tony Wu --- .../TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.c b/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.c index ae92b9dc02..13ece1aa53 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/sdk/os/cmsis_rtos/cmsis_rtos_service.c @@ -1212,7 +1212,7 @@ _WEAK void xPortSysTickHandler(void) printf("%s: Should not come over here!\r\n", __func__); } -_WEAK u8 __ram_start_table_start__[]; +_WEAK u8 *__ram_start_table_start__; _WEAK void rtw_odm_acquirespinlock(void * adapter, int type) { From 16e52f2868b719f272495a6a16215fb66e44644a Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Mon, 26 Aug 2019 12:29:03 +0800 Subject: [PATCH 7/7] rtl8195am - remove redundant code Signed-off-by: Tony Wu --- .../TARGET_MCU_RTL8195A/i2c_api.c | 44 ----------------- .../TARGET_MCU_RTL8195A/pwmout_api.c | 24 --------- .../TARGET_MCU_RTL8195A/serial_api.c | 28 ----------- .../TARGET_MCU_RTL8195A/spi_api.c | 49 ------------------- 4 files changed, 145 deletions(-) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/i2c_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/i2c_api.c index 3881418b14..c29af82dd3 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/i2c_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/i2c_api.c @@ -28,50 +28,6 @@ #ifdef CONFIG_MBED_ENABLED #include "PeripheralPins.h" -#else -static const PinMap PinMap_I2C_SDA[] = { - {PD_4, RTL_PIN_PERI(I2C0, 0, S0), RTL_PIN_FUNC(I2C0, S0)}, - {PH_1, RTL_PIN_PERI(I2C0, 0, S1), RTL_PIN_FUNC(I2C0, S1)}, - {PC_8, RTL_PIN_PERI(I2C0, 0, S2), RTL_PIN_FUNC(I2C0, S2)}, - {PE_7, RTL_PIN_PERI(I2C0, 0, S3), RTL_PIN_FUNC(I2C0, S3)}, - - {PC_4, RTL_PIN_PERI(I2C1, 1, S0), RTL_PIN_FUNC(I2C1, S0)}, - {PH_3, RTL_PIN_PERI(I2C1, 1, S1), RTL_PIN_FUNC(I2C1, S1)}, - {PD_7, RTL_PIN_PERI(I2C1, 1, S2), RTL_PIN_FUNC(I2C1, S2)}, - - {PB_7, RTL_PIN_PERI(I2C2, 2, S0), RTL_PIN_FUNC(I2C2, S0)}, - {PE_1, RTL_PIN_PERI(I2C2, 2, S1), RTL_PIN_FUNC(I2C2, S1)}, - {PC_7, RTL_PIN_PERI(I2C2, 2, S2), RTL_PIN_FUNC(I2C2, S2)}, - - {PB_3, RTL_PIN_PERI(I2C3, 3, S0), RTL_PIN_FUNC(I2C3, S0)}, - {PE_3, RTL_PIN_PERI(I2C3, 3, S1), RTL_PIN_FUNC(I2C3, S1)}, - {PE_5, RTL_PIN_PERI(I2C3, 3, S2), RTL_PIN_FUNC(I2C3, S2)}, - {PD_9, RTL_PIN_PERI(I2C3, 3, S3), RTL_PIN_FUNC(I2C3, S3)}, - - {NC, NC, 0} -}; - -static const PinMap PinMap_I2C_SCL[] = { - {PD_5, RTL_PIN_PERI(I2C0, 0, S0), RTL_PIN_FUNC(I2C0, S0)}, - {PH_0, RTL_PIN_PERI(I2C0, 0, S1), RTL_PIN_FUNC(I2C0, S1)}, - {PC_9, RTL_PIN_PERI(I2C0, 0, S2), RTL_PIN_FUNC(I2C0, S2)}, - {PE_6, RTL_PIN_PERI(I2C0, 0, S3), RTL_PIN_FUNC(I2C0, S3)}, - - {PC_5, RTL_PIN_PERI(I2C1, 1, S0), RTL_PIN_FUNC(I2C1, S0)}, - {PH_2, RTL_PIN_PERI(I2C1, 1, S1), RTL_PIN_FUNC(I2C1, S1)}, - {PD_6, RTL_PIN_PERI(I2C1, 1, S2), RTL_PIN_FUNC(I2C1, S2)}, - - {PB_6, RTL_PIN_PERI(I2C2, 2, S0), RTL_PIN_FUNC(I2C2, S0)}, - {PE_0, RTL_PIN_PERI(I2C2, 2, S1), RTL_PIN_FUNC(I2C2, S1)}, - {PC_6, RTL_PIN_PERI(I2C2, 2, S2), RTL_PIN_FUNC(I2C2, S2)}, - - {PB_2, RTL_PIN_PERI(I2C3, 3, S0), RTL_PIN_FUNC(I2C3, S0)}, - {PE_2, RTL_PIN_PERI(I2C3, 3, S1), RTL_PIN_FUNC(I2C3, S1)}, - {PE_4, RTL_PIN_PERI(I2C3, 3, S2), RTL_PIN_FUNC(I2C3, S2)}, - {PD_8, RTL_PIN_PERI(I2C3, 3, S3), RTL_PIN_FUNC(I2C3, S3)}, - - {NC, NC, 0} -}; #endif static int address_save_int[4]; diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/pwmout_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/pwmout_api.c index 2bb1ed0af6..ad03783c6c 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/pwmout_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/pwmout_api.c @@ -29,30 +29,6 @@ #ifdef CONFIG_MBED_ENABLED #include "PeripheralPins.h" -#else -static const PinMap PinMap_PWM[] = { - {PB_4, RTL_PIN_PERI(PWM0, 0, S0), RTL_PIN_FUNC(PWM0, S0)}, - {PB_5, RTL_PIN_PERI(PWM1, 1, S0), RTL_PIN_FUNC(PWM1, S0)}, - {PB_6, RTL_PIN_PERI(PWM2, 2, S0), RTL_PIN_FUNC(PWM2, S0)}, - {PB_7, RTL_PIN_PERI(PWM3, 3, S0), RTL_PIN_FUNC(PWM3, S0)}, - - {PC_0, RTL_PIN_PERI(PWM0, 0, S1), RTL_PIN_FUNC(PWM0, S1)}, - {PC_1, RTL_PIN_PERI(PWM1, 1, S1), RTL_PIN_FUNC(PWM1, S1)}, - {PC_2, RTL_PIN_PERI(PWM2, 2, S1), RTL_PIN_FUNC(PWM2, S1)}, - {PC_3, RTL_PIN_PERI(PWM3, 3, S1), RTL_PIN_FUNC(PWM3, S1)}, - - {PD_3, RTL_PIN_PERI(PWM0, 0, S2), RTL_PIN_FUNC(PWM0, S2)}, - {PD_4, RTL_PIN_PERI(PWM1, 1, S2), RTL_PIN_FUNC(PWM1, S2)}, - {PD_5, RTL_PIN_PERI(PWM2, 2, S2), RTL_PIN_FUNC(PWM2, S2)}, - {PD_6, RTL_PIN_PERI(PWM3, 3, S2), RTL_PIN_FUNC(PWM3, S2)}, - - {PE_0, RTL_PIN_PERI(PWM0, 0, S3), RTL_PIN_FUNC(PWM0, S3)}, - {PE_1, RTL_PIN_PERI(PWM1, 1, S3), RTL_PIN_FUNC(PWM1, S3)}, - {PE_2, RTL_PIN_PERI(PWM2, 2, S3), RTL_PIN_FUNC(PWM2, S3)}, - {PE_3, RTL_PIN_PERI(PWM3, 3, S3), RTL_PIN_FUNC(PWM3, S3)}, - - {NC, NC, 0} -}; #endif void pwmout_init(pwmout_t* obj, PinName pin) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/serial_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/serial_api.c index 3aabdcab84..c972e5d047 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/serial_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/serial_api.c @@ -29,34 +29,6 @@ #ifdef CONFIG_MBED_ENABLED #include "PeripheralPins.h" -#else -static const PinMap PinMap_UART_TX[] = { - {PC_3, RTL_PIN_PERI(UART0, 0, S0), RTL_PIN_FUNC(UART0, S0)}, - {PE_0, RTL_PIN_PERI(UART0, 0, S1), RTL_PIN_FUNC(UART0, S1)}, - {PA_7, RTL_PIN_PERI(UART0, 0, S2), RTL_PIN_FUNC(UART0, S2)}, - {PD_3, RTL_PIN_PERI(UART1, 1, S0), RTL_PIN_FUNC(UART1, S0)}, - {PE_4, RTL_PIN_PERI(UART1, 1, S1), RTL_PIN_FUNC(UART1, S1)}, - {PB_5, RTL_PIN_PERI(UART1, 1, S2), RTL_PIN_FUNC(UART1, S2)}, - {PA_4, RTL_PIN_PERI(UART2, 2, S0), RTL_PIN_FUNC(UART2, S0)}, - {PC_9, RTL_PIN_PERI(UART2, 2, S1), RTL_PIN_FUNC(UART2, S1)}, - {PD_7, RTL_PIN_PERI(UART2, 2, S2), RTL_PIN_FUNC(UART2, S2)}, - {PB_0, RTL_PIN_PERI(LOG_UART, 3, S0), RTL_PIN_FUNC(LOG_UART, S0)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_UART_RX[] = { - {PC_0, RTL_PIN_PERI(UART0, 0, S0), RTL_PIN_FUNC(UART0, S0)}, - {PE_3, RTL_PIN_PERI(UART0, 0, S1), RTL_PIN_FUNC(UART0, S1)}, - {PA_6, RTL_PIN_PERI(UART0, 0, S2), RTL_PIN_FUNC(UART0, S2)}, - {PD_0, RTL_PIN_PERI(UART1, 1, S0), RTL_PIN_FUNC(UART1, S0)}, - {PE_7, RTL_PIN_PERI(UART1, 1, S1), RTL_PIN_FUNC(UART1, S1)}, - {PB_4, RTL_PIN_PERI(UART1, 1, S2), RTL_PIN_FUNC(UART1, S2)}, - {PA_0, RTL_PIN_PERI(UART2, 2, S0), RTL_PIN_FUNC(UART2, S0)}, - {PC_6, RTL_PIN_PERI(UART2, 2, S1), RTL_PIN_FUNC(UART2, S1)}, - {PD_4, RTL_PIN_PERI(UART2, 2, S2), RTL_PIN_FUNC(UART2, S2)}, - {PB_1, RTL_PIN_PERI(LOG_UART, 3, S0), RTL_PIN_FUNC(LOG_UART, S0)}, - {NC, NC, 0} -}; #endif #define UART_NUM (3) diff --git a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/spi_api.c b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/spi_api.c index 5080954f9d..57ac3bd26e 100644 --- a/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/spi_api.c +++ b/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_MCU_RTL8195A/spi_api.c @@ -43,55 +43,6 @@ extern const DW_SSI_DEFAULT_SETTING SpiDefaultSetting; #ifdef CONFIG_MBED_ENABLED #include "PeripheralPins.h" -#else -static const PinMap PinMap_SSI_MOSI[] = { - {PE_2, RTL_PIN_PERI(SPI0, 0, S0), RTL_PIN_FUNC(SPI0, S0)}, - {PC_2, RTL_PIN_PERI(SPI0, 0, S1), RTL_PIN_FUNC(SPI0, S1)}, - {PA_1, RTL_PIN_PERI(SPI1, 1, S0), RTL_PIN_FUNC(SPI1, S0)}, - {PB_6, RTL_PIN_PERI(SPI1, 1, S1), RTL_PIN_FUNC(SPI1, S1)}, - {PD_6, RTL_PIN_PERI(SPI1, 1, S2), RTL_PIN_FUNC(SPI1, S2)}, - {PG_2, RTL_PIN_PERI(SPI2, 2, S0), RTL_PIN_FUNC(SPI2, S0)}, - {PE_6, RTL_PIN_PERI(SPI2, 2, S1), RTL_PIN_FUNC(SPI2, S1)}, - {PD_2, RTL_PIN_PERI(SPI2, 2, S2), RTL_PIN_FUNC(SPI2, S2)}, - {NC, NC, 0} -}; - -static const PinMap PinMap_SSI_MISO[] = { - {PE_3, RTL_PIN_PERI(SPI0, 0, S0), RTL_PIN_FUNC(SPI0, S0)}, - {PC_3, RTL_PIN_PERI(SPI0, 0, S1), RTL_PIN_FUNC(SPI0, S1)}, - {PA_0, RTL_PIN_PERI(SPI1, 1, S0), RTL_PIN_FUNC(SPI1, S0)}, - {PB_7, RTL_PIN_PERI(SPI1, 1, S1), RTL_PIN_FUNC(SPI1, S1)}, - {PD_7, RTL_PIN_PERI(SPI1, 1, S2), RTL_PIN_FUNC(SPI1, S2)}, - {PG_3, RTL_PIN_PERI(SPI2, 2, S0), RTL_PIN_FUNC(SPI2, S0)}, - {PE_7, RTL_PIN_PERI(SPI2, 2, S1), RTL_PIN_FUNC(SPI2, S1)}, - {PD_3, RTL_PIN_PERI(SPI2, 2, S2), RTL_PIN_FUNC(SPI2, S2)}, - {NC, NC, 0} -}; - -// For testing only -static const PinMap PinMap_SSI_SCLK[] = { - {PC_1, RTL_PIN_PERI(SPI0, 0, S1), /* Unused */ 0}, - {PA_2, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - {PA_2, RTL_PIN_PERI(SPI1, 1, S1), /* Unused */ 0}, - {PA_2, RTL_PIN_PERI(SPI1, 1, S2), /* Unused */ 0}, - {PD_5, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - {PD_5, RTL_PIN_PERI(SPI1, 1, S1), /* Unused */ 0}, - {PD_5, RTL_PIN_PERI(SPI1, 1, S2), /* Unused */ 0}, - - {NC, NC, 0} -}; - -// For testing only -static const PinMap PinMap_SSI_SSEL[] = { - {PE_5, RTL_PIN_PERI(SPI0, 0, S2), /* Unused */ 0}, - {PC_5, RTL_PIN_PERI(SPI0, 0, S2), /* Unused */ 0}, - {PC_4, RTL_PIN_PERI(SPI0, 0, S1), /* Unused */ 0}, - {PC_0, RTL_PIN_PERI(SPI0, 0, S0), /* Unused */ 0}, - {PA_4, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - {PD_4, RTL_PIN_PERI(SPI1, 1, S0), /* Unused */ 0}, - - {NC, NC, 0} -}; #endif void spi_init (spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel)