Using LVDS Pins as GPIOs possible?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using LVDS Pins as GPIOs possible?

2,062 Views
Rooney
Contributor III

Is there a way to use the LVDS Pins as GPIOs?

I want to use the LVDS1_TX0_P as GPIO6_30. Therefore I configured the IOMUX with MX53_PAD_LVDS1_TX0_P__GPIO6_30 --> should select "ALT0 mux port: GPI[30] of instance: gpio6." according to the schematic.

Requesting the GPIO works fine, but if I set the output to '1' nothing happens on the pin, and still read '0'.

The control of the GPIO is done as follows.

    #define SX8656_nRST         IMX_GPIO_NR(6, 30)

    ret = gpio_request(SX8656_nRST, "SX8656");
    if (ret)
    {
        pr_info("B\n");
        return ret;
    }
    if(gpio_direction_output(SX8656_nRST, 1))

The code above should be definitely correct. If I use GPIO4_18 instead, everthing works fine.

Could this problem caused by "NON_PAD_I" in the definition of the IOMUX in iomux-mx53.h?

#define _MX53_PAD_LVDS1_TX0_P__GPIO6_30        IOMUX_PAD(NON_PAD_I, 0x1FC, 0, 0x0, 0, 0)

#define _MX53_PAD_DI0_PIN2__GPIO4_18            IOMUX_PAD(0x380, 0x54, 1, 0x0, 0, 0)

Regards,

Rooney

Tags (1)
0 Kudos
2 Replies

1,065 Views
Yanfei_Sun
Contributor IV

here are some cluse:

1. please check if any other pin was configured as GPIO6_30, that may cause confliction

2. check if the power domain was okay for GPIO6 group.

0 Kudos

1,065 Views
Rooney
Contributor III

I found the answer of my question in the small print of the datasheet... The LVDS pins can alternatively only be used as inputs (GPI)!!!!!!

0 Kudos