From 2aec0416e852d2f30672034303db9c453b0c4045 Mon Sep 17 00:00:00 2001 From: Linar Yusupov Date: Mon, 4 Nov 2024 07:56:29 +0300 Subject: [PATCH 1/2] [V30x] pins map for SPI3 and SDIO --- .../CH32V30x/CH32V307VCT6/PeripheralPins.c | 4 ++++ .../CH32V307VCT6/variant_CH32V307VCT6.cpp | 18 +++++++++++++++--- .../CH32V307VCT6/variant_CH32V307VCT6.h | 16 ++++++++++++++-- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/variants/CH32V30x/CH32V307VCT6/PeripheralPins.c b/variants/CH32V30x/CH32V307VCT6/PeripheralPins.c index 6074828..42e1793 100644 --- a/variants/CH32V30x/CH32V307VCT6/PeripheralPins.c +++ b/variants/CH32V30x/CH32V307VCT6/PeripheralPins.c @@ -135,6 +135,7 @@ WEAK const PinMap PinMap_UART_CTS[] = { WEAK const PinMap PinMap_SPI_MOSI[] = { {PA_7, SPI1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, {PB_15, SPI2, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, + {PB_5, SPI3, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, {NC, NP, 0} }; #endif @@ -143,6 +144,7 @@ WEAK const PinMap PinMap_SPI_MOSI[] = { WEAK const PinMap PinMap_SPI_MISO[] = { {PA_6, SPI1, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_FLOAT, 0, AFIO_NONE)}, {PB_14, SPI2, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_FLOAT, 0, AFIO_NONE)}, + {PB_4, SPI3, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_FLOAT, 0, AFIO_NONE)}, {NC, NP, 0} }; #endif @@ -151,6 +153,7 @@ WEAK const PinMap PinMap_SPI_MISO[] = { WEAK const PinMap PinMap_SPI_SCLK[] = { {PA_5, SPI1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, {PB_13, SPI2, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, + {PB_3, SPI3, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, {NC, NP, 0} }; #endif @@ -159,6 +162,7 @@ WEAK const PinMap PinMap_SPI_SCLK[] = { WEAK const PinMap PinMap_SPI_SSEL[] = { {PA_4, SPI1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, {PB_12, SPI2, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, + {PA_15, SPI3, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)}, {NC, NP, 0} }; #endif diff --git a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp index 3a1aae3..c247cba 100644 --- a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp +++ b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp @@ -31,8 +31,8 @@ const PinName digitalPin[] = { PA_7, //D9 SPI_MOSI TIM8_CH1N TIM3_CH2 PA_6, //D10 SPI1_MISO PB_5, //D11 TIM3_CH2_2 TIM10_CH3_1 - PB_8, //D12 TIM4_CH3 TIM10_CH1 TIM8_CH3_1 - PB_9, //D13 + PB_8, //D12 TIM4_CH3 TIM10_CH1 TIM8_CH3_1 SDIO_D4 + PB_9, //D13 SDIO_D5 PB_1, //D14 TIM3_CH4 TIM8_CH3N TIM1_CH3N_1 TIM3_CH4_2 TIM9_CH2N_1 PB_0, //D15 TIM3_CH3 TIM8_CH2N TIM1_CH2N_1 TIM3_CH3_2 TIM9_CH1N_1 PB_12, //D16 SPI2_NSS @@ -40,7 +40,19 @@ const PinName digitalPin[] = { PB_14, //D18 SPI2_MISO PB_13, //D19 SPI2_SCK PB_11, //D20 I2C2_SDA - PB_10 //D21 I2C2_SCL + PB_10, //D21 I2C2_SCL + PA_15, //D22 SPI3_NSS + PB_5, //D23 SPI3_MOSI + PB_4, //D24 SPI3_MISO + PB_3, //D25 SPI3_SCK + PC_8, //D26 SDIO_D0 + PC_9, //D27 SDIO_D1 + PC_10, //D28 SDIO_D2 + PC_11, //D29 SDIO_D3 + PC_6, //D30 SDIO_D6 + PC_7, //D31 SDIO_D7 + PC_12, //D32 SDIO_CK + PD_2 //D33 SDIO_CMD }; // Analog (Ax) pin number array diff --git a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h index be69f44..b55cb83 100644 --- a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h +++ b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h @@ -43,7 +43,19 @@ #define PB14 18 #define PB13 19 #define PB11 20 -#define PB10 21 +#define PB10 21 +#define PA15 22 +#define PB5 23 +#define PB4 24 +#define PB3 25 +#define PC8 26 +#define PC9 27 +#define PC10 28 +#define PC11 29 +#define PC6 30 +#define PC7 31 +#define PC12 32 +#define PD2 33 // Alternate pins number @@ -60,7 +72,7 @@ -#define NUM_DIGITAL_PINS 22 +#define NUM_DIGITAL_PINS 34 #define NUM_ANALOG_INPUTS 6 // #define ADC_CTLR_ADCAL #define ADC_RESOLUTION 12 From f984701d53fc07b22915c6796fb175fea66e8793 Mon Sep 17 00:00:00 2001 From: Linar Yusupov Date: Mon, 4 Nov 2024 08:13:39 +0300 Subject: [PATCH 2/2] [V30x] remove duplicate for PB5 --- .../CH32V307VCT6/variant_CH32V307VCT6.cpp | 23 +++++++++---------- .../CH32V307VCT6/variant_CH32V307VCT6.h | 23 +++++++++---------- 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp index c247cba..a331811 100644 --- a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp +++ b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.cpp @@ -30,7 +30,7 @@ const PinName digitalPin[] = { PA_8, //D8 PA_7, //D9 SPI_MOSI TIM8_CH1N TIM3_CH2 PA_6, //D10 SPI1_MISO - PB_5, //D11 TIM3_CH2_2 TIM10_CH3_1 + PB_5, //D11 TIM3_CH2_2 TIM10_CH3_1 SPI3_MOSI PB_8, //D12 TIM4_CH3 TIM10_CH1 TIM8_CH3_1 SDIO_D4 PB_9, //D13 SDIO_D5 PB_1, //D14 TIM3_CH4 TIM8_CH3N TIM1_CH3N_1 TIM3_CH4_2 TIM9_CH2N_1 @@ -42,17 +42,16 @@ const PinName digitalPin[] = { PB_11, //D20 I2C2_SDA PB_10, //D21 I2C2_SCL PA_15, //D22 SPI3_NSS - PB_5, //D23 SPI3_MOSI - PB_4, //D24 SPI3_MISO - PB_3, //D25 SPI3_SCK - PC_8, //D26 SDIO_D0 - PC_9, //D27 SDIO_D1 - PC_10, //D28 SDIO_D2 - PC_11, //D29 SDIO_D3 - PC_6, //D30 SDIO_D6 - PC_7, //D31 SDIO_D7 - PC_12, //D32 SDIO_CK - PD_2 //D33 SDIO_CMD + PB_4, //D23 SPI3_MISO + PB_3, //D24 SPI3_SCK + PC_8, //D25 SDIO_D0 + PC_9, //D26 SDIO_D1 + PC_10, //D27 SDIO_D2 + PC_11, //D28 SDIO_D3 + PC_6, //D29 SDIO_D6 + PC_7, //D30 SDIO_D7 + PC_12, //D31 SDIO_CK + PD_2 //D32 SDIO_CMD }; // Analog (Ax) pin number array diff --git a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h index b55cb83..cf31436 100644 --- a/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h +++ b/variants/CH32V30x/CH32V307VCT6/variant_CH32V307VCT6.h @@ -45,17 +45,16 @@ #define PB11 20 #define PB10 21 #define PA15 22 -#define PB5 23 -#define PB4 24 -#define PB3 25 -#define PC8 26 -#define PC9 27 -#define PC10 28 -#define PC11 29 -#define PC6 30 -#define PC7 31 -#define PC12 32 -#define PD2 33 +#define PB4 23 +#define PB3 24 +#define PC8 25 +#define PC9 26 +#define PC10 27 +#define PC11 28 +#define PC6 29 +#define PC7 30 +#define PC12 31 +#define PD2 32 // Alternate pins number @@ -72,7 +71,7 @@ -#define NUM_DIGITAL_PINS 34 +#define NUM_DIGITAL_PINS 33 #define NUM_ANALOG_INPUTS 6 // #define ADC_CTLR_ADCAL #define ADC_RESOLUTION 12