This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NFC Embedded Linux Development

Other Parts Discussed in Thread: TRF7970A

Hello E2E community,

We have released a reference design for Embedded Linux supporting the neard NFC stack. The "Build Instructions for neard (Linux NFC) for AM335x + TRF7970A" application note provides all the steps required to run NFC Linux demo. The existing project supports Reader / Writer (Tag Types 2, 3, 4A/B and 5) and Peer to Peer (Target & Initiator) modes. The hardware required for the demo is the AM335x (Cortex-A8) based BeagleBone white, the BeagleBone RF Cape and the TRF7970ATB.

For more information please visit  http://www.ti.com/lit/sloa210.

Please let us know if you have any questions / recommendations.

Best regards,

Erick M.

  • Hi All

    I have integrated TRF7970A with the neard NFC stack and the TRF7970A driver on a non TI processor. I am able to read/write

    type V tags.Will test with the other tags and let u all know

    Regards
    Deep Ter
  • Hi, Erick,

    I am using a AM335x based module(http://phytec.com/products/system-on-modules/phycore/am335x/). 

    ).

    I do not use Linux SDK from TI.

    I want to add the driver for TRF7970A.

    how can I use the "Build Instructions for neard (Linux NFC) for AM335x +TRF7970A" application note?

    Can you give me some ideas about this? 

     

     

    Thank you

     

    Fei

     

     

  • Fei,

    What kernel and rootfs are you using?

    I haven't tried the very latest kernel but it should be pretty close to working. The key thing is that you need to get your .config and dts files correct. The document Erick pointed you to above will help a lot with this.


    Below is the dts file that I use.  Note that the EM1 stuff should be removed since I use the EM2 connectors.


    am335x-bone.dts.txt
    /*
     * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    /dts-v1/;
    
    #include "am33xx.dtsi"
    #include "am335x-bone-common.dtsi"
    
    / {
    	model = "TI AM335x BeagleBone";
    	compatible = "ti,am335x-bone", "ti,am33xx";
    };
    
    &ldo3_reg {
    	regulator-min-microvolt = <1800000>;
    	regulator-max-microvolt = <3300000>;
    	regulator-always-on;
    };
    
    &mmc1 {
    	vmmc-supply = <&ldo3_reg>;
    };
    
    &sham {
    	status = "okay";
    };
    
    &aes {
    	status = "okay";
    };
    
    &am33xx_pinmux {
    	trf7970a_default: trf7970a_pins {
    		pinctrl-single,pins = <
    			/* GPIOs for EM1 Connector on RF Cape (over enet) */
    			/* gpio1_30 (SS Enable (EM1_SPI_ENA on RF Cape)) */
    			0x80 (PIN_OUTPUT_PULLUP | MUX_MODE7)
    			/* gpio2_2 (EN) */
    			0x90 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)
    			/* gpio2_5 (EN2) */
    			0x9c (PIN_OUTPUT_PULLDOWN | MUX_MODE7)
    			/* gpio2_14 (IRQ) */
    			0xc0 (PIN_INPUT		  | MUX_MODE7)
    
    			/* GPIOs for EM2 Connector on RF Cape (over USB) */
    			/* gpio1_5 (SS Enable (EM2_SPI_ENA on RF Cape)) */
    			0x14 (PIN_OUTPUT_PULLUP | MUX_MODE7)
    			/* gpio2_3 (EN) */
    			0x94 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)
    			/* gpio2_4 (EN2) */
    			0x98 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)
    			/* gpio0_31 (IRQ) */
    			0x74 (PIN_INPUT           | MUX_MODE7)
    
    			/* SPI lines are made common on the RF Cape */
    			0x190 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* spi1_sclk */
    			0x194 (PIN_INPUT_PULLUP   | MUX_MODE3) /* spi1_miso */
    			0x198 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* spi1_mosi */
    			0x19c (PIN_INPUT_PULLUP   | MUX_MODE3) /* spi1_cs0 */
    		>;
    	};
    };
    
    &spi1 {
    	status = "okay";
    
    	trf7970a@0 {
    		compatible = "ti,trf7970a";
    		reg = <0>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&trf7970a_default>;
    		spi-max-frequency = <2000000>;
    
    		/* EM1 RF Cape Connector (over enet) */
    		/*
    		interrupt-parent = <&gpio2>;
    		interrupts = <14 0>;
    		ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>,
    				<&gpio2 5 GPIO_ACTIVE_LOW>;
    		*/
    
    		/* EM2 RF Cape Connector (over USB) */
    		interrupt-parent = <&gpio0>;
    		interrupts = <31 0>;
    		ti,enable-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>,
    				<&gpio2 4 GPIO_ACTIVE_LOW>;
    
    		vin-supply = <&ldo3_reg>;
    		vin-voltage-override = <5000000>;
    		irq-status-read-quirk;
    		en2-rf-quirk;
    		status = "okay";
    	};
    };
    

  • I had to add a .txt suffix to upload the text file.