Skip to content

Commit 48b5939

Browse files
authored
Merge pull request #11152 from OpenNuvoton/nuvoton_fpga-ci
Nuvoton: Fix FPGA CI test failing
2 parents b1aec79 + 96dac4f commit 48b5939

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+2665
-1847
lines changed

TESTS/mbed_hal_fpga_ci_test_shield/gpio/main.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ void test_basic_input_output(PinName pin)
6464
gpio_init(&gpio, pin);
6565
TEST_ASSERT_NOT_EQUAL(0, gpio_is_connected(&gpio));
6666

67+
// Some targets don't support input pull mode.
68+
#if !defined(TARGET_NANO100) && \
69+
!defined(TARGET_NUC472) && \
70+
!defined(TARGET_M451)
6771
// Test GPIO used as an input.
6872
gpio_dir(&gpio, PIN_INPUT);
6973

@@ -105,6 +109,7 @@ void test_basic_input_output(PinName pin)
105109
TEST_ASSERT_EQUAL_INT(0, gpio_read(&gpio));
106110
tester.gpio_write(MbedTester::LogicalPinGPIO0, 1, true);
107111
TEST_ASSERT_EQUAL_INT(1, gpio_read(&gpio));
112+
#endif
108113

109114
// Test GPIO used as an output.
110115
tester.gpio_write(MbedTester::LogicalPinGPIO0, 0, false);
@@ -221,7 +226,12 @@ void test_explicit_output(PinName pin)
221226

222227
Case cases[] = {
223228
Case("generic init, input & output", all_ports<GPIOPort, DefaultFormFactor, test_basic_input_output>),
229+
// Some targets don't support input pull mode.
230+
#if !defined(TARGET_NANO100) && \
231+
!defined(TARGET_NUC472) && \
232+
!defined(TARGET_M451)
224233
Case("explicit init, input", all_ports<GPIOPort, DefaultFormFactor, test_explicit_input>),
234+
#endif
225235
Case("explicit init, output", all_ports<GPIOPort, DefaultFormFactor, test_explicit_output>),
226236
};
227237

TESTS/mbed_hal_fpga_ci_test_shield/i2c/main.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,19 @@ void test_i2c_init_free(PinName sda, PinName scl)
5151
memset(&obj, 0, sizeof(obj));
5252
i2c_init(&obj, sda, scl);
5353
i2c_frequency(&obj, 100000);
54+
55+
/* Free up I2C pins
56+
*
57+
* The most suitable place to free up I2C pins is in i2c_free(). Due to
58+
* i2c_free() not available in I2C HAL, we free up I2C pins manually by
59+
* configuring them back to GPIO.
60+
*
61+
* Without free-up of I2C pins, SDA/SCL pins of the same I2C peripheral may
62+
* share by multiple ports due to 'all ports' tests here, and the following
63+
* I2C tests would be subject to interference by shared ports.
64+
*/
65+
gpio_set(sda);
66+
gpio_set(scl);
5467
}
5568

5669
void i2c_test_write(PinName sda, PinName scl)

