76
76
#define PIN_NUM_MAX ((uint8_t)7u)
77
77
78
78
/* IRQ Enable registers */
79
- #if CONFIG_SOC_RISCV_TELINK_TL721X
79
+ #if CONFIG_SOC_RISCV_TELINK_TL721X || CONFIG_SOC_RISCV_TELINK_TL321X
80
80
#define reg_irq_risc0_en (i ) REG_ADDR8(0x140c08 + (i << 4))
81
81
#define reg_irq_risc1_en (i ) REG_ADDR8(0x140c09 + (i << 4))
82
82
#endif
107
107
#if CONFIG_SOC_RISCV_TELINK_TL721X
108
108
#define IRQ_GPIO2_RISC0 ((uint8_t)26u)
109
109
#define IRQ_GPIO2_RISC1 ((uint8_t)27u)
110
- #endif
111
-
112
- #if CONFIG_SOC_RISCV_TELINK_TL721X || CONFIG_SOC_RISCV_TELINK_TL321X
110
+ #elif CONFIG_SOC_RISCV_TELINK_TL321X
113
111
#define IRQ_GPIO0 ((uint8_t)34u)
114
112
#define IRQ_GPIO1 ((uint8_t)35u)
115
113
#define IRQ_GPIO2 ((uint8_t)36u)
118
116
#define IRQ_GPIO5 ((uint8_t)39u)
119
117
#define IRQ_GPIO6 ((uint8_t)40u)
120
118
#define IRQ_GPIO7 ((uint8_t)41u)
119
+ #define IRQ_GPIO IRQ_GPIO0
120
+ #define IRQ_GPIO2_RISC0 IRQ_GPIO1
121
+ #define IRQ_GPIO2_RISC1 IRQ_GPIO2
121
122
#endif
122
123
123
124
/* tlx GPIO registers structure */
@@ -786,7 +787,7 @@ static int gpio_tlx_pm_action(const struct device *dev, enum pm_device_action ac
786
787
analog_write_reg8 (areg_gpio_pc_ie ,
787
788
data -> gpio_tlx_retention .analog_in_conf );
788
789
#if CONFIG_SOC_RISCV_TELINK_TL321X
789
- } else if (IS_PORT_B (gpio ) && (( pin >= 4 ) && ( pin <= 7 )) ) {
790
+ } else if (IS_PORT_B (gpio )) {
790
791
analog_write_reg8 (areg_gpio_pb_ie ,
791
792
data -> gpio_tlx_retention .analog_in_conf );
792
793
#elif CONFIG_SOC_RISCV_TELINK_TL721X
@@ -820,22 +821,22 @@ static int gpio_tlx_pm_action(const struct device *dev, enum pm_device_action ac
820
821
* pending bit and restoring the edge mode
821
822
*/
822
823
if (irq_num == IRQ_GPIO ) {
823
- BM_SET (GPIO_IRQ_REG , FLD_GPIO_IRQ_LVL_GPIO );
824
+ BM_SET (GPIO_IRQ_REG , FLD_GPIO_CORE_INTERRUPT_EN );
824
825
} else if (irq_num == IRQ_GPIO2_RISC0 ) {
825
- BM_SET (GPIO_IRQ_REG , FLD_GPIO_IRQ_LVL_GPIO2RISC0 );
826
+ BM_SET (GPIO_IRQ_REG , FLD_GPIO_CORE_INTERRUPT_EN );
826
827
} else if (irq_num == IRQ_GPIO2_RISC1 ) {
827
- BM_SET (GPIO_IRQ_REG , FLD_GPIO_IRQ_LVL_GPIO2RISC1 );
828
+ BM_SET (GPIO_IRQ_REG , FLD_GPIO_CORE_INTERRUPT_EN );
828
829
}
829
830
830
831
riscv_plic_irq_enable (IRQ_TO_L2 (irq_num ));
831
832
riscv_plic_set_priority (IRQ_TO_L2 (irq_num ), irq_priority );
832
833
833
834
if (irq_num == IRQ_GPIO ) {
834
- BM_CLR (GPIO_IRQ_REG , FLD_GPIO_IRQ_LVL_GPIO );
835
+ BM_CLR (GPIO_IRQ_REG , FLD_GPIO_CORE_INTERRUPT_EN );
835
836
} else if (irq_num == IRQ_GPIO2_RISC0 ) {
836
- BM_CLR (GPIO_IRQ_REG , FLD_GPIO_IRQ_LVL_GPIO2RISC0 );
837
+ BM_CLR (GPIO_IRQ_REG , FLD_GPIO_CORE_INTERRUPT_EN );
837
838
} else if (irq_num == IRQ_GPIO2_RISC1 ) {
838
- BM_CLR (GPIO_IRQ_REG , FLD_GPIO_IRQ_LVL_GPIO2RISC1 );
839
+ BM_CLR (GPIO_IRQ_REG , FLD_GPIO_CORE_INTERRUPT_EN );
839
840
}
840
841
}
841
842
}
@@ -855,7 +856,7 @@ static int gpio_tlx_pm_action(const struct device *dev, enum pm_device_action ac
855
856
data -> gpio_tlx_retention .analog_in_conf
856
857
= analog_read_reg8 (areg_gpio_pc_ie );
857
858
#if CONFIG_SOC_RISCV_TELINK_TL321X
858
- } else if (IS_PORT_B (gpio ) && (( pin >= 4 ) && ( pin <= 7 )) ) {
859
+ } else if (IS_PORT_B (gpio )) {
859
860
data -> gpio_tlx_retention .analog_in_conf
860
861
= analog_read_reg8 (areg_gpio_pb_ie );
861
862
#elif CONFIG_SOC_RISCV_TELINK_TL721X
0 commit comments