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.

Linux/AM5728: GPMC doesn't work

Part Number: AM5728

Tool/software: Linux

Hi Champs,

<Environment >

*HW

Use AM57x beagle board connect to original board (SPI,GPMC,I2C)

GPMC is not connect to memory. It will use as pararel interface.

*SW

TI linux sdk 05.03.00.07

linux-4.14

am57xx-beagle-x15.dtb

<Phenomenon>

We can't assert CS0. And signal is not working.

GPMC setting value:

We have got this register value 

gpmc cs0 after gpmc_cs_set_timings:
cs0 GPMC_CS_CONFIG1: 0x2c601000
cs0 GPMC_CS_CONFIG2: 0x000e0e03
cs0 GPMC_CS_CONFIG3: 0x00030300
cs0 GPMC_CS_CONFIG4: 0x0e040e04
cs0 GPMC_CS_CONFIG5: 0x000e0e0e
cs0 GPMC_CS_CONFIG6: 0x8e0a0a0a

 Also, I attached dts patch that is contain this change from default dts.

Could you please check if we have some setting mistake ?

Also,  Do you have any reference dts file for Non memory GPMC use case ?

Regards,

Kz777

  • Please attach the DTS configuration. There is no attachment in your post.

  • Hello,

    1. I am wondering if you could please share more information on how you are connecting the GPMC. Please keep in mind that GPMC has to be configured as a host/master device and GPMC cannot be driven by other devices.

    2. Are there any other devices driving the CS or any other pins in your configurations?

    3. In your setup, please share how you are asserting the CS0?

    Regards,
    Krunal

  • 1. I am wondering if you could please share more information on how you are connecting the GPMC. Please keep in mind that GPMC has to be configured as a host/master device and GPMC cannot be driven by other devices.

    2. Are there any other devices driving the CS or any other pins in your configurations?

    -- This is confidential information So, I will share this Pin MUX  and HW connection at via private message.

    3. In your setup, please share how you are asserting the CS0?

    -According to previous .patch file, we defined CS0 base address to temporarily "0x01000000".

    So, when we embedded devmem command in busybox 

     We defined

    # busybox devmem 0x01000000 0x00000000

     If this setting is correct, we can get some data from connected device.

    However, it didn't see any Hardware signal and return "0" address at nearly address. 

  • Hello,

    As discussed internally, please navigate to the file “<kernel_dir>/Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt”. In the file, “gpmc,sync-read/write” enables synchronous read/write and I believe this property is not needed for your system.

    I will be closing the ticket and if you have more questions, please feel free to open the ticket in the future.

    Regards,
    Krunal