• Content Count

  • Joined

  • Last visited

About kadionik

  • Rank

Profile Information

  • Location
    ENSEIRB-MATMECA, Bordeaux, France

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Please find enclosed source files for reading the onboard I2C temperature sensor (ADT7420) of the Nexys4 DDR board under Linux. For cross compiling: make CC=microblazeel-xilinx-linux-gnu-gcc -f Makefile I'm using the gcc cross compiler from Vivado 2016.3 SDK. Pat. Makefile libi2c.c libi2c.h main.c
  2. Hi all, This is a quick and dirty howto. This howto describes how to use I2C modules (onboard and through PMOD connector) under embedded Linux. I've chosen to build my own Linux distro based on Linux kernel source for MicroBlaze softcore and busybox project for the init RAM DISK. My board is the Nexys4 DDR board. If you respect the following requirements for the HW design compatible with Linux, you can use Petalinux too. HW Vivado requirements (according to Xilinx UG1144) design to boot Linux: MicroBlaze with MMU support by selecting either Linux with MMU or Low-end L
  3. OK. With my first design based on the PMOD TMP3 IP from Digilent's vivado_library, I have in my Device Tree: PmodTMP3_0: [email protected] { compatible = "xlnx,PmodTMP3-1.0"; interrupt-names = "I2C_Interrupt"; interrupt-parent = <&microblaze_0_axi_intc>; interrupts = <4 2>; reg = <0x40900000 0x1000>; And I have in my IO Vivado report file: | C14 | temp_sensor_scl_io | High Range | IO_L1N_T0_AD0N_15 | BI
  4. Eureka! It works with the second solution: instanciate a IIC ´╗┐AXI IP, route SCL and SDA signals to 2 pins from the PMOD JA connector and connect with wires to the TMP3 sensor. I was confused with the onboard sensor that worked directly and driven by the Xilinx's I2C Linux driver (file drivers/i2c/busses/i2c-xiic.c). I guessed that the AXI IIC IP worked as a I2C passthrough device but with help of PG090 AXI IIC Bus Interface manual (https://www.xilinx.com/products/intellectual-property/axi_iic.html), I saw It's just a gateway and you have to drive many registers. That's what does the i2c-x
  5. Hi Ciprian, Thank you for your response. I agree with you. In the first case, with the TMP3 IP with the Digilent's vivado_library, what is the connection between the PMOD A pins from the Nexyx4 DDR board and the TMP3 pins? The TMP3 doesn't respect the PMOD connector. To be clearer, which pins between JA1, JA2, JA3, JA4, JA7, JA8, JA9, JA10 from the PMOD A connector must I use to connect to SCL and SDA pins of the TMP3 sensor? I'm trying meanwhile the second solution. Cheers. Pat.
  6. Hi all, I've built with the Nexyx4 DDR board a system running Linux. In my running HW design, I've added the onboard temperature sensor of the board and the PMOD A connector to connect a I2C TMP3 temperature sensor. The HW interface for the onboard temperature sensor is the AXI IIC interface. For the TMP3 sensor with the Digilent's vivado library (as explained in: https://reference.digilentinc.com/learn/programmable-logic/tutorials/pmod-ips/start), it's the AXI LITE IIC interface. With the Linux I2C tools, I see the onboard sensor: nexys4ddr:/# uname -r 4.14.0-00493-gb6