Other Parts Discussed in Thread: OMAP3530
Greetings,
I will be connecting the external GPMC interface of an OMAP4460 to communicate with internal memory in a Xilinx FPGA. We've already done this successfully with an OMAP3530 design. I was wondering if it was possible as a test to configure the OMAP4 GPMC controller to see the GPMC_CLK pin oscillate on the Panda ES board Jumper J6 breakout on pin 23 (gpmc_clk) without anything connected to the board breakout? I know the GPMC_FCLK is not free running. So I wrote a while true loop in a Linux script to continuously read the base memory address on chip select 0 hoping to trigger and capture the clock line on an oscilloscope through PIO mode at the command line . No DMA setup. Just using the devmem2 program to remap a physical to virtual address at the CS0 base and read. But I see nothing on the scope for the clk line.
I have the GPMC_CLK line set up in the u-boot MUX to be feed back as an input. Feed back was needed in omap35xx to sync clock line.
{GPMC_CLK, (IEN | PTD | DIS | M3)}, /* gpio_55 */
I have followed the TRM guidelines for the GPMC NOR set-up in sync mod.
15.4.5 GPMC Basic Programming Model
15.4.5.3 GPMC Configuration in NOR Mode
We use an internal program we wrote here to simplify the reading of omap registers. My GPMC configuration is listed below in the output:
# ./omap4regs -u gpmc:cs0
GPMC Chip Select: 0 Information
GPMC_CONFIG1_0: 0x79001200
Sync. wrapping burst supported? No
Read Access type : Multiple
Read type : Sync
Write Access type : Multiple
Write type : Sync
Output Act. time : 0
Page length : 16 words
Wait pin monitored for read? No
Wait pin monitored for write? No
WAITMONITORINGTIME : 0
Wait input pin : WAIT0
Device Size : 16-bit
Device Type : NOR Flash
Multiplexed A&D dev : Yes
TIMEPARAGRANULARITY : 0
GPMCFCLKDIVIDER : GPMC_FCLK
GPMC_CONFIG2_0: 0x000E0E00
CSWROFFTIME : 14 GPMC_FCLK cycle(s)
CSRDOFFTIME : 14 GPMC_FCLK cycle(s)
CSEXTRADELAY : 0
CSONTIME : 00 GPMC_FCLK cycle(s)
GPMC_CONFIG3_0: 0x00020200
ADVWROFFTIME : 02 GPMC_FCLK cycle(s)
ADVRDOFFTIME : 02 GPMC_FCLK cycle(s)
ADVEXTRADELAY : 0
ADVONTIME : 00 GPMC_FCLK cycle(s)
GPMC_CONFIG4_0: 0x0B040B04
WEOFFTIME : 11 GPMC_FCLK cycle(s)
WEEXTRADELAY : 0
WEONTIME : 04 GPMC_FCLK cycle(s)
OEOFFTIME : 11 GPMC_FCLK cycle(s)
OEEXTRADELAY : 0
OEONTIME : 04 GPMC_FCLK cycle(s)
GPMC_CONFIG5_0: 0x02080E0E
PAGEBURSTACCESSTIME : 02 GPMC_FCLK cycle(s)
RDACCESSTIME : 08 GPMC_FCLK cycle(s)
WRCYCLETIME : 14 GPMC_FCLK cycle(s)
RDCYCLETIME : 14 GPMC_FCLK cycle(s)
GPMC_CONFIG6_0: 0x88030000
WRACCESSTIME : 08 GPMC_FCLK cycle(s)
WRDATAONADMUXBUS : 03 GPMC_FCLK ^edge(s)
CYCLE2CYCLEDELAY : 00 GPMC_FCLK cycle(s)
CYCLE2CYCLESAMECSEN : 0
CYCLE2CYCLEDIFFCSEN : 0
BUSTURNAROUND : 00 GPMC_FCLK cycle(s)
GPMC_CONFIG7_0: 0x00000868
MASKADDRESS : 128 MBytes
CS Enabled? : Yes
BASEADDRESS : 0x28000000
I then contentiously read address 0x28000000 with devmem2 and CLK line does not trigger scope. Any ideas?
Regards,
Ed