We currently use the VS1005 on our own custom board, working as a slave to carry out all of the audio/usb/sd card related functions for our device. Historically, the NFCE/GPIO0_11 pin (26) on our schematic wasn't connected to anything (just pulled high) with the option to mount a resistor that could then be used to control another module that we use.
We made a change to the board that meant this pin is now needed to be used by our software as a general toggle high/low pin, which is when I started observing some issues. I intended to keep this pin low until required by our application, but noticed that it wouldn't persist. In particular, it would go high when loading the SD card or any USB sticks. Currently the code utilises:
Code: Select all
Reading the datasheet, I came across this statement:
Whoops! So I now understand why it might not have been behaving correctly. I admit that the best solution would be to utilise another free pin, which we intend to implement on future boards. However, in the meantime - is there any way of working around this issue, such that the pin can be fully controlled by our application?The VSOS Kernel needs to use the following pins:
•XCS0 (GPIO 1_1, the SPI flash chip select), NFCE (GPIO0_11, the NAND flash chip select) and GPIO1_15 (the LCD display chip select) for various purposes, and the kernel presumes that there is a 74HC138 address decoder connected to these pins so the kernel constantly writes to all three.
Many thanks in advance,