targets/TARGET_NUVOTON/TARGET_M2351/PeripheralPins.c

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -510,51 +510,28 @@ const PinMap PinMap_SPI_MISO[] = {
510510

511511
const PinMap PinMap_SPI_SCLK[] = {
512512
{PA_2, SPI_0, SYS_GPA_MFPL_PA2MFP_SPI0_CLK},
513-
{PA_4, SPI_0, SYS_GPA_MFPL_PA4MFP_SPI0_I2SMCLK},
514-
{PA_5, SPI_1, SYS_GPA_MFPL_PA5MFP_SPI1_I2SMCLK},
515513
{PA_7, SPI_1, SYS_GPA_MFPL_PA7MFP_SPI1_CLK},
516514
{PA_10, SPI_2, SYS_GPA_MFPH_PA10MFP_SPI2_CLK},
517515
{PA_13, SPI_2, SYS_GPA_MFPH_PA13MFP_SPI2_CLK},
518-
{PB_0, SPI_0, SYS_GPB_MFPL_PB0MFP_SPI0_I2SMCLK},
519-
{PB_1, SPI_1, SYS_GPB_MFPL_PB1MFP_SPI1_I2SMCLK},
520-
{NU_PINNAME_BIND(PB_1, SPI_1), SPI_1, SYS_GPB_MFPL_PB1MFP_SPI1_I2SMCLK},
521-
{PB_1, SPI_3, SYS_GPB_MFPL_PB1MFP_SPI3_I2SMCLK},
522-
{NU_PINNAME_BIND(PB_1, SPI_3), SPI_3, SYS_GPB_MFPL_PB1MFP_SPI3_I2SMCLK},
523516
{PB_3, SPI_1, SYS_GPB_MFPL_PB3MFP_SPI1_CLK},
524-
{PB_11, SPI_0, SYS_GPB_MFPH_PB11MFP_SPI0_I2SMCLK},
525-
{NU_PINNAME_BIND(PB_11, SPI_0), SPI_0, SYS_GPB_MFPH_PB11MFP_SPI0_I2SMCLK},
526517
{PB_11, SPI_3, SYS_GPB_MFPH_PB11MFP_SPI3_CLK},
527518
{NU_PINNAME_BIND(PB_11, SPI_3), SPI_3, SYS_GPB_MFPH_PB11MFP_SPI3_CLK},
528519
{PB_14, SPI_0, SYS_GPB_MFPH_PB14MFP_SPI0_CLK},
529520
{PC_1, SPI_1, SYS_GPC_MFPL_PC1MFP_SPI1_CLK},
530521
{PC_2, SPI_5, SYS_GPC_MFPL_PC2MFP_SPI5_CLK},
531-
{PC_4, SPI_1, SYS_GPC_MFPL_PC4MFP_SPI1_I2SMCLK},
532522
{PC_10, SPI_3, SYS_GPC_MFPH_PC10MFP_SPI3_CLK},
533-
{PC_13, SPI_2, SYS_GPC_MFPH_PC13MFP_SPI2_I2SMCLK},
534523
{PD_2, SPI_0, SYS_GPD_MFPL_PD2MFP_SPI0_CLK},
535524
{PD_5, SPI_1, SYS_GPD_MFPL_PD5MFP_SPI1_CLK},
536-
{PD_13, SPI_0, SYS_GPD_MFPH_PD13MFP_SPI0_I2SMCLK},
537-
{NU_PINNAME_BIND(PD_13, SPI_0), SPI_0, SYS_GPD_MFPH_PD13MFP_SPI0_I2SMCLK},
538-
{PD_13, SPI_1, SYS_GPD_MFPH_PD13MFP_SPI1_I2SMCLK},
539-
{NU_PINNAME_BIND(PD_13, SPI_1), SPI_1, SYS_GPD_MFPH_PD13MFP_SPI1_I2SMCLK},
540-
{PD_14, SPI_0, SYS_GPD_MFPH_PD14MFP_SPI0_I2SMCLK},
541-
{NU_PINNAME_BIND(PD_14, SPI_0), SPI_0, SYS_GPD_MFPH_PD14MFP_SPI0_I2SMCLK},
542-
{PD_14, SPI_3, SYS_GPD_MFPH_PD14MFP_SPI3_I2SMCLK},
543-
{NU_PINNAME_BIND(PD_14, SPI_3), SPI_3, SYS_GPD_MFPH_PD14MFP_SPI3_I2SMCLK},
544525
{PE_4, SPI_3, SYS_GPE_MFPL_PE4MFP_SPI3_CLK},
545526
{NU_PINNAME_BIND(PE_4, SPI_3), SPI_3, SYS_GPE_MFPL_PE4MFP_SPI3_CLK},
546527
{PE_4, SPI_5, SYS_GPE_MFPL_PE4MFP_SPI5_CLK},
547528
{NU_PINNAME_BIND(PE_4, SPI_5), SPI_5, SYS_GPE_MFPL_PE4MFP_SPI5_CLK},
548-
{PE_6, SPI_3, SYS_GPE_MFPL_PE6MFP_SPI3_I2SMCLK},
549529
{PE_8, SPI_2, SYS_GPE_MFPH_PE8MFP_SPI2_CLK},
550-
{PE_12, SPI_2, SYS_GPE_MFPH_PE12MFP_SPI2_I2SMCLK},
551530
{PF_8, SPI_0, SYS_GPF_MFPH_PF8MFP_SPI0_CLK},
552-
{PF_10, SPI_0, SYS_GPF_MFPH_PF10MFP_SPI0_I2SMCLK},
553531
{PG_3, SPI_2, SYS_GPG_MFPL_PG3MFP_SPI2_CLK},
554532
{PG_11, SPI_5, SYS_GPG_MFPH_PG11MFP_SPI5_CLK},
555533
{PH_6, SPI_1, SYS_GPH_MFPL_PH6MFP_SPI1_CLK},
556534
{PH_8, SPI_1, SYS_GPH_MFPH_PH8MFP_SPI1_CLK},
557-
{PH_10, SPI_1, SYS_GPH_MFPH_PH10MFP_SPI1_I2SMCLK},
558535

559536
{NC, NC, 0}
560537
};

targets/TARGET_NUVOTON/TARGET_M2351/PinNames.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,9 @@ typedef enum {
173173
BUTTON1 = SW2,
174174
BUTTON2 = SW3,
175175

176+
// Force PinName to 32-bit required by NU_PINNAME_BIND(...)
177+
FORCE_ENUM_PINNAME_32BIT = 0x7FFFFFFF,
178+
176179
} PinName;
177180

178181
#ifdef __cplusplus

0 commit comments

Comments
 (0)