Imx6 dula lite spi slave mode configuration

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

Imx6 dula lite spi slave mode configuration

1,670 Views
Shivasagar_myana
Contributor I

Hi,

iam trying to configure the imx6 dual lite processor as a spi slave and samc21 controller as a master mode, my configurations is as blow.

&ecspi4 {
/* cs-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;*/
/* #address-cells = <1>;
#size-cells = <0>;*/
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_ecspi4_cs>;
spi-slave;
status = "okay"; 

chip4:spidev@0 {
compatible = "spidev";
spi-max-frequency = <1000000>;
reg = <0>;
};

};

iam getttig the below error,

DTC arch/arm/boot/dts/imx6dl-sabreauto.dtb
arch/arm/boot/dts/imx6qdl.dtsi:435.25-447.7: Warning (spi_bus_bridge): /soc/bus@2000000/spba-bus@2000000/spi@2014000: incorrect #address-cells for SPI bus
also defined at arch/arm/boot/dts/imx6qdl-sabreauto.dtsi:549.9-565.3
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'

 i tried some configurations by taking the reference of the below configurations,

https://community.nxp.com/t5/i-MX-Processors/IMX6-spi-slave-mode-device-bindings-do-not-work/m-p/116...

 In imx6 ultra lite iam able get the slave node by using the below reference,

https://www.digi.com/resources/documentation/digidocs/90001547/reference/bsp/v4-1_6ul/r_spi_v4-1.htm...

Can you please provide the configurations for imx6 dula lite.

Thanks and Regards,

shiva sagar

0 Kudos
4 Replies

1,651 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Please note that you have commented the property #address-cells, for slave this should be changed from 1 to 0, i.e

 

&ecspi4 {

#address-cells = <0>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_ecspi4_cs>;

spi-slave;

status = "okay"; 

chip4:spidev@0 {

compatible = "spidev";

spi-max-frequency = <1000000>;

reg = <0>;

};

};

 

Best regards,
Aldo.

0 Kudos

1,575 Views
Shivasagar_myana
Contributor I

Hi Aldo,

i tried the above configuration like you provided, but still i am getting the errors and not able to get the node.

&ecspi4 {

#address-cells = <0>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_ecspi4_cs>;

spi-slave;

status = "okay"; 

chip4:spidev@0 {

compatible = "spidev";

spi-max-frequency = <1000000>;

reg = <0>;

};

};

the same configuration i given, but iam getting the below error while compiling the dtb file.

arch/arm/boot/dts/imx6qdl-sabreauto.dtsi:560.11-21: Warning (reg_format): /soc/bus@2000000/spba-bus@2000000/spi@2014000/spidev@0:reg: property has invalid length (4 bytes) (#address-cells == 0, #size-cells == 0)
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'

 

i was copied the dtb file and tried to boot, the below errors i am getting in dmesg: 

spi_slave spi3: /soc/bus@2000000/spba-bus@2000000/spi@2014000/spidev@0 is not called 'slave'
spi_slave spi3: Failed to create SPI device for /soc/bus@2000000/spba-bus@2000000/spi@2014000/spidev@0

please provide the solution for this.

Thanks and regards,

Shiva sagar

 

0 Kudos

1,639 Views
Larry69
Contributor I

Hello,

Please note that you have commented the property #address-cells, for slave this should be changed from 1 to 0, i.e

 

&ecspi4 {

#address-cells = <0>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_ecspi4_cs>;

spi-slave;

Target 401k;

status = "okay"; 

chip4:spidev@0 {

compatible = "spidev";

spi-max-frequency = <1000000>;

reg = <0>;

};

};

 

Best regards,
Aldo.

Thank you for the Help, My Issue has been solved.
 
0 Kudos

1,645 Views
Shivasagar_myana
Contributor I

Hello Aldo,

i have tried the above configuration,

&ecspi4 {

#address-cells = <0>;

#size-cells = <0>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_ecspi4 &pinctrl_ecspi4_cs>;

spi-slave;

status = "okay"; 

chip4:spidev@0 {

compatible = "spidev";

spi-max-frequency = <1000000>;

reg = <0>;

};

};

but we are getting the below errors.

arch/arm/boot/dts/imx6qdl.dtsi:435.25-447.7: Warning (spi_bus_bridge): /soc/bus@2000000/spba-bus@2000000/spi@2014000: incorrect #size-cells for SPI bus
also defined at arch/arm/boot/dts/imx6qdl-sabreauto.dtsi:549.9-562.3
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
arch/arm/boot/dts/imx6qdl-sabreauto.dtsi:557.25-561.6: Warning (avoid_default_addr_size): /soc/bus@2000000/spba-bus@2000000/spi@2014000/spidev@0: Relying on default #size-cells value

If i tried to compile by commenting the size-cells, the below error i am getting.

arch/arm/boot/dts/imx6qdl-sabreauto.dtsi:561.10-20: Warning (reg_format): /soc/bus@2000000/spba-bus@2000000/spi@2014000/spidev@0:reg: property has invalid length (4 bytes) (#address-cells == 0, #size-cells == 0)
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
arch/arm/boot/dts/imx6dl-sabreauto.dtb: Warning (spi_bus_reg): Failed prerequisite 'reg_format'

Thanks and regards,

Shiva Sagar.

 

0 Kudos