[meta-xilinx] meta-xilinx Digest, Vol 13, Issue 8

Anders Berndtsson anders.berndtsson at idptech.se
Fri Mar 21 02:51:52 PDT 2014


Hi Natan,
Have switched to Kernel 3.10.32-ltsi-yocto-standard. Using master branch.
No improvement on the SPI device, still hanging.
The xdevcfg device is no longer mounted and is no longer included in
/proc/devices
How can I manually mount or include the xdevcfg device in the recipes?
Regards
Anders 


-----Original Message-----
From: meta-xilinx-bounces at yoctoproject.org
[mailto:meta-xilinx-bounces at yoctoproject.org] On Behalf Of
meta-xilinx-request at yoctoproject.org
Sent: den 19 mars 2014 12:11
To: meta-xilinx at yoctoproject.org
Subject: meta-xilinx Digest, Vol 13, Issue 8

Send meta-xilinx mailing list submissions to
	meta-xilinx at yoctoproject.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.yoctoproject.org/listinfo/meta-xilinx
or, via email, send a message with subject or body 'help' to
	meta-xilinx-request at yoctoproject.org

You can reach the person managing the list at
	meta-xilinx-owner at yoctoproject.org

When replying, please edit your Subject line so it is more specific than
"Re: Contents of meta-xilinx digest..."


Today's Topics:

   1. meta-xilinx - linux-yocto support (Nathan Rossi)
   2. SPI spidev  hanging in write and ioctl (Anders Berndtsson)


----------------------------------------------------------------------

Message: 1
Date: Wed, 19 Mar 2014 08:02:39 +0000
From: Nathan Rossi <nathan.rossi at xilinx.com>
To: "meta-xilinx Mailing List (meta-xilinx at yoctoproject.org)"
	<meta-xilinx at yoctoproject.org>
Subject: [meta-xilinx] meta-xilinx - linux-yocto support
Message-ID:
	<7d027ac0-c5e2-4776-b769-89c5413fb295 at CO9EHSMHS007.ehs.local>
Content-Type: text/plain; charset="us-ascii"

Hi all,

We have updated support for the linux-yocto recipes. As discussed previously
on this list, we took the approach of minimal change towards enabling these
kernels. As such we have dropped the linux-yocto_3.8 recipes, this is
primarily because the majority of support for Zynq was available after the
3.8 release.

We have enabled support for the linux-yocto 3.10 and linux-yocto-dev kernels
as of now, for both microblaze and zynq. However there is a number of
missing drivers regarding Zynq, this unfortunately is the state of mainline
for Zynq at the moment.

There is one notable difference between the linux-xlnx and mainline kernels
regarding device trees, the Ethernet driver. In linux-xlnx there is a Xilinx
specific driver called "xemacps", where as in mainline the generic Cadence
GEM or "macb" driver is used. This difference required the addition of
"*-yocto.dts" device trees for all Zynq machines.

On a side note, I have stripped out the bootargs specific dts files. In
order to support custom bootargs it is recommended that you use the u-boot
'bootargs' environment field. For more details see:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx/tree/docs/BOOT.sdcard

Regards,
Nathan




------------------------------

Message: 2
Date: Wed, 19 Mar 2014 12:10:08 +0100
From: "Anders Berndtsson" <anders.berndtsson at idptech.se>
To: <meta-xilinx at yoctoproject.org>
Subject: [meta-xilinx] SPI spidev  hanging in write and ioctl
Message-ID: <001b01cf4363$c9dc6040$5d9520c0$@idptech.se>
Content-Type: text/plain; charset="koi8-r"

Dear All

Userspace spidev is hanging in write() and ioctl().  

 

Kernel : XLNX 3.8 and 3.10 (same behavior ).

 

ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits); works OK

ioctl(fd, SPI_IOC_MESSAGE(2), mesg);     hangs

write(fd, :                              hangs 

 

Same code on yocto>raspberry-pi works and also the SPI interface!! 

 

Device tree settings:

 

       model = "Xilinx Zynq";

       aliases {

              ethernet0 = &ps7_ethernet_0;

              serial0 = &ps7_uart_1;

              spi0 = &ps7_qspi_0;

              spi1 = &ps7_spi_1;

              } ;

       chosen {

:::

.

.

.

:::

              ps7_spi_1: ps7-spi at e0007000 {

                     

                     clock-names = "ref_clk", "aper_clk";

                     clocks = <&clkc 26>, <&clkc 35>;

                     compatible = "xlnx,ps7-spi-1.00.a";

                     interrupt-parent = <&ps7_scugic_0>;

                     interrupts = <0 49 4>; 

                     num-chip-select = <3>;

                     reg = <0xe0007000 0x1000>;

                     bus-num = <1>;

                     speed-hz = <1000000>; // 1MHz

                     xlnx,has-ss0=<0x0>; // off

                     xlnx,has-ss1=<0x1>; // on

                     xlnx,has-ss2=<0x0>; // on

                     xlnx,spi-clk-freq-hz=<1000000>; 

                     #address-cells = <1>;

                     #size-cells = <0>;

 

                     spidev at 1{

                           compatible="spidev";

                           reg =<1>; // chipselect 1

                           spi-max-frequency= <1000000>;

                     } ;

                     spidev at 2{

                           compatible="spidev";

                           reg =<2>; // chipselect 2

                           spi-max-frequency= <1000000>;

                     } ;

 

Kernel configuration (both for XLNX 3.8 and 3.10)

----------------------------------------------------------------------------
--------------------------? ?  

  ? ?               --- SPI support
? ?  

  ? ?               [ ]   Debug support for SPI drivers
? ?  

  ? ?                     *** SPI Master Controller Drivers ***
? ?  

  ? ?               < >   Altera SPI Controller
? ?  

  ? ?               -*-   Utilities for Bitbanging SPI masters
? ?  

  ? ?               < >   GPIO-based bitbanging SPI Master
? ?  

  ? ?               [ ]   Freescale SPI controller and Aeroflex Gaisler
GRLIB SPI controller          ? ?  

  ? ?               < >   OpenCores tiny SPI
? ?  

  ? ?               < >   ARM AMBA PL022 SSP controller
? ?  

  ? ?               < >   PXA2xx SSP SPI master
? ?  

  ? ?               < >   NXP SC18IS602/602B/603 I2C to SPI bridge
? ?  

  ? ?               < >   Intel EG20T PCH/LAPIS Semicon
IOH(ML7213/ML7223/ML7831) SPI                 ? ?  

  ? ?               < >   Analog Devices AD-FMCOMMS1-EBZ SPI-I2C-bridge
driver                        ? ?  

  ? ?               <*>   Xilinx SPI controller common module
? ?  

  ? ?               <*>   Xilinx PS QSPI controller
? ?  

  ? ?               [ ]     Xilinx PS QSPI Dual stacked configuration
? ?  

  ? ?               <*>   Xilinx PS SPI controller
? ?  

  ? ?               < >   DesignWare SPI controller core support
? ?  

  ? ?                     *** SPI Protocol Masters ***
? ?  

  ? ?               <*>   User mode SPI device driver support
? ?  

  ? ?               < >   Infineon TLE62X0 (for power switching)
? ?  

  ? ?
? ?  

  

 

Both /dev/spidev1.1 and /dev/spidev1.2 appears 

Under cat /proc/devices I get  > 153 spi

 

All MIO configured to 

MIO 10 > SPI1,MOSI

MIO 11 > SPI1,MISO

MIO 12 > SPI1,CLK 

MIO 13 > SPI1,SS0

MOI 14 > SPI1,SS1

MIO 15 > SPI1,SS2

 

Do I miss something?

 

Do I configure the SPI controller separately?

 

Can someone advise how to make the correct settings / how to debug.

 

Best Regards

Anders Berndtsson

                                                                          

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20140319/66
1c7403/attachment.html>

------------------------------

--
_______________________________________________
meta-xilinx mailing list
meta-xilinx at yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx


End of meta-xilinx Digest, Vol 13, Issue 8
******************************************




More information about the meta-xilinx mailing list