In the latest Arago linux-davinci git kernel, the functions mcasp_start_rx() and mcasp_start_tx() in file
sound/soc/davinci/davinci-mcasp.c write to the GBLCTLR and GBLCTLX registers respectively and then read back from the same registers.
According to the McASP reference guide (sprufm1.pdf), section 2.4.1.4, the readback should be performed on the GBLCTL register. Which is the correct behavior. The audio works on the L137 EVM, but I wonder if that is just because the clocks are fast enough. When I try to use much slower external clocks I get no output.
Richard.