Tool/software: Linux
I am having trouble setting up the GPIO for a custom board that is being developed. We have loosely modeled the board after the AM335x EVM, but we are not utilizing anywhere near as many peripherals. I have been attempting to make use of the GPIO by creating a new node in the dts file, but it doesn't seem to be working the way I would think it should. The GPIO doesn't get setup, and the access to the registers isn't even set up. The CM_PER registers and CM_WKUP registers that correlate to the GPIO seem to go from the correct settings in Uboot to the incorrect ones in Linux.
In the .dts file, which includes the am33xx.dtsi file, an example of the node that I am trying to add includes in the &am33xx_pinmux section:
gpio0_pins: gpio0_pins {
pinctrl-single,pins = <
0x164 ( PIN_INPUT | MUX_MODE7 ) /* (C18) eCAP0_in_PWM0_out.gpio0[7] */
0xd0 ( PIN_INPUT | MUX_MODE7 ) /* (V2) lcd_data12.gpio0[8] */
0xd4 ( PIN_INPUT | MUX_MODE7 ) /* (V3) lcd_data13.gpio0[9] */
0xd8 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (V4) lcd_data14.gpio0[10] */
0xdc ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (T5) lcd_data15.gpio0[11] */
0x1b0 ( PIN_INPUT | MUX_MODE7 ) /* (A15) xdma_event_intr0.gpio0[19] */
0x1b4 ( PIN_INPUT | MUX_MODE7 ) /* (D14) xdma_event_intr1.gpio0[20] */
0x20 ( PIN_INPUT | MUX_MODE7 ) /* (U10) gpmc_ad8.gpio0[22] */
0x24 ( PIN_INPUT | MUX_MODE7 ) /* (T10) gpmc_ad9.gpio0[23] */
0x28 ( PIN_INPUT | MUX_MODE7 ) /* (T11) gpmc_ad10.gpio0[26] */
0x2c ( PIN_INPUT | MUX_MODE7 ) /* (U12) gpmc_ad11.gpio0[27] */
0x144 ( PIN_INPUT | MUX_MODE7 ) /* (H18) rmii1_refclk.gpio0[29] */
>;
};
and in the section below that:
&gpio0 {
ti,no-reset-on-init;
};
I am really not familiar with the Device Tree Structure, so any help would be appreciated.
Thank you,
Dallas