Updated SAMA5D3x-EK README file
This commit is contained in:
parent
572dec84ae
commit
a544acfce4
@ -81,9 +81,10 @@ Contents
|
||||
- SAMA5 ADC Support
|
||||
- SAMA5 PWM Support
|
||||
- OV2640 Camera Interface
|
||||
- WM8904 Audio Codec Interface
|
||||
- I2S Audio Support
|
||||
- SAMA5D3x-EK Configuration Options
|
||||
- Configurations
|
||||
- To-Do List
|
||||
|
||||
Development Environment
|
||||
=======================
|
||||
@ -978,11 +979,16 @@ OV2640 Camera Interface
|
||||
PC26 C ISI_D11 29 ISI_D11
|
||||
30 GND
|
||||
|
||||
WM8904 Audio Codec Interface
|
||||
============================
|
||||
I2S Audio Support
|
||||
=================
|
||||
|
||||
Connectivity
|
||||
------------
|
||||
The SAMA5D3x-EK has two devices on-board that can be used for verification
|
||||
of I2S functionaly: HDMI and a WM8904 audio CODEC. As of this writing,
|
||||
the I2S driver is present, but there are not drivers for either the HDMI
|
||||
or the WM8904.
|
||||
|
||||
WM8904 Audio CODEC Interface
|
||||
----------------------------
|
||||
|
||||
------------- ---------------- -----------------
|
||||
WM8904 SAMA5D3 NuttX Pin Name
|
||||
@ -999,11 +1005,66 @@ WM8904 Audio Codec Interface
|
||||
1 IRQ/GPIO1 PD16 INT_AUDIO N/A
|
||||
------------- ---------------- -----------------
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
I2S Loopback Test
|
||||
-----------------
|
||||
|
||||
nxplayer
|
||||
--------
|
||||
The I2S driver was verified using a special I2C character driver (at
|
||||
nuttx/drivers/audio/i2schar.c) and a test driver at apps/examples/i2schar.
|
||||
The I2S driver was verified in loopback mode with no audio device.
|
||||
|
||||
[NOTE: The above statement is anticipatory: As of this writing I2S driver
|
||||
verification is underway and still not complete].
|
||||
|
||||
This section describes the modifications to the NSH configuration that were
|
||||
used to perform the I2S testing:
|
||||
|
||||
System Type -> SAMA5 Peripheral Support
|
||||
CONFIG_SAMA5_SSCO=y : Enable SSC0 driver support
|
||||
CONFIG_SAMA5_DMAC0=y : DMAC0 required by SSC0
|
||||
|
||||
Alternatively, SSC1 could have be used:
|
||||
|
||||
System Type -> SAMA5 Peripheral Support
|
||||
CONFIG_SAMA5_SSC1=y : Enable SSC0 driver support
|
||||
CONFIG_SAMA5_DMAC1=y : DMAC0 required by SSC0
|
||||
|
||||
System Type -> SSC Configuration
|
||||
CONFIG_SAMA5_SSC_MAXINFLIGHT=16 : Up to 16 pending DMA transfers
|
||||
CONFIG_SAMA5_SSC0_MASTER=y : Master mode
|
||||
CONFIG_SAMA5_SSC0_DATALEN=16 : 16-bit data
|
||||
CONFIG_SAMA5_SSC0_RX=y : Support a receiver
|
||||
CONFIG_SAMA5_SSC0_RX_RKINPUT=y : Receiver gets clock from RK input
|
||||
CONFIG_SAMA5_SSC0_TX=y : Support a transmitter
|
||||
CONFIG_SAMA5_SSC0_TX_MCKDIV=y : Transmitter gets clock from MCK/2
|
||||
CONFIG_SAMA5_SSC0_MCKDIV_SAMPLERATE=48000 : Sampling at 48K samples/sec
|
||||
CONFIG_SAMA5_SSC0_TX_TKOUTPUT_CONT=y : Outputs clock on TK
|
||||
CONFIG_SAMA5_SSC0_LOOPBACK=y : Loopmode mode connects RD/TD and RK/TK
|
||||
|
||||
Audio
|
||||
CONFIG_AUDIO=y : Audio support needed
|
||||
: Defaults should be okay
|
||||
|
||||
Drivers -> Audio
|
||||
CONFIG_I2S=y : General I2S support
|
||||
CONFIG_AUDIO_DEVICES=y : Audio device support
|
||||
CONFIG_AUDIO_I2SCHAR=y : Build I2S character driver
|
||||
|
||||
The following describes how I have the test application at
|
||||
apps/examples/i2schar configured:
|
||||
|
||||
CONFIG_EXAMPLES_I2SCHAR=y
|
||||
CONFIG_EXAMPLES_I2SCHAR_DEVPATH="/dev/i2schar0"
|
||||
CONFIG_EXAMPLES_I2SCHAR_TX=y
|
||||
CONFIG_EXAMPLES_I2SCHAR_TXBUFFERS=4
|
||||
CONFIG_EXAMPLES_I2SCHAR_TXSTACKSIZE=1536
|
||||
CONFIG_EXAMPLES_I2SCHAR_RX=y
|
||||
CONFIG_EXAMPLES_I2SCHAR_RXBUFFERS=4
|
||||
CONFIG_EXAMPLES_I2SCHAR_RXSTACKSIZE=1536
|
||||
CONFIG_EXAMPLES_I2SCHAR_BUFSIZE=256
|
||||
CONFIG_EXAMPLES_I2SCHAR_DEVINIT=y
|
||||
|
||||
Library Routines
|
||||
CONFIG_SCHED_WORKQUEUE=y : Driver needs work queue support
|
||||
|
||||
SAMA5D3x-EK Configuration Options
|
||||
=================================
|
||||
@ -2848,3 +2909,55 @@ Configurations
|
||||
2013-7-31: Using delay loop calibration from the hello configuration.
|
||||
That configuration runs out of internal SRAM and, as a result, this
|
||||
configuration needs to be recalibrated.
|
||||
|
||||
To-Do List
|
||||
==========
|
||||
|
||||
1) Currently the SAMA5Dx is running at 396MHz in these configurations. This
|
||||
is because the timing for the PLLs, NOR FLASH, and SDRAM came from the
|
||||
Atmel NoOS sample code which runs at that rate. The SAMA5Dx is capable
|
||||
of running at 528MHz, however. The setup for that configuration exists
|
||||
in the Bareboard assembly language setup and should be incorporated.
|
||||
|
||||
2) Currently, these configurations keep all .bss and .data in internal SRAM.
|
||||
The SDRAM is available for heap, but not for static data. This is
|
||||
because the SDRAM does not get configured until after the system has
|
||||
booted; until after .bss and .data have been initialized. To change
|
||||
this, the solution would be to port the Bareboard assembly language
|
||||
setup into the NuttX assembly language startup and execute it BEFORE
|
||||
initializing .bss and .data.
|
||||
|
||||
3) Neither USB OHCI nor EHCI support Isochronous endpoints. Interrupt
|
||||
endpoint support in the EHCI driver is untested.
|
||||
|
||||
4) HSCMI TX DMA support is currently commented out.
|
||||
|
||||
5) I believe that there is an issue when the internal AT25 FLASH is
|
||||
formatted by NuttX. That format works fine with Linux, but does not
|
||||
appear to work with Windows. Reformatting on Windows can resolve this.
|
||||
NOTE: This is not a SAMA5Dx issue.
|
||||
|
||||
6) CAN testing has not yet been performed due to issues with cabling. I
|
||||
just do not have a good test bed (or sufficient CAN knowledge) for
|
||||
good CAN testing.
|
||||
|
||||
7) The NxWM example does not work well. This example was designed to work
|
||||
with much smaller displays and does not look good or work well with the
|
||||
SAMA5Dx-EKs 800x480 display.
|
||||
|
||||
8) There are lots of LCDC hardware features that are not tested with NuttX.
|
||||
The simple NuttX graphics system does not have support for all of the
|
||||
layers and other features of the LCDC.
|
||||
|
||||
9) I have a Camera, but there is still no ISI driver. I am not sure what to
|
||||
do with the camera. NuttX needs something liek V4L to provide the
|
||||
definition for what a camera driver is supposed to do.
|
||||
|
||||
10) NAND. There is no NAND support. A NAND driver is a complex thing
|
||||
because it must support not only basic NAND access but also bad block
|
||||
detection, sparing and ECC. Lots of work!
|
||||
|
||||
11) GMAC has only been tested on a 10/100Base-T network. I don't have a
|
||||
1000Base-T network to support additional testing.
|
||||
|
||||
12) I2S testing. Underway now.
|
||||
|
Loading…
Reference in New Issue
Block a user