Changing PWM_IR to PWM

I have Rock Pi E v1.1 which was an engineering version, it has a micro hdmi and a wifi, such a nice board, hardware acceleration and hardware encoder / decoder seems to be working but later radxa decided to remove the micro hdmi.

Now, I’ve decided to revive the board for a project. The project needs two PWMs, but the Rock Pi E has pwm_ir and pwm2.

My question for the hardware experts is: can I use pwm_ir as a PWM? pwm_ir is linked to pwm3, so changing it to pwm3 seems feasible, but will it work as a PWM?

Key GPIO and Power Pin Assignments (V1.0/V1.1 & V1.2)

Pin # V1.0/V1.1 Function V1.2 Function Notes
1 +3.3V +3.3V Power
2 +5.0V +5.0V Power
3 I2C1_SDA / GPIO2_A4 UART1_TX / GPIO3_A4 V1.2 uses UART
4 +5.0V +5.0V Power
5 I2C1_SCL / GPIO2_A5 UART1_RX / GPIO3_A6 V1.2 uses UART
6 GND GND Ground
7 GPIO2_A0 / UART2_TX_M1 GPIO1_D4 Power/GPIO
8 GPIO2_A1 / UART2_RX_M1 GND Power/GPIO
9 GND GND Ground
10 GPIO2_D2 / SPI0_CLK GPIO2_C2 V1.1 sleep pin
11 SPI0_CLK / GPIO3_A0 GPIO2_C2 V1.2 alternate
12 GPIO2_D2 GPIO2_C2 PMIC Sleep Pin
13 SPI0_CSN0 / GPIO3_B0 GND V1.2 Ground
14 GND GND Ground
15 SPI0_RXD / GPIO3_A2 GPIO0_D3 V1.2 alternate
16 USB20DM USB20DP V1.2 alternate
17 +3.3V +3.3V Power
18 USB20DP USB20DP Power
19 GPIO0_D3 / SPDIF_TX_M0 GPIO3_A1 V1.2 alternate
20 GND GND Ground
21 GPIO2_C3 / I2S1_SDI GPIO3_A2 V1.2 alternate
22 GPIO2_B4 ADC_IN1 V1.2 alternate
23 GPIO1_D4 / CLK32KOUT_M1 GPIO3_B0 V1.2 alternate
24 GPIO2_A3 SPI0_CLK V1.2 alternate
25 GND GND Ground
26 GPIO2_C7 / I2S1_SDO SPI0_CSN0 V1.2 alternate
27 GPIO3_A1 / SPI0_TXD GPIO2_A5 V1.2 alternate
28 GPIO2_C1 / I2S1_LRCK_TX I2C1_SDA V1.2 alternate
29 GPIO2_C0 / I2S1_LRCK_RX I2C1_SCL V1.2 alternate
30 GND GND Ground
31 GPIO3_A6 / I2S1_MCLK GPIO2_A6 V1.2 alternate
32 GPIO2_B7 / TSP_SYNC_M1 GND V1.2 alternate
33 GPIO2_C5 / ADC_IN1 GPIO2_C4 V1.2 alternate
34 GND GND Ground
35 GPIO2_C6 / I2S1_SDIO2 GPIO2_C0 V1.2 alternate
36 GPIO2_C4 / I2S1_SDIO1 GPIO2_B7 V1.2 alternate
37 GPIO2_A2 / IR_RX GPIO2_C3 V1.2 alternate
38 GPIO2_C4 / I2S1_SDIO1 GPIO2_C7 V1.2 alternate
39 GND GND Ground
40 GPIO2_C6 / I2S1_SDIO3 GPIO2_C7 V1.2 alternate

From Radxa:

** Note: Actual compatibility is based on usage. ** ** Note: 40-Pin GPIO for V1.20, V1.21 and V3.0 are functionally identical **

GPIO Number Function3 Function2 Function1 Pin# Pin# Function1 Function2 Function3 GPIO Number
+3.3V 1 2 +5.0V
100 UART1_TX GPIO3_A4 3 4 +5.0V
102 UART1_RX GPIO3_A6 3 6 GND
60 GPIO1_D4 7 8 GPIO2_A0 UART2_TX 64
GND 9 10 GPIO2_A1 UART2_RX 65
66 PWM_IR GPIO2_A2 11 12 GPIO2_C2 PDM_CLK I2S_SCLK 82
67 GPIO2_A3 13 14 GND
27 GPIO0_D3 15 16 USB20DM
+3.3V 17 18 USB20DP
97 SPI0_TXD GPIO3_A1 19 20 GND
98 SPI0_RXD GPIO3_A2 21 22 ADC_IN1
96 SPI0_CLK GPIO3_A0 23 24 GPIO3_B0 SPI0_CSN0 104
GND 25 26 GPIO2_B4 76
68 I2C1_SDA GPIO2_A4 27 28 GPIO2_A5 I2C1_SCL 69
84 I2S1_SDIO1 PDM_SDI1 GPIO2_C4 29 30 GND
85 I2S1_SDIO2 PDM_SDI2 GPIO2_C5 31 32 GPIO2_C0 I2S1_LRCK_RX 80
70 PWM2 GPIO2_A6 33 34 GND
81 I2S1_LRCK_TX GPIO2_C1 35 36 GPIO2_B7 I2S1_MCLK 79
86 PDM_SDI3 GPIO2_C6 37 38 GPIO2_C3 PDM_SDIO I2S1_SDI 83
GND 39 40 GPIO2_C7 PDM_FSYNC I2S1_SDO 87

Here is how i understand it, it’s a different circuitry, so it can’t generate a pwm output. i have to control pwm by other means. It will be much more complex, but i have some ideas….