Utilization of the Unused GPIF Control Lines in Port Mode

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
FrZa_2625781
Level 4
Level 4
First solution authored 25 replies posted 10 replies posted

Hi,

Here and here and here and here and here , information can be found on the Utilization of the Unused GPIF Control Lines in Port Mode.

The first one is the most informative, the last one might benefit from an update (it says that it would be better to use other GPIOS, but the question was rather if it can be done, not if there were more practical ways).

What I get from those articles ist, that it is indeed possible to utilize unused GPIF Control Lines as GPIO lines in GPIF Mode, but that one has to  care that these lines will not be utilized by the GPIF engine or otherwise data corruption can occur.

The information that I am missing, is if these control lines can be utilized also in the port mode. Is their state in port mode the same as in GPIF mode in the Idle state? Or are they in some other state like high impedance, and are only active if GPIF mode is active?

Added by edit:

If I change the according GPIFIDLECTL register values in order to change the control signals (from low to high or vice versa), I assume these changes have direct effect on the pins if GPIF mode is active and the state machine is in the Idle state.

What if I update these register values when the GPIF is in any other state? Does my update have a direct effect or does the register update only take effect once the state machine arrives at the Idle state again?

Assuming that the control lines are also active in Port mode: What if the Port mode is active and I update the GPIFIDLECTL register? Does my update have a direct effect or does the register update only take effect once I switch to GPIF mode(at least temporarily)?

Also regarding any output: I assume in suspend or idle mode (power management) all the active outputs stay active and keep their actual logic output state, right? And any current that is drawn out of a high output has to be added to the suspend current?

Thanks in advance.

0 Likes
1 Solution
SudheerG_41
Employee
Employee
5 sign-ins Welcome! 25 comments on KBA

Hi,

Please see my inline responses.

The information that I am missing, is if these control lines can be utilized also in the port mode. Is their state in port mode the same as in GPIF mode in the Idle state? Or are they in some other state like high impedance, and are only active if GPIF mode is active?

In port mode you can access the GPIF CTL lines using the GPIFIDLECTL register. From my experiments it is observed that the CTL pins can be changed using GPIFIDLECTL register as long as there is a clock supplied to GPIF Interface.

If I change the according GPIFIDLECTL register values in order to change the control signals (from low to high or vice versa), I assume these changes have direct effect on the pins if GPIF mode is active and the state machine is in the Idle state.

Irrespective of the PORT mode selected you can change the CTL Lines using GPIFIDLECTL register. But, before changing make sure the GPIF is IDLE

What if I update these register values when the GPIF is in any other state? Does my update have a direct effect or does the register update only take effect once the state machine arrives at the Idle state again?

Section 10.3.2.1 states that it is illegal to change any GPIF registers when the GPIF is busy. (I haven't experimented what will happen still if you go against it)

Assuming that the control lines are also active in Port mode: What if the Port mode is active and I update the GPIFIDLECTL register? Does my update have a direct effect or does the register update only take effect once I switch to GPIF mode(at least temporarily)?

Irrespective of the PORT Mode chosen, as long as  GPIF Clock is available, if you write to GPIFIDLECTL that should reflect on the CTL Pins immediately. Let us know in case you are observing a different behavior.

Also regarding any output: I assume in suspend or idle mode (power management) all the active outputs stay active and keep their actual logic output state, right? And any current that is drawn out of a high output has to be added to the suspend current?

I am not clear on this question.

Thank You & Regards,

Sudheer

View solution in original post

0 Likes
1 Reply
SudheerG_41
Employee
Employee
5 sign-ins Welcome! 25 comments on KBA

Hi,

Please see my inline responses.

The information that I am missing, is if these control lines can be utilized also in the port mode. Is their state in port mode the same as in GPIF mode in the Idle state? Or are they in some other state like high impedance, and are only active if GPIF mode is active?

In port mode you can access the GPIF CTL lines using the GPIFIDLECTL register. From my experiments it is observed that the CTL pins can be changed using GPIFIDLECTL register as long as there is a clock supplied to GPIF Interface.

If I change the according GPIFIDLECTL register values in order to change the control signals (from low to high or vice versa), I assume these changes have direct effect on the pins if GPIF mode is active and the state machine is in the Idle state.

Irrespective of the PORT mode selected you can change the CTL Lines using GPIFIDLECTL register. But, before changing make sure the GPIF is IDLE

What if I update these register values when the GPIF is in any other state? Does my update have a direct effect or does the register update only take effect once the state machine arrives at the Idle state again?

Section 10.3.2.1 states that it is illegal to change any GPIF registers when the GPIF is busy. (I haven't experimented what will happen still if you go against it)

Assuming that the control lines are also active in Port mode: What if the Port mode is active and I update the GPIFIDLECTL register? Does my update have a direct effect or does the register update only take effect once I switch to GPIF mode(at least temporarily)?

Irrespective of the PORT Mode chosen, as long as  GPIF Clock is available, if you write to GPIFIDLECTL that should reflect on the CTL Pins immediately. Let us know in case you are observing a different behavior.

Also regarding any output: I assume in suspend or idle mode (power management) all the active outputs stay active and keep their actual logic output state, right? And any current that is drawn out of a high output has to be added to the suspend current?

I am not clear on this question.

Thank You & Regards,

Sudheer

0 Likes