Other Parts Discussed in Thread: SYSCONFIG
Hi,
I have a TI-RTOS program running on DSP1 that's being triggered by an interrupt on GPIO1_4. I also have a program running on the A15 under Linux and I want to enable some of the PMIC functionality on GPIO1 again, so I'm moving the triggering input from GPIO1_4 to GPIO3_15. I think I've done everything correctly in the hardware and modified the appropriate code, but the callback I assigned to the interrupt isn't being called. Is there another step I have to perform to be able to use GPIO3 that's different from GPIO1?
Here are the things I changed:
1. I have some code that's assigning the interrupt to the default event expected by the GPIO driver in the crossbar:
This was my old code:
CSL_xbarDspIrqConfigure(1, CSL_XBAR_INST_DSP1_IRQ_55, CSL_XBAR_GPIO3_IRQ_1);
volatile uint32_t *p_idlemode_reg = (uint32_t *)(CSL_DSP_GPIO1_REGS + CSL_GPIO_SYSCONFIG);
CSL_FINST(*p_idlemode_reg,
GPIO_SYSCONFIG_IDLEMODE,
NOIDLE);
while (CSL_GPIO_SYSCONFIG_IDLEMODE_NOIDLE !=
CSL_FEXT(*p_idlemode_reg,
GPIO_SYSCONFIG_IDLEMODE));
And this is my new code:
CSL_xbarDspIrqConfigure(1, CSL_XBAR_INST_DSP1_IRQ_57, CSL_XBAR_GPIO3_IRQ_1);
 volatile uint32_t *p_idlemode_reg = (uint32_t *)(CSL_DSP_GPIO3_REGS + CSL_GPIO_SYSCONFIG);
 CSL_FINST(*p_idlemode_reg,
 GPIO_SYSCONFIG_IDLEMODE,
 NOIDLE);
 while (CSL_GPIO_SYSCONFIG_IDLEMODE_NOIDLE !=
 CSL_FEXT(*p_idlemode_reg,
 GPIO_SYSCONFIG_IDLEMODE));
2. I modified the device tree:
Old devicetree:
 
				 
		 
					 
                           
				