With regards to my GPIO problem you solved earlier (GPIO configuration on IMX.6 - #12 by lucas_a.tx),
I tried to enable some other GPIOs, using the same technique as you taught. Some seem to work but with others I experienced some problems. I think it worked for all the pins 113, 115, 117,119, 123, 125, and 127
I can’t seem to figure out the right soultion for the SODIMM 105, 107 and 129…
For SODIMM 105 I can’t even figure out what the name of the PAD should be. Says GPIO2_IO23 in the datasheet, should it be MX6QDL_PAD_EIM_CS0__GPIO2_IO23 ?
I am also trying to add a CS line for spidev1
imx6dl-colibri-eval.dts
&ecspi4 {
status = "okay";
mcp251x0: mcp251x@0 {
compatible = "microchip,mcp2515";
reg = <0>;
clocks = <&clk16m>;
interrupt-parent = <&gpio3>;
interrupts = <27 0x2>;
spi-max-frequency = <10000000>;
status = "disabled";
};
/* To keep the CAN controller enabled by default, */
/* disable conflicting spidev. This spidev device */
/* enables with the devicetree overlay. */
/* */
spidev0: spidev@0 {
compatible = "toradex,evalspi";
reg = <0>;
spi-max-frequency = <23000000>;
status = "okay";
};
/* the following added June 13th according to Renato */
spidev1: spidev@1 {
compatible = "toradex,evalspi";
reg = <1>;
spi-max-frequency = <23000000>;
status = "okay";
};
};
.
.
.
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_custom>;
pinctrl_gpio_custom: gpiocustom {
fsl,pins = <
/* MX6QDL_PAD_EIM_CS0_GPIO2_IO23 /* ARM_OE - SODIMM 105 */
MX6QDL_PAD_EIM_CS1__GPIO2_IO24 0x1b0b0 /* DOUT_FAULT- SODIMM 107 */
MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x1b0b0 /* DOUT1 - SODIMM 113 */
MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x1b0b0 /* DOUT2 - SODIMM 115 */
MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x1b0b0 /* DOUT3 - SODIMM 117 */
MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x1b0b0 /* DOUT4 - SODIMM 119 */
MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b0 /* DIN3 - SODIMM 121 */
MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x1b0b0 /* DIN1 - SODIMM 123 */
MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x1b0b0 /* DIN4 - SODIMM 125 */
MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x1b0b0 /* DIN2 - SODIMM 127 */
MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0 /* AO_FAULT - SODIMM 129 */
>;
};
};
for the CS pin for my SPI bus so I added this:
imx6qdl-colibri.dtsi
pinctrl_ecspi4: ecspi4grp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__ECSPI4_MISO 0x100b1
MX6QDL_PAD_EIM_D28__ECSPI4_MOSI 0x100b1
MX6QDL_PAD_EIM_D21__ECSPI4_SCLK 0x100b1
/* SPI CS */
MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x000b1 /* Emera DAC */
MX6QDL_PAD_EIM_D24__GPIO3_IO24 0x000b1 /* Emera DSP - added additional chip select line June 13th according to Renato's file CS.txt */
>;
};
and also here (in the same file)
&ecspi4 {
fsl,spi-num-chipselects = <2>;
cs-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>, <&gpio3 24 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi4>;
status = "okay";
spidev0: spidev@0 {
compatible = "toradex,evalspi";
reg = <0>;
spi-max-frequency = <23000000>;
};
spidev1: spidev@1 {
compatible = "toradex,evalspi";
reg = <0>;
spi-max-frequency = <23000000>;
};
};
but I get these error messages on bootup:
[ 0.054033] debugfs: Directory 'dummy-iomuxc-gpr@20e0000' with parent 'regmap' already present!
[ 0.084185] imx6dl-pinctrl 20e0000.iomuxc: pin MX6DL_PAD_EIM_D31 already requested by 20e0000.iomuxc; cannot claim for regulator-usb-host-vbus
[ 0.084217] imx6dl-pinctrl 20e0000.iomuxc: pin-96 (regulator-usb-host-vbus) status -22
[ 0.084238] imx6dl-pinctrl 20e0000.iomuxc: could not request pin 96 (MX6DL_PAD_EIM_D31) from group gpioregusbhpwrgrp on device 20e0000.iomuxc
[ 0.084260] reg-fixed-voltage regulator-usb-host-vbus: Error applying setting, reverse things back
[ 1.617448] imx6dl-pinctrl 20e0000.iomuxc: pin MX6DL_PAD_EIM_D24 already requested by 2020000.serial; cannot claim for 2014000.spi
[ 1.629267] imx6dl-pinctrl 20e0000.iomuxc: pin-89 (2014000.spi) status -22
[ 1.636187] imx6dl-pinctrl 20e0000.iomuxc: could not request pin 89 (MX6DL_PAD_EIM_D24) from group ecspi4grp on device 20e0000.iomuxc
[ 1.648302] spi_imx 2014000.spi: Error applying setting, reverse things back