This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Gio Configuration

Other Parts Discussed in Thread: HALCOGEN

Im using the RM57 uC. I want to use Ball G3 as a GIO pin.

The Data sheet says that Ball G3 has only 3 functions possible:MIBSPI1NCS[2]/MDIO/N2HET1[19].

If i have to use it as a GIO, must i set the pin to GPIO in MIBSPI1 Port tab in Halcogen?

Table 3.2 in the datasheet of RM57 says that it can be used as a GIO  but Table 3.27 says it has only 3 functions. I'm confused now.

  • Do you mean in the 'total # of GPIO' count that is included in the Device Comparison table?

    Both the N2HET and the MibSPI have GIO control registers (same as in the GIO module... direction, data in, data set, data clear... etc) as part of their register set. So you could use this pin as GIO and controlled either by the SPI or the HET depending on which you chose in pinmux.

    MDIO does not have GPIO capability it is part of the EMAC - so do not configure as MDIO.
  • So i have to use the Pinmux register to select who will be the master peripheral(spi or nhet) that will control ball g3. If i select spi to be the master,everytime i need to set or clear g3,i need to access the spi register set.
    Is my understanding correct?
    I was confused on the point where in the trm it states that g3 by default is het and can be configured to be spi or mdio and not gpio. I could find how to use it as a gpio.
    Also, in halcogen, i configured g3 to be mdio under Pinmux and het under input pin mixing, there was no conflict
  • Akshay,

    If we write the pin name in the datasheet like this: MIBSPI1NCS[2]/MDIO/N2HET1[19]

    Then the first function listed (MIBSPINCS[2]) is the default function. So I don't know where you would have seen it documented that N2HET is the default.

    If you use IOMM to configure as a MibSPI controlled pin, then you should control the GIO function through MibSPI's GIO registers.
    Same goes for HET, if you configure IOMM to select HET on this pin you should use the HET GIO registers to control the pin.

    Now, normally you can still always read back the INPUT from the pin through all of the peripherals connected that include GIO registers.
    (so you could read DIN from either MibSPI or HET. Not MDIO because that module is an exception and does not have GIO registers.

    The input pin mux defines when there are two different options for a signal - like MDIO - which ball this signal should come from.
    So it never conflicts with the OUTPUT muxing page although you want to make sure normally that you use the same ball for input and output... You have to be careful to do things this way manually in HalCoGen though as the sheets for input and output muxing are not tied together. You *could* configure one ball for output and a different ball for input if you are not careful